今回解決できたこと
AWS CLIなどで利用するプロファイルを(少なくとも僕の中では)リーズナブルな方法で切り替えることが出来るようになりました。
困っていたこと
管理すべきAWS credentialがある程度のボリュームになり、CLIツールやterraform/kumogataなどの関連ツールを使う際にもなにかと手間がかかるようになってきています。
どう解決したいか
せっかく ~/.aws/credentials
に情報があるのでそのまま活用したい。
但し、コピペなどの原始的な手段は回避したい。
そもそもどういうprofileがあるか覚えていないので一覧が出せる仕組みがあることが望ましい。
なにが解決出来るか
以下のような利用において、profileの切り替えが用意になることを期待します。
- AWS cli
- Codenize.tools
- TerraformなどのHashiCorpツール
解決への道
世の中には同じことに悩んでいる人がいるはず
いらっしゃった上に、解決されていました。
awsenv (at GitHub)
導入
Installation の項目そのままで問題なくインストールできます。
以降の部分で、一部情報を意図的に削ったり伏せたりしていますが雰囲気はお伝えできると思います。
profileの切り替え
私の場合、 ~/.aws/credentials
に saitara
という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