fish function: AWSのプロファイルを切り換える
AWSのクレデンシャルをパッと切り換えたい時がある。
色々やり方あると思うけど、プロファイルを切り換えるfunctionを使うのがシックリ来た。
クレデンシャル情報は下記。
~/.aws/config
[profile default] output = json region = ap-northeast-1 [profile private] output = json region = ap-northeast-1 [profile work] output = json region = us-east-2
~/.aws/credentials
[default] aws_access_key_id = XXXX aws_secret_access_key = YYYY [private] aws_access_key_id = XXXX aws_secret_access_key = YYYY [work] aws_access_key_id = XXXX aws_secret_access_key = YYYY
function は下記。環境変数に設定してあげてるだけ。
AWS_DEFAULT_PROFILE
と AWS_PROFILE
の両方にセットしているのは packer などそちらを参照するものがあるため。
~/.config/fish/functions/aws-key.fish
function aws-key set -gx AWS_DEFAULT_PROFILE $argv set -gx AWS_PROFILE $argv echo "AWS_PROFILE=$AWS_PROFILE" end
使う時はこんな感じ。
> aws-key private AWS_PROFILE=private > env | grep AWS AWS_DEFAULT_PROFILE=private AWS_PROFILE=private
なかなか便利。
aws sts assume-role
を使うように function を拡張するのもありかなと。