본문 바로가기

AWS EKS 실습/EKS 환경 구성

2. 사전 준비 - 4 (IAM Role 할당 및 Cloud9 EC2 적용)

1. Create Role 접속

console.aws.amazon.com/iam/home?#/roles$new?step=type&commonUseCase=EC2%2BEC2&selectedUseCase=EC2&policies=arn:aws:iam::aws:policy%2FAdministratorAccess

 

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"