AWS CLI で複数 AWS アカウントを登録・使い分ける方法

AWS CLI で複数 AWS アカウントを登録して、使い分ける方法をご紹介します。

AWS | Amazon Web Services

aws cli インストール

AWS CLI の最新バージョンをインストールまたは更新します。 – AWS Command Line Interface を参考にインストールしている前提で進めます。

$ aws --version
aws-cli/1.16.60 Python/3.7.1 Darwin/18.2.0 botocore/1.12.50

aws cli アカウント登録

デフォルト AWS Access Key, Secret Access Key 登録

$ aws configure
AWS Access Key ID [None]: ${YOUR_DEFAULT_ACCESS_KEY_ID}
AWS Secret Access Key [None]: ${YOUR_DEFAULT_SECRET_ACCESS_KEY}
Default region name [None]: us-east-1
Default output format [None]: table

2つ目の AWS Access Key, Secret Access Key 登録

–profile オプションで2つ目の名前を指定して aws configure コマンドを実行します。

$ aws configure --profile 2nd-account
AWS Access Key ID [None]: ${YOUR_2ND_ACCESS_KEY_ID}
AWS Secret Access Key [None]: ${YOUR_2ND_SECRET_ACCESS_KEY}
Default region name [None]: ap-northeast-1
Default output format [None]: json

aws cli 設定ファイル確認

最後に ~/.aws 以下に作成された config, credentials ファイルの設定をそれぞれ確認しましょう。

$ tree ~/.aws
/Users/username/.aws
├── config
└── credentials
 
0 directories, 2 files
$ less ~/.aws/config
[default]
output = table
region = us-east-1
[profile 2nd-account]
output = json
region = ap-northeast-1
$ less ~/.aws/credentials
[default]
aws_access_key_id = ${YOUR_DEFAULT_ACCESS_KEY_ID}
aws_secret_access_key = ${YOUR_DEFAULT_SECRET_ACCESS_KEY}
[2nd-account]
aws_access_key_id = ${YOUR_2ND_ACCESS_KEY_ID}
aws_secret_access_key = ${YOUR_2ND_SECRET_ACCESS_KEY}

AWS CLI でアカウント指定して使う方法

aws configure コマンドのときと同じように –profile オプションを指定して使えばよいです。

$ aws s3 ls # use default profile
$ aws s3 ls --profile 2nd-account # use 2nd-account profile

以上、AWS CLI で複数 AWS アカウントを使い分けていきたい現場からお送りしました。

参考情報