2. 사전 준비 - 4 (IAM Role 할당 및 Cloud9 EC2 적용)
1. Create Role 접속
https://console.aws.amazon.com/iam/home?#/roles$new?step=type&commonUseCase=EC2%2BEC2&selectedUseCase=EC2&policies=arn:aws:iam::aws:policy%2FAdministratorAccess
console.aws.amazon.com
2. AWS Service와 EC2 선택
3. AdministratorAccess 체크
4. Create Role 설정
ㅁ Role Name: eksnewelite-admin
5. Cloud9 EC2 Instance 권한 설정을 위한 선택
6. Cloud9 EC2의 IAM Role Modify
ㅇ Action > Security > Modify IAM Role
7. 위에서 만들어 놓은 IAM Role 할당 (eksnewelite-admin)
8. Cloud9 Preference 설정
ㅇ AWS Setting (AWS managed temporary credentials Turn Off)
ㅇ 기존 Credential이 있다면 제거
rm -vf ${HOME}/.aws/credentials
ㅇ 현재 Account ID, Region, AZ를 Export
export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account)
export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
export AZS=($(aws ec2 describe-availability-zones --query 'AvailabilityZones[].ZoneName' --output text --region $AWS_REGION))
ㅇ 변수에 정상적으로 Export ehldjTsmswl cpzm
test -n "$AWS_REGION" && echo AWS_REGION is "$AWS_REGION" || echo AWS_REGION is not set
아래 이미지처럼 답이 나와야 함
ㅇ bash_profile로 저장
echo "export ACCOUNT_ID=${ACCOUNT_ID}" | tee -a ~/.bash_profile
echo "export AWS_REGION=${AWS_REGION}" | tee -a ~/.bash_profile
echo "export AZS=(${AZS[@]})" | tee -a ~/.bash_profile
aws configure set default.region ${AWS_REGION}
aws configure get default.region
ㅇ IAM Role에 대한 Validation check
-> get-caller-identity CLI를 사용하여 위에서 만든 Role이 정상적으로 적용 되었는지 체크한다.
aws sts get-caller-identity --query Arn | grep eksworkshop-admin -q && echo "IAM role valid" || echo "IAM role NOT valid"