Bash script to switch aws cli profile

aws cliで普段と異なるawsアカウントを使いたい場合は、プロファイルを作成するとよい。 aws configure --profile new_profileでプロファイルを作成できる。 作成したプロファイルを利用するには--profile new_profileで指定する。

例えば、新しいプロファイルでEC2一覧を表示する場合は次のようにする。

1
$ aws --profile new_profile ec2 describe-instances

プロファイルは環境変数AWS_PROFILEでも指定できる。 AWS_PROFILEで指定すると、毎回--profileを指定しなくてよくなるが、 awsコマンドを使うときに利用されるプロファイルが一目でわからなくなる。 そこで、AWS_PROFILE設定時に$PS1を書き換えて現在のプロファイルを表示するbashスクリプトを作成した。

https://github.com/kit494way/swa

インストールするにはまずスクリプトを適当な場所にダウンロードする。

1
$ curl https://raw.githubusercontent.com/kit494way/swa/master/swa.bash -o ~/swa.bash

ダウンロードしたスクリプトを .bashrc で読み込む。

1
$ echo 'source ${HOME}/swa.bash' >>~/.bashrc

使い方はswaとタイプするだけ。 プロファイルのリストが表示されるので、切り替えたいプロファイルの番号を入力する。

1
2
3
4
$ swa
1) default
2) new_profile
Select aws profile:

default以外のプロファイルを選択するとプロンプトにプロファイル名が表示されるようになる。