aswrapコマンドとは
fujiwaraさんという方が作成されたコマンドです。
aswrapコマンドは、AWS_PROFILE
変数に設定されているprofile情報(※1)を元に、環境変数 AWS_ACCESS_KEY_ID
、 AWS_SECRET_ACCESS_KEY
、 AWS_SESSION_TOKEN
を取得してすぐにexport
できるようなかたちで出力を行うコマンドです。
Terraform などのAWS CLIではなくAWS SDK を利用したアプリを実行してAWSにアクセスする際に使用します。
※1プロファイル情報は、~/.aws/(config|credentials)に定義されている[default]
の「default」や[profile myprofile]
の「myprofile」などが該当。
実行方法
コマンドは下記のように実行します。
変数AWS_PROFILEに接続先環境のprofile名を設定し、aswrapを実行します。
$ $(AWS_PROFILE=myprofile aswrap)
ちなみに$(コマンドA)
はコマンドAの実行結果をコマンドとして実行するというものです。
なぜこのようにするかというと、aswrapコマンドの出力結果を確認すると分かり易いかと思います。
$ RESULT=$(AWS_PROFILE=myprofile aswrap)
$
$ echo $RESULT
$ export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXX
$ export AWS_SECRET_ACCESS_KEY=YYYYYYYYYYYYYYYYYYYYYYYY
$ export AWS_SESSION_TOKEN=ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ==
つまり、$(コマンドA)
を利用することで、AWS_ACCESS_KEY_ID
などの出力された変数をそのままexport
している訳です。
こうすることで、terraform
コマンドなどがすぐに利用できるようになります。