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 に設定された内容が有線されます。
コメント