AWS CLI の名前付きプロファイル - AWS Command Line Interface

このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。

AWS CLI の名前付きプロファイル

名前付きプロファイルは、AWS CLI コマンドに適用できる設定と認証情報の集まりです。コマンドを実行するプロファイルを指定すると、設定と認証情報を使用してそのコマンドが実行されます。複数の名前付きプロファイルは、config ファイルおよび credentials ファイルに保存できます。

プロファイルが明示的に参照されない場合に使用される default プロファイルを 1 つ指定できます。他のプロファイルには、コマンドラインで個々のコマンドのパラメータとして指定できる名前が付いています。または、環境変数 AWS_PROFILE でプロファイルを指定でき、そのセッションで実行されるコマンドのデフォルトのプロファイルを上書きします。

名前付きプロファイルを使用する

追加のプロファイルを設定するには、--profile オプションで aws configure を使用するか、config ファイルと credentials ファイルにエントリを手動で追加します。config ファイルとcredentials ファイルの詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。

認証情報プロファイル

2 つのプロファイルのある credentials ファイルの例を以下に示します。1 つ目の [default] は AWS CLI コマンドをプロファイルなしで実行するときに使用します。2 つ目は、AWS CLI コマンドに --profile user1 パラメータを指定して実行するときに使用します。

credentials ファイルは、名前付きプロファイルの AWS CLI config ファイルとは異なる命名形式を使用します。profile ファイルにエントリを作成するときは、credentials という単語を使用しないでください

~/.aws/credentials (Linux & Mac) または %USERPROFILE%\.aws\credentials(Windows)

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

設定プロファイル

各プロファイルには、異なる認証情報 (異なる IAM ユーザーからのものなど) を指定できます。また、さまざまな AWS リージョンと出力形式を指定することもできます。config ファイルでプロファイルに名前を付ける際には、プレフィックス「profile」を含めてください。

次の例では、default および user1 プロファイルのリージョンと出力情報を指定します。

~/.aws/config (Linux & Mac) または %USERPROFILE%\.aws\config(Windows)

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

名前を指定されたプロファイルを使用する

名前付きプロファイルを使用するには、コマンドに --profile profile-name オプションを追加します。次の例では、前のサンプルファイルの user1 プロファイルで定義されている認証情報および設定を使用して、すべての Amazon EC2 インスタンスを一覧表示します。

$ aws ec2 describe-instances --profile user1

複数のコマンドで名前付きプロファイルを使用するには、コマンドラインに AWS_PROFILE 環境変数を設定することで、すべてのコマンドでプロファイルを指定せずにすみます。

Linux または macOS

$ export AWS_PROFILE=user1

Windows

C:\> setx AWS_PROFILE user1

set を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。

setx を使用して環境変数を設定すると、コマンドの実行後に作成するすべてのコマンドシェルの値が変更されます。コマンドの実行時に既に実行されているコマンドシェルには影響しません。変更の影響を確認するには、コマンドシェルを閉じて再起動します。

環境変数を設定すると、シェルセッションの終了時まで、または変数に別の値を設定するまで、デフォルトのプロファイルが変更されます。環境変数をシェルのスタートアップスクリプトに配置すると、今後のセッションでこの環境変数を永続的にできます。詳細については、「AWS CLI を設定する環境変数」を参照してください。

注記

個々のコマンドで --profile を使用してプロファイルを指定すると、そのコマンドのみの環境変数で指定された設定が上書きされます。