はじめに
AWS CLI を使って AWS リソースを操作する場合、複数の AWS アカウントやリージョンに対応するために、IAM ユーザーの認証情報を設定する必要があります。そのため、毎回認証情報を指定するのは手間がかかりますが、本記事では、プロファイルを使用して AWS CLI をより便利に使うための設定方法を紹介します。
複数のプロファイルを設定する
~/.aws/config ファイルに複数のプロファイルを設定することで、複数の IAM ユーザーの認証情報を管理できます。
また、リージョンや出力形式など、各プロファイルごとに異なる設定をすることも可能です。
例えば、複数の AWS アカウントや、IAMユーザーの権限を切り替えて作業しなければならない場合などに有効です。
[profile profile1]
region=ap-northeast-1
output=json
[profile profile2]
region=us-west-2
output=json
認証情報を設定する
~/.aws/credentials ファイルに、各プロファイルに対応する IAM ユーザーの認証情報を設定します。
[profile1]
aws_access_key_id=YOUR_ACCESS_KEY_ID_1
aws_secret_access_key=YOUR_SECRET_ACCESS_KEY_1
[profile2]
aws_access_key_id=YOUR_ACCESS_KEY_ID_2
aws_secret_access_key=YOUR_SECRET_ACCESS_KEY_2
プロファイルを切り替える
上記の設定が完了した段階では、aws s3 ls
コマンドなどを使用する場合、--profile profile1
のように毎回プロファイルを指定する必要があり、面倒です。そこで、AWS_PROFILE 環境変数を使用して、現在使用するプロファイルを切り替えることができます。
# AWS_PROFILE 環境変数を使ってプロファイルを切り替える
$ export AWS_PROFILE=profile1
更に、以下のようにエイリアスを設定することで、switchaws {プロファイル名}
コマンドを実行することでプロファイルを切り替えることができます。
# エイリアスを使用してプロファイルを切り替える
$ alias switchaws='f(){ export AWS_PROFILE=$1; }; f'
$ switchaws profile2
以上の方法を使うことで、毎回認証情報を指定する手間を省くことができます。
AWS CLI を頻繁に使用する方は、ぜひ試してみてください
ちなみに
一番ラクなのはこの方法な気がします
AWS CLIのプロファイルを簡単切り替え | DevelopersIO