AWS CLIはWindowsやLinuxでコマンドラインからAWSを操作できるため、AWSコンソールを開く手間を省くことができます。
ただし、コマンドを覚えていないとコマンドリファレンスで調べる等でコンソールの操作より時間がかかってしまうため、AWS CLIは頻度の高い操作をバッチなどで用意しておくといった使用方法がお勧めです。
今回はそんなAWS CLIでAWSアカウントを複数使用する方法を紹介します。
1アカウントで使用するだけであれば「aws configure」コマンドでデフォルトのAWS認証情報を設定しておけばよいですが、複数のアカウントを使い分けるためにはプロファイルを複数用意し、コマンド実行時に使い分けることになります。
AWS CLIのプロファイル使用方法(windows/linux共通)
プロファイルの設定
以下のコマンドを実行し、プロファイルを設定します。
$ aws configure --profile 【プロファイル名】
コマンド実行例は以下の通りです。
「アクセスキー」、「シークレットアクセスキー」、「デフォルトリージョン」、「出力フォーマット」が順番で聞かれるので、それぞれ入力します。デフォルトリージョンと出力フォーマットは任意設定項目です。
設定しているプロファイルの確認
設定したプロファイルの一覧は以下のコマンドで確認できます。
$ aws configure list-profiles
コマンドの実行例は以下のようになります。
プロファイルを使用したコマンドの実行例
プロファイルを使用したAWSコマンドは以下のように「–profile」オプションをつけて実行します。
$ aws --profile 【プロファイル名】 【AWSコマンド】
コマンドの実行例は以下のようになります。
プロファイル設定に関する参考情報
プロファイルの設定ファイル
プロファイルの設定情報は以下のファイルに記載されています。
windowsの場合
- %USERPROFILE%.aws\credentials
- %USERPROFILE%.aws\config
Linuxの場合
- ~/.aws/credentials
- ~/.aws/config
credentialsファイルの記載内容
アクセスキーおよびシークレットアクセスキー情報が記載されています。
[default]
aws_access_key_id=XXXXX
aws_secret_access_key=XXXXXXXX
[user1]
aws_access_key_id=XXXXX
aws_secret_access_key=XXXXXXXX
configファイルの記載内容
デフォルトリージョンおよび出力フォーマット情報が記載されています。
これらを設定していない場合は、[profile ユーザー名]のみが記載されます。
[default]
region=us-west-2
output=json
[profile user1]
プロファイルの指定方法(環境変数)
コマンドを実行する際は毎回「–profile」で指定するのがお勧めです。間違えて別のAWSアカウントでコマンド実行すると障害等につながる恐れがあるためです。
ただし、バッチ等で毎回記載するのではなく、一度設定したプロファイルでawsコマンドを使用したい場合は以下のように環境変数として設定するのがお勧めです。
環境変数への設定(windows)
$ setx AWS_PROFILE 【プロファイル名】
環境変数への設定(linux)
$ export AWS_PROFILE=【プロファイル名】
以上です。一つの端末から複数のAWSアカウントにコマンドラインからアクセスできるようになりました。