AWS CLI 가이드
aws cli 를 설치하여 정상 작동하는지 확인을 한다.
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-install.html
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-configure.html
추천
여러 개의 AWS account를 이용하는 경우 named profile 을 이용하여 CLI 설정을 한다.
여러 개의 AWS account를 이용하는 경우 direnv 이용하여 디렉토리별로 AWS named profile을 사용할 수 있다.
AWS CLI 사용을 할 때에도 MFA 를 이용할 수 있지만 설정이 필요함. 실서비스에서 사용시에는 보안을 위해서 AWS CLI도 MFA와 연동을 해야 함.
aws key를 AWS_PROFILE 형태로 관리를 하면 한곳에서 AWS key를 관리할 수 있는 이점이 있고 사용시에도 편리하다.
$ cat ~/.aws/config
[default]
region=ap-northeast-2
output=text
…..
[profile gw-dev]
region=ap-northeast-2
$ cat ~/.aws/credentials
…..
[gw-dev]
aws_access_key_id = xxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxx
$ cat gw-dev/.envrc
export AWS_PROFILE=gw-dev
direnv 에서도 간단하게 사용할 AWS_PROFILE을 설정할 수 있다. .envrc 를 git에 올라가지 않도록 설정할 수 있기는 하지만 실수하면 올라갈 수 있는 위험이 있는데 AWS_PROFILE 형태로 하면 key가 노출될 위험이 줄어든다.
direnv 설치 및 설정 : 각 디렉토리별 환경변수 설정을 다르게 할 수 있어 편리함.
direnv를 사용한 디렉토리(프로젝트) 별 개발환경 구축: 루비, 파이썬, 노드 개발 환경 구축
$ touch ~/.gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
$ echo '.envrc' > ~/.gitignore_global
$ echo '.direnv' >> ~/.gitignore_global
명령 완성 기능을 사용하면 편리함. 쉘에 따라서 아래 내용 참고해서 설정을 한다.
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-completion.html
bash
– 기본 제공 명령인 complete
를 사용합니다.
$ complete -C '/usr/local/bin/aws_completer' aws
~/.bashrc
에 이전 명령을 추가하여 새 셸을 열 때마다 실행되도록 합니다.