본문 바로가기

Other Service

[실습] AWS CLI 설치 및 CLI 로그인 방법 알아보기

반응형

안녕하세요 서후아빠입니다. ^_^

AWS 작업 중 심심치 않게 AWS CLI 접속을 해야 하는 상황이 발생되는데요

이번 세션은 AWS CLI를 설치하고 로그인하는 방법에 대해서 알아보도록 하겠습니다.


1단계 : AWS CLI 설치

# 인터넷이 되는 작업 PC or EC2에서 꼭 user권한으로 진행하시기 바랍니다.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip 
sudo ./aws/install

2단계 : IAM 사용자 (신규 생성하는 경우)

IAM > Users > Add users 

구분 Set user details Set permissions
내용 User name : test01
Select AWS access type : Access key - Programmatic access
Set permissions : Attach existing policies directly
Policy name : AdministratorAccess

IAM 사용자 생성 최종단계에서 Access Key ID와 Secret access key를 확인 및 저장

IAM Permission(권한)은 사용자에게 할당해도 되고, 사용자 그룹에 할당한 후, 사용자는 그룹의 권한을 상속받게 해도 됩니다.
중요한 것은 만약 test01처럼 사용자 권한이 최고레벨(AdministratorAccess)일 경우 보안을 위해 꼭 MFA 설정을 하는 것을 권고합니다.

다운받은(Ddownload.csv) 파일의 내용은 유출이 되지 않도록 철저히 관리하시기 바랍니다. 더불어 분실 시 재발급이 되지 않기 때문에 관리 주의가 필요합니다.

2단계 : IAM 사용자 (기존 사용자 이용하는 경우)

IAM > Users > test01 > Security credentials (tab) > Create access key 

기존 사용중인 IAM 사용자를 이용하여 ACCESS Key 생성

다운받은(Ddownload.csv) 파일의 내용은 유출이 되지 않도록 철저히 관리하시기 바랍니다. 더불어 분실 시 재발급이 되지 않기 때문에 관리 주의가 필요합니다.

3단계 : AWS CLI 로그인 

# 로그인 (user 권한으로 진행)
aws configure
AWS Access Key ID [None]: AKIA2YHSTM5ZYZFETYOR
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-2
Default output format [None]: json

# 로그인 파일 목록
ls ~/.aws/
config	credentials

# 리전 정보 확인
cat ~/.aws/config
[default]
region = ap-northeast-2

# 로그인 정보 확인
cat ~/.aws/credentials
[default]
aws_access_key_id = AKIA2YHSTM5ZYZFETYOR
aws_secret_access_key = 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

# 로그인된 AWS계정, 사용자 ID 확인
aws sts get-caller-identity
{
    "UserId": "AKIA2YHSTM5ZYZFETYOR",
    "Account": "111111111111",
    "Arn": "arn:aws:iam::111111111111:user/test01"
}
만약 test01이 MFA 설정된 경우는 MFA 인증까지 되어야만 AWS CLI가 로그인됩니다. 
때문에 access key ID와 secret access key를 제대로 입력했음에도 AWS CLI가 로그인이 되지 않는다면 IAM > Users > test01 > Permissions (tab)으로 이동하여 MFA을 하도록 되어 있는 권한이 있는지 검토하시기 바랍니다.

만약 2개 이상의 계정을 로그인이 필요할 경우는 아래 예시를 참조하시기 바랍니다. 
# A계정 등록(Default 계정)
aws configure
AWS Access Key ID [None]: A계정
AWS Secret Access Key [None]: A계정
Default region name [None]: 리전명
Default output format [None]: 포맷명

# B계정 등록(ex : dev 계정)
aws configure —-profile "dev"
AWS Access Key ID [None]: B계정
AWS Secret Access Key [None]: B계정
Default region name [None]: 리전명
Default output format [None]: 포맷명

# 등록 결과 확인 
cat ~/.aws/credentials
[default]
aws_access_key_id = A계정
aws_secret_access_key = A계정
[dev]
aws_access_key_id = B계정
aws_secret_access_key = B계정

# A계정 사용 방법 (--profile default 가 생략됨)
aws s3 ls

# B계정 사용 방법
aws s3 ls --profile "dev"

# Default 계정 변경
export AWS_DEFAULT_PROFILE="dev"

 

반응형