はじめに
開発用環境、本番環境など複数の環境を管理している方も多いかと思いますが、同じ端末で複数環境のアカウントを使い分ける方法を記載します。
AWS CLIのインストール
以下から自分の環境に合ったAWS CLIのインストーラをダウンロードしてインストールします。
以下コマンドを実行し、バージョン表示が出ればインストール完了です。
aws --version
aws-cli/2.1.38 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
IAMユーザの作成
AWSにIAMユーザを作成していないようであれば作成しておきましょう。
IAM
から新規ユーザを作成するだけですが、aws cli
で使うので作成時に「プログラムによるアクセス」はチェックするようにしましょう。
また、ユーザ作成時に最後に表示されるアクセスキー、シークレットアクセスキーが書かれたCSVは後ほど使うのでダウンロードするようにしましょう。
AWS CLIのデフォルトセットアップ
先ほどaws cli
をインストールしたPCでaws configure
コマンドを実行して対話式でaws cli
をセットアップします。
途中で聞かれるアクセスキー、シークレットアクセスキーは、ダウンロードしたCSVに書かれているキーを入力します。
aws configure
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: [リージョン名(東京ならap-northeast-1)]
Default output format [None]: [アウトプットフォーマット(json/text/table/yaml/yaml-stream)]
リージョン名は東京ならap-northeast-1
、アウトプットフォーマットはお好きなフォーマットを選択。
再度aws configure
を実行すれば後から変えられるので、適当に選びましょう。
AWS CLIの追加セットアップ
他のアカウントを追加するにはaws configure
コマンドに--profile
オプションを追加して実行することで追加できます。
aws configure --profile [任意のプロファイル名]
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: [リージョン名(東京ならap-northeast-1)]
Default output format [None]: [アウトプットフォーマット(json/text/table/yaml/yaml-stream)]
設定情報の場所
各ユーザのホームディレクトリ配下に.aws
ディレクトリが作成されており、その下にconfig
とcredentials
が作成されています。
config
にはリージョンとアウトプットフォーマットの設定、credentials
にはアクセスキー、シークレットアクセスキーの情報が登録されています。
[default]
region = ap-northeast-1
output = text
[profile プロファイル名]
region = ap-northeast-1
output = text
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[プロファイル名]
aws_access_key_id = YYYYYYYYYYYYYYYYYYYY
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
複数アカウントの使い分け
最初に登録したアカウントはdefault
というプロファイルで登録されているため何もオプションを付与しなければdefault
のアカウントでコマンドが実行されます。
追加したアカウントで実行したい場合は各コマンドの後ろに--profile [プロファイル名]
として実行することで追加したアカウントでコマンドが実行されます。
おわりに
aws-cliv2
になってoutput
形式でyaml
が選択できるようになったのはうれしいですね。
CloudFormation
等のコードを作成するときに役立ちそうです。