Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

AWS CLI

AWS 웹 콘솔로 대부분의 일들을 할 수 있기는 하다. 문제는 AWS의 잠재력 중 90%를 날려먹는 다는 거.

AWS CLI 인스톨

인스톨 환경은 아래와 같다.
  • 우분투 리눅스 19.10
  • python 2.7.16
pip로 설치하기
$ sudo pip install awscli
$ aws --version
aws-cli/1.16.309 Python/2.7.16 Linux/5.0.0-37-generic botocore/1.13.45

우분투 리눅스라면 apt-get으로 인스톨할 수도 있다.
# apt-get install awscli
이 문서는 pip 버전 awscli를 기준으로 한다.

aws 명령을 내려보자.
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
awscli는 AWS API를 이용해서 AWS Resource에 접근하는 툴이다. Account 권한 설정이 필요하다. 아직은 Account 설정을 하지 않았기 때문에 에러가 떨어진다.

AWS IAM 설정

AWS API를 호출하기 위해서는 AWS Access KeyAWS Secret Access Key를 발급받아야 한다. AWS Web Console의 IAM 서비스를 이용해서 발급다을 수 있다.

 Access Key 생성

Create Access Key를 클릭해서 key 파일을 다운로드 할 수 있다. key 파일의 내용으로 설정마일을 만들면 된다.

AWS CLI 사용자 설정

key파일을 다운로드했다면 aws configure 명령으로 계정을 설정한다.
root@78f700e1ed08:~# aws configure
AWS Access Key ID [None]: YourAccessKeyID 
AWS Secret Access Key [None]: YourSecretAccessKey 
Default region name [None]: ap-northeast-2
Default output format [None]:  
설정을 끝내고 나면 "$HOME/.aws"밑에 config, crdentials 파일이 만들어진다. config에는 region name이 credentials 파일에는 Access Key와 Secret Access Key가 저장된다. 이들 정보를 이용해서 명령 실행 권한을 얻을 수 있다.

aws cli는 command와 subcommand로 구성된다.
# aws
  aws help
  aws <command> help
  aws <command> <subcommand> help
help 명령을 실행해보자.
$  aws s3 ls
2019-09-02 23:02:15 www.joinc.co.kr
AWS 리소스에 접근 하는 걸 확인 할 수 있다.

두 개 이상의 계정 사용

DEV, QA, Staging, Service 계정을 따로 만들어서 관리하는 경우가 많다. 한명의 유저가 두 개 이상의 계정을 사용해야 하는 경우 --profile 을 이용해서 사용 계정을 특정 할 수 있다.
# cat ~/.aws/credentials
[default]
aws_access_key_id=AKxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key=wJaxxxxxxxxxxxxxxxxxxxxx

[user2]
aws_access_key_id=AKxxxxxxxxxxxxxxxxx
aws_secret_access_key=je7xxxxxxxxxxxxxxxxxxxxxxxxxx
리전도 따로 설정 할 수 있다.
# cat ~/.aws/config
[default]
region=us-west-2
output=json

[profile user2]
region=us-east-1
output=text
아래와 같이 aws cli를 사용하면 된다.
# aws s3 --profile user2 ls

aws-shell

awscli는 엄청난 수의 명령을 제공한다. 메뉴얼을 보면서 사용하는게 보통 일이 아니다. 명령자동완성을 지원하는 aws-shell이라는 툴이 있으니 사용해보도록 하자.