#
ドキュメント

Document

自分のための備忘録です。

AWS CLI

Ref.

主要なリンク。

定義済み変数

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

オプションの優先順位

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

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

AWS CLIの環境変数

例1 AWS_PROFILE

使用する認証情報およびオプションと共に 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 linit

プロファイル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情報取得

$ cloudformation describe-stacks \
  --stack-name {{stack-name}}

AWS Copilotを補完

Zshを前提します。

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

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

.zshrcに補完スクリプトのパスを設定します。

fpath=(~/.zgen/zsh-users/zsh-completions-master $fpath)

覚えておきたいコマンド

$ aws configure list-profiles

Session Manager プラグイン

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

$ aws cloudfront get-distribution --id {{ディストリビューションID}} --output=yaml