基礎 | AWS CLI
主要なリンク。
- https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html インストール方法
- Install and update the AWS CLI version 2 using the macOS user interface 更新
- https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html 設定方法
- https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-where
- https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-profiles.html
定義済み変数
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