메뉴

문서정보

목차

AWS CLI

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

AWS CLI 인스톨

인스톨 환경은 아래와 같다. 보통 pip로 인스톨 하는 것 같은데, 그냥 apt-get으로 인스톨했다.
# apt-get install awscli

AWS CLI 사용자 설정

AWS CLI를 이용하려면 AWS 계정 정보가 필요하다. 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 help

Could not find executable named "groff"
뭔가 잘못됐다. groff를 실행 할 수 없단다. 이 패키지를 설치하자.
# apt-get install -y groff
이제 help를 사용 할 수 있다.
# aws s3 help
S3()                                                                      S3()

NAME
       s3 -
DESCRIPTION
       This  section  explains  prominent concepts and notations in the set of
       high-level S3 commands provided.

   Path Argument Type
       Whenever using a command, at least one path argument must be specified.
       There are two types of path arguments: LocalPath and S3Uri.

       LocalPath: represents the path of a local file or directory.  It can be
......

AVAILABLE COMMANDS
       o cp
       o ls
       o mb
       o mv
       o presign
       o rb
       o rm
       o sync
       o website

두 개 이상의 계정 사용

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

[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
리전도 따로 설정 할 수 있다.
# 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