IAM 역할 생성
인증 및 자격증명 환경을 구성합니다.
1. IAM 역할 만들기
IAM 서비스 대쉬보드 접속 및 역할(Role) 생성을 합니다. AWS 서비스에서 IAM을 선택하고, 역할 만들기
를 선택합니다.

AWS Service 및 EC2가 선택 되었는지 확인한 다음 Next를 클릭하여 권한을 봅니다.
AdministratorAccess가 선택하고 다음 Next를 클릭합니다.
이름 : eksworkshop-admin 라고 입력하고, Create Role을 클릭하여 생성합니다.

2. Cloud9에 IAM 역할 부여하기
AWS 서비스 검색 창에서 EC2를 검색하고 클릭합니다.
Cloud9 인스턴스를 선택하고 Actions > Security > Modify IAM Role 순서대로 메뉴를 선택합니다.

IAM Role 리스트에서 방금 생성한 eksworkshop-admin 을 선택하고 적용합니다.

3. Cloud9에 IAM 설정 수정하기
Cloud9으로 돌아가서 우측상단의 setting(톱니바퀴 버튼)을 클릭하거나 새 탭을 실행하여 환경설정 탭을 엽니다.
AWS SETTINGS을 선택합니다.
Credentials > AWS managed temporary credentials 설정을 Off 한 후 환경설정 탭을 닫습니다. (우측상단의 setting 버튼 클릭)

임시 자격 증명이 없는지 확실히 하기 위해 기존의 자격 증명 파일도 제거합니다.
rm -vf ${HOME}/.aws/credentials
현재 리전을 기준으로 aws-cli
를 구성해야 합니다 :
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))
AWS_REGION이 원하는 지역으로 설정되어 있는지 확인 합니다. (서울은 ap-northeast-2 입니다.)
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
4. IAM 역할 확인
GetCallerIdentity CLI 명령을 사용하여 Cloud9 IDE가 올바른 IAM 역할을 사용하는지 확인합니다.
먼저 AWS CLI에서 IAM 역할 이름을 가져옵니다.
aws sts get-caller-identity --query Arn | grep eksworkshop-admin -q && echo "IAM role valid" || echo "IAM role NOT valid"
IAM role valid
가 출력됩니다.
다음 명령어를 수행하여 Role을 확인합니다.
aws sts get-caller-identity
Arn 의 역할 이름과 인스턴스 ID를 포함하는 경우에만 실습을 계속 진행할 수 있습니다.

Arn 이 TeamRole
, MasterRole
을 포함하거나 역할 이름과 일치하지 않으면 더 이상 진행하지 마시고, 처음으로 돌아가 다시 수행합니다.
Last updated
Was this helpful?