1.사전준비
Step1. Client 환경 구성
이 섹션에서는 VPC Lattice 서비스를 호출하기 위해 클라이언트 인스턴스에서 환경을 준비합니다. 또한 아래 단계에 따라 프로그래밍 프로세스를 시뮬레이션하기 위해 AWS SigV4를 사용하여 http 요청에 서명하는 Python 프로그램을 다운로드합니다.
Cloud9 콘솔의 새로운 터미널에서 아래와 같이 실행해서, InstanceClient1으로 접속해서 아래 패키지를 설치합니다.
aws ssm start-session --target $InstanceClient1
cd /home/ssm-user/
sudo yum -y install git
git clone https://github.com/whchoi98/lattice_sigv4_sample.git
#wget https://d3fh841oeihish.cloudfront.net/signSigV4.py
pip3 install botocore
pip3 install requests
sudo yum -y install jq
echo "export InstanceClient1_IAM_ARN=$(aws sts get-caller-identity | jq -r '.Arn')" | tee -a ~/.bash_profile
Cloud9 콘솔의 새로운 터미널에서 아래와 같이 실행해서, InstanceClient2으로 접속해서 아래 패키지를 설치합니다.
aws ssm start-session --target $InstanceClient2
cd /home/ssm-user/
sudo yum -y install git
git clone https://github.com/whchoi98/lattice_sigv4_sample.git
wget https://d3fh841oeihish.cloudfront.net/signSigV4.py
pip3 install botocore
pip3 install requests
sudo yum -y install jq
echo "export InstanceClient2_IAM_ARN=$(aws sts get-caller-identity | jq -r '.Arn')" | tee -a ~/.bash_profile
LatticeWorkshop InstanceClient1 및 nstanceClient2에서 다음 명령을 실행하여 IAM 역할을 가져옵니다.
aws sts get-caller-identity
"aws sts get-caller-identity" 명령은 다음 단계에서 사용할 EC2 인스턴스의 역할에 대한 IAM의 ARN을 제공합니다. 원하는 텍스트 편집기에 ARN을 저장해 둡니다.아래 스크린샷에서 파란색으로 강조 표시된 문자열을 참조합니다.
IAM Role: 복사된 ARN에서 클라이언트 인스턴스의 IAM Role을 식별하고 저장해 둡니다.
이는 "assumed-role/"과 "/i-" 사이의 문자열입니다. 아래 스크린샷에서 파란색으로 강조 표시된 문자열을 참조하세요.
아래와 같이 인스턴스에 할당된 IAM Role에 대한 값을, InstanceClient에 저장해 둡니다.
#LatticeWorkshop InstanceClient 자격증명 설정
echo "export InstanceClient_IAM_ROLE=$(aws sts get-caller-identity | jq -r '.Arn' | awk -F'/' '{print $2}' | awk -F'/' '{print $1}')" | tee -a ~/.bash_profile
source ~/.bash_profile
LatticeWorkshop InstanceClient1 와 LatticeWorkshop InstanceClient2에 자격 증명을 설정을 위해 아래 명령을 실행합니다.
AWS_SESSION_TOKEN=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/${InstanceClient_IAM_ROLE} | jq -r '.Token')
AWS_ACCESS_KEY_ID=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/${InstanceClient_IAM_ROLE} | jq -r '.AccessKeyId')
AWS_SECRET_ACCESS_KEY=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/${InstanceClient_IAM_ROLE} | jq -r '.SecretAccessKey')
Step2. Service Domain,ARN 확인
"VPC Lattice" - "Service" 를 선택해서, "reservation, "parking" service의 Service ARN과 DNS Name을 저장해 둡니다. (DNS Name은 앞서 테스트 단계에서 변수에 저장해 두었습니다.)
Last updated