今回解決できたこと

AWS CLIなどで利用するプロファイルを(少なくとも僕の中では)リーズナブルな方法で切り替えることが出来るようになりました。

困っていたこと

管理すべきAWS credentialがある程度のボリュームになり、CLIツールやterraform/kumogataなどの関連ツールを使う際にもなにかと手間がかかるようになってきています。

どう解決したいか

せっかく ~/.aws/credentials に情報があるのでそのまま活用したい。
但し、コピペなどの原始的な手段は回避したい。
そもそもどういうprofileがあるか覚えていないので一覧が出せる仕組みがあることが望ましい。

なにが解決出来るか

以下のような利用において、profileの切り替えが用意になることを期待します。
– AWS cli
– Codenize.tools
– TerraformなどのHashiCorpツール

解決への道

世の中には同じことに悩んでいる人がいるはず

いらっしゃった上に、解決されていました。
awsenv (at GitHub)

導入

Installation の項目そのままで問題なくインストールできます。
以降の部分で、一部情報を意図的に削ったり伏せたりしていますが雰囲気はお伝えできると思います。

profileの切り替え

私の場合、 ~/.aws/credentialssaitara というprofileがありますので、そちらを利用するようsetawsで指定します。

% setaws saitara

awsenvで確認

% awsenv 

Current AWS Environment Variables:

AWS_SECRET_KEY matches ['saitara']
AWS_SSH_KEY_PATH not set
AWS_DEFAULT_REGION matches ['saitara']
AWS_SECRET_ACCESS_KEY matches ['saitara']
AWS_VAGRANT_SUBNET_ID not set
AWS_ACCESS_KEY matches ['saitara']
AWS_VAGRANT_SECURITY_GROUP not set
AWS_ACCESS_KEY_ID matches ['saitara']
AWS_SSH_KEY_ID not set

exportで確認

環境変数も併せて確認しましょう。

% export| grep AWS_
AWS_ACCESS_KEY=XXXXXXXXXXXXXXXXXX
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXX
AWS_CONFIG_FILE=/Users/saitara/.aws/credentials
AWS_DEFAULT_REGION=us-west-2
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AWS_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

元記事はこちら

AWSを操作(AWS CLIに限らない)する場合の環境変数設定作業を軽くする