【AWS CLI】アカウントの設定と切り替え方法をまとめた 

AWS

AWS CLI の初期設定とアカウントの切り替え方法をまとめました。
本記事は MacOS での操作方法になることをあらかじめご了承ください。

AWS CLI のインストール

公式の手順で最新の AWS CLI をインストールします。

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /

インストールされたことを確認します。

$ which aws
 => /usr/local/bin/aws と表示される
$ aws --version
 => aws-cli/2.22.29 Python/3.12.6 Darwin/24.5.0 exe/x86_64 インストールしたバージョンが表示される

AWS CLI はこれでインストール完了です。

CLI と AWSアカウントの設定

次に AWS CLI とAWSアカウントの紐付けを行い、CLIでAWSリソースを操作できるようにします。

そのためには操作対象のAWSアカウントのアクセスキー発行とCLIと紐付ける手順が必要になります。

AWSアカウントのアクセスキーを発行

紐付けたいアカウントがルートユーザかIAMユーザかで導線が少し異なります。

AWSコンソール からログイン後、

ルートユーザの場合は画面右上のアカウントメニューから セキュリティ認証情報 をクリックして、遷移した画面で アクセスキーを作成 をクリック。

IAMユーザの場合はIAMダッシュボードの遷移して ユーザー タブから該当ユーザー名を選択して、 セキュリティ認証情報 > アクセスキーを作成 の順にクリック。

以降の手順はルートユーザとIAMユーザで同じです。

ルートユーザでのアクセスキー発行は推奨されていないので、
できるだけIAMユーザで手順を進めるようにしてください。

遷移した画面でユースケースのうち「コマンドラインインターフェイス (CLI)」を選択して「次へ」をクリック。

任意で説明タグ値を入力して「アクセスキーを作成 」をクリックします。

.csvファイルをダウンロード をクリックして認証情報を取得して、 完了 ボタンをクリックして終了です。

csvファイルはここでしか取得できず、認証
情報を忘れた場合はアクセスキーを作り直すしかないので注意してください。

アクセスキーを CLI の認証情報と紐づける

ダウンロードしたアクセスキーのcsvファイルは以下のようになっているはずです。

Access key ID,Secret access key
XXXXXXXXXXXXXXXXXXXX,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

この認証情報を AWS CLI と紐付けます。

以下のコマンドを実行してください。

$ aws configure

上記のコマンドだとデフォルトで認証情報が紐づきます。既にCLIを設定済みであったり、デフォルト以外で設定したい方は --profile [任意の名前] を末尾につけることで名前付きプロファイルが作れます。

認証情報の入力を求められるので、以下を参考にしてご自身の認証情報を入力してください。

AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
# Access key の値を入力

AWS Secret Access Key [None]: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
# Secret access key の値を入力

Default region name [None]: ap-northeast-1
# 未入力でも良いが ap-northeast-1(東京) か ap-northeast-3(大阪) の任意の値を入力

Default output format [None]: json
# json, text, table が選択できるが、jsonの記事が多いのでこれがオススメ

上記が完了すると AWS CLI にAWSアカウントが紐づいている状態です。

以下のコマンドで確認できます。

$ aws configure list

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************XXXX shared-credentials-file    
secret_key     ****************YYYY shared-credentials-file    
    region           ap-northeast-1      config-file    ~/.aws/config

先ほど設定した認証情報が確認できました。

CLI の設定を確認する

CLI の紐付けを行うとホームディレクトリに隠しファイルが作られます。

$ ls ~/.aws

config
credentials
$ cat ~/.aws/config

# --profileオプションで設定した場合[profile 指定した名前]で追加される
[default]
region = ap-northeast-1
output = json
[profile test]
region = ap-northeast-1
output = json
$ cat ~/.aws/credentials

[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
[test]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

現在CLIに設定されているアカウントを確認したい先ほどの $ aws configure list で、
プロファイルごとの設定内容を確認したい場合は $ aws configure list --profile [プロファイル名] で確認できます。

$ aws configure list --profile test

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                     test           manual    --profile
access_key     ****************XXXX shared-credentials-file    
secret_key     ****************YYYY shared-credentials-file    
    region           ap-northeast-1      config-file    ~/.aws/config

設定されているプロフィール名の一覧を表示する。

$ aws configure list-profiles

default
test

AWSアカウントの切り替え

AWS CLI に複数のアカウントを設定できることから、実行した内容は当然いま設定されているアカウントに対して行われます。

アカウントの切り替えは以下のコマンドで行います。

$ export AWS_DEFAULT_PROFILE=プロファイル名

CLIで何かを実行する前に $ aws configure list で現在のアカウントを確認しましょう。

似た環境変数に AWS_PROFILE がありますが、上記の AWS_DEFAULT_PROFILE に設定された内容が有線されます。

参考資料

コメント

タイトルとURLをコピーしました