AWS CLI 入門

インストール

pip install awscli
pip install --upgrade awscli

コマンド補完を有効にする

bashの場合

complete -C aws_completer aws

zshの場合

source /usr/local/bin/aws_zsh_completer.sh

.zshrcに書いとくとべんり

[[ -s /usr/local/bin/aws_zsh_completer.sh ]] && source /usr/local/bin/aws_zsh_completer.sh

AWS credentialsの設定

次のどれか

コマンドで

  • aws configure
  • 設定するとファイルが2つできる
    • ~/.aws/config/config
    • ~/.aws/config/credentials
aws configure
AWS Access Key ID [None]: hoge
AWS Secret Access Key [None]: fuga
Default region name [None]: ap-northeast-1
Default output format [None]: json

環境変数

export AWS_ACCESS_KEY_ID=<access_key>
export AWS_SECRET_ACCESS_KEY=<secret_key>

設定ファイルで

  • ~/.aws/configに書く
  • 設定ファイルに各方法だと複数のプロファイルを使い分けできて便利
    • [profile hogehoge]
    • 使うときに --profile=hogehoge 指定
[default]
aws_access_key_id=<default access key>
aws_secret_access_key=<default secret key>
# Optional, to define default region for this profile.
region=us-west-1

[profile testing]
aws_access_key_id=<testing access key>
aws_secret_access_key=<testing secret key>
region=us-west-2
$ export AWS_DEFAULT_PROFILE=testing

基本

ユーザの一覧を取得してみる

aws iam list-users

ドキュメント

http://docs.aws.amazon.com/cli/latest/index.html

引数のパラメータ指定のやり方いろいろ

  • 文字列
    • --ip-permissions '{"FromPort":22,"ToPort":22,"IpProtocol":"tcp","IpRanges":[{"CidrIp": "0.0.0.0/0"}]}'
  • ファイル
    • --ip-permissions file://ip_perms.json
  • URI
    • --ip-permissions http://mybucket.s3.amazonaws.com/ip_perms.json

戻り値のJSONから値を抽出

aws iam list-users --query="Users[].UserName"