プレイヤーズ・ハイ

 雑多な日記

【小ネタ】AWS CLI とか SDK とかで使える AWS 関連の環境変数

まとめ

項目 AWS 環境変数 AWS 設定ファイル変数 オプション
アクセスキー ID AWS_ACCESS_KEY_ID aws_access_key_id -
シークレットアクセスキー AWS_SECRET_ACCESS_KEY aws_secret_access_key -
セッショントークン AWS_SESSION_TOKEN aws_session_token -
セキュリティートークン AWS_SECURITY_TOKEN aws_security_token -
プロファイル AWS_DEFAULT_PROFILE profile --profile
リージョン AWS_DEFAULT_REGION region --region
出力形式 AWS_DEFAULT_OUTPUT output --output
設定ファイル AWS_CONFIG_FILE - -
共用クレデンシャル AWS_SHARED_CREDENTIALS_FILE - -
  • AWS セッショントークンは,期限付き認証のときに,~/.aws/config or ~/.aws/credentials ファイルに書く
  • AWS_CONFIG_FILE は,デフォルトの ~/.aws/config のパスを変更
  • AWS_SHARED_CREDENTIALS_FILE は,デフォルトの ~/.aws/credentials のパスを変更

つよさ

  • 設定ファイル変数 < 環境変数 < オプション

ちなみにどの IAM 権限が使われるかですが,EC2 インスタンスプロファイルが設定された Linux なり Windows なりでは,EC2 インスタンスプロファイルの IAM 権限がまず使われ,--profile で特定のプロファイル (~/.aws/credentials に設定したプロファイル) を使うこともできます.

おまけ AWS CLI コマンド補完機能の設定

bash

  • 設定
$ complete -C aws_completer aws
  • 確認
$ complete -p
  • 常態化
echo 'complete -C aws_completer aws' >> ~/.bash_profile

zsh

$ which aws
/usr/local/bin/aws
$ source /usr/local/bin/aws_zsh_completer.sh

以上