awscliのプロファイル(profile)
awscliを使いこなしている方々には常識と思いますが、複数のAWSアカウントやIAMロールを使い分けている場合にはプロファイルを使うと切り替えが便利になりますね。
プロファイル機能については以下の記事の他、Qiitaにもいろいろ記事があるようです。
Qiita以外にも --profile
オプションの使い方はいろいろ記事があります。
ところで、デフォルト以外のプロファイルを使うときに
- 毎回
--profile
オプションを打つのがめんどう(諸般の事情でcompletionもきかない) - 環境変数に書き出すために
Shift
キーを押し続けたりCapsLock
を使うのがめんどう -
config
じゃなくてconfigure
なのを忘れ、打ち間違えてめんどう - そもそもprofile名を忘れたり、打ち間違えたりする
というわがままな私は awscli
の機能だけでは不満だったので自分でツールを作ることにしました。
なお、私ほど怠惰な理由ではなく別の観点から運用方法を検討されている方もいるようです。(この記事を書くに当たって改めて検索しました)
-
環境変数による AWS CLI のプロファイル切り替えをうまいこと
- 昔の記事であるせいかもしれませんが
export
せずに--profile
オプションでいい気がします。 - 私のように怠けるためでなく、運用上の安全性が念頭にあるようです。
- 昔の記事であるせいかもしれませんが
実現したかったこと
- credentialsに登録されているプロファイル名の一覧を出力
- プロファイルを環境変数
AWS_PROFILE
に設定- これは個人的な事情があって、
eksctl
も使うのですが、このツールがAWS_PROFILE
も見てくれるため、便利だったからです。他のツールを使うと別の環境変数が良いのかも。
- これは個人的な事情があって、
-
AWS_PROFILE
環境変数を見ないツールからも使いやすいように現在のプロファイル名だけを出力するコマンドも付ける- このコマンドが一番簡単に打ちたい
- credentialsに登録されているプロファイル名以外は拒否する(綴りチェック)
他用件(環境など)
- Bashしか使わないのでshell環境はbash向け.
できたもの
GitHubに公開しています。
使い方なども怪しい英語で記載しています。