主要なリンク。

定義済み変数

AWS CLIを実行する際にenvコマンドで実行時の環境変数を指定することができます。

オプションの優先順位

  • このトピックで示されている環境変数のいずれかを使用してオプションを指定した場合、設定ファイルのプロファイルからロードされた値は上書きされます。
  • AWS CLI コマンドラインでパラメータを使用してオプションを指定した場合、対応する環境変数、または設定ファイルのプロファイルからの値が上書きされます。

    https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-envvars.html#envvars-list

AWS CLI の環境変数

AWS CLI でサポートされている環境変数 を参照してください。

例1 AWS_PROFILE

[!NOTE] AWS CLI 認証情報は 設定ファイル(認証情報) を参照してください。

使用する認証情報およびオプションと共に AWS CLI プロファイルの名前を指定します。これは、credentials ファイルまたは config ファイルに保存されているプロファイルの名前、または、デフォルトプロファイルを使用する場合は値 default となります。

この環境変数を指定した場合、設定ファイルの [default] という名前のプロファイルを使用する動作は上書きされます。この環境変数は、–profile コマンドラインパラメータを使用して上書きできます。

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-envvars.html

ユースケース

copilot app initなどは--profileオプションがありません。
環境変数 AWS_PROFILE を使用してプロファイルを指定できます。

env AWS_PROFILE=foo copilot app init

プロファイルfooが使用されます。

設定確認

$ aws configure list

ファイル

  • 設定ディレクトリ: ~/.aws
  • 設定ファイル
    • ~/.aws/config
    • ~/.aws/credentials

config

[default]
region = ap-northeast-1
output = json

credentials

[default]
aws_access_key_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

stack情報取得

$ aws cloudformation describe-stacks \
  --stack-name 

AWS Copilot CLIを補完

[!NOTE] copilot は AWS CLI(aws コマンド)本体ではなく、ECS/App Runner 等のデプロイを支援する別ツール「AWS Copilot CLI」です。AWS CLI 自体のタブ補完を有効にしたい場合は、complete -C aws_completer aws を .zshrc/.bashrc に追加してください(コマンド補完の有効化)。

Zshを前提します。

シェルで以下を実行します。 補完定義ファイルが作成されます。

$ source <(copilot completion zsh)
$ copilot completion zsh > "${fpath[1]}/_copilot" # to autoload on startup

上記コマンドは既に fpath に含まれるディレクトリ(${fpath[1]})に補完定義ファイルを保存しているため、.zshrc 側で追加の fpath 設定は不要です。もし別のディレクトリに保存した場合は、そのディレクトリを .zshrc の fpath に追加してください。

fpath=(~/任意の保存先ディレクトリ $fpath)

覚えておきたいコマンド

$ aws configure list-profiles

Session Manager プラグイン

(オプション) AWS CLI 用の Session Manager プラグインをインストールする

例

$ aws cloudfront get-distribution --id  --output=yaml