を設定する環境変数 AWS CLI - AWS Command Line Interface

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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を設定する環境変数 AWS CLI

環境変数を使用すると、別の方法で設定オプションと認証情報を指定できます。このため、スクリプト処理や、名前付きプロファイルを一時的にデフォルトとして設定する場合に便利です。

オプションの優先順位
  • このトピックで示されている環境変数のいずれかを使用してオプションを指定した場合、設定ファイルのプロファイルからロードされた値は上書きされます。

  • AWS CLI コマンドラインでパラメータを使用してオプションを指定すると、対応する環境変数または設定ファイル内のプロファイルの値が上書きされます。

優先順位と、 AWS CLI が使用する認証情報の決定方法の詳細については、を参照してください。を設定 AWS CLI

環境変数の設定方法

次の例では、デフォルトのユーザーの環境変数を設定する方法を示します。

Linux or macOS
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_DEFAULT_REGION=us-west-2

環境変数を設定すると、シェルセッションの終了時まで、または変数に別の値を設定するまで、使用する値が変更されます。シェルのスタートアップスクリプトで変数を設定することで、以降のセッションでその変数を永続的にすることができます。

Windows Command Prompt

すべてのセッションに設定するには

C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_DEFAULT_REGION us-west-2

setx を使用して環境変数を設定すると、現在のコマンドプロンプトセッションおよびコマンド実行後に作成するすべてのコマンドプロンプトセッションで使用する値が変更されます。これは、コマンド実行時にすでに実行されている他のコマンドシェルには影響を及ぼしません。設定をロードするには、ターミナルの再起動が必要になる場合があります。

現在のセッションのみに設定するには

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

C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> set AWS_DEFAULT_REGION=us-west-2
PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

PowerShell 前の例のようにプロンプトで環境変数を設定すると、現在のセッションの間だけ値が保存されます。 PowerShell 環境変数の設定をすべてのセッションとコマンドプロンプトセッションにわたって保持するには、コントロールパネルのシステムアプリケーションを使用して環境変数設定を保存します。または、 PowerShell 変数をプロファイルに追加して、future PowerShell すべてのセッションで変数を設定できます。環境変数を保存したり、セッション間で環境変数を保持したりする方法について詳しくは、PowerShell ドキュメントを参照してください

AWS CLI サポートされている環境変数

AWS CLI は次の環境変数をサポートします。

AWS_ACCESS_KEY_ID

IAM AWS アカウントに関連付けられたアクセスキーを指定します。

定義されている場合、この環境変数はプロファイル設定 aws_access_key_id の値よりも優先されます。アクセスキー ID をコマンドラインオプションを使用して指定することはできません。

AWS_CA_BUNDLE

HTTPS 証明書の検証に使用する証明書バンドルへのパスを指定します。

定義されている場合、この環境変数はプロファイル設定 ca_bundle の値よりも優先されます。この環境変数は、--ca-bundle コマンドラインパラメータを使用して上書きできます。

AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS

custom the s3 mv コマンドを使用するときにソースバケットと宛先バケットが同じ場合、ソースファイルまたはオブジェクトはそれ自体に移動される可能性があり、その結果、ソースファイルまたはオブジェクトが誤って削除される可能性があります。AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS--validate-same-s3-paths環境変数とオプションは、Amazon S3 のソース URI またはターゲット URI のアクセスポイント ARN またはアクセスポイントのエイリアスを検証するかどうかを指定します。

注記

s3 mvのパス検証には追加の API 呼び出しが必要です。

AWS_CONFIG_FILE

AWS CLI が設定プロファイルを保存するために使用するファイルの場所を指定します。デフォルトのパスは ~/.aws/config です。

この値は、名前付きプロファイル設定に指定したり、コマンドラインパラメータを使用して指定したりすることはできません。

AWS_DATA_PATH

~/.aws/models AWS CLI データをロードするときに、組み込み検索パスの外部で確認する追加ディレクトリのリスト。環境変数を設定することで、組み込まれた検索パスに戻る前に最初にチェックする追加のディレクトリを表示します。複数のエントリは os.pathsep 文字で区切る必要があり、Linux または macOS では :、Windows では ; を使用します。

AWS_DEFAULT_OUTPUT

使用する出力形式を指定します。

定義されている場合、この環境変数はプロファイル設定 output の値よりも優先されます。この環境変数は、--output コマンドラインパラメータを使用して上書きできます。

AWS_DEFAULT_REGION

は、Default region name AWS デフォルトでリクエストを送信したいサーバーのリージョンを識別します。通常、お客様の最寄りのリージョンですが、どのリージョンでもかまいません。例えば、「us-west-2」と入力すると、米国西部 (オレゴン) を使用できます。これは、個別のコマンドで指定されない限り、今後のすべてのリクエストが送信されるリージョンです。

注記

を使用するときは、明示的に AWS CLI、 AWS またはデフォルトのリージョンを設定して、リージョンを指定する必要があります。使用可能なリージョンのリストについては、「リージョンとエンドポイント」を参照してください。 AWS CLI が使用する地域指定子は、 AWS Management Console URL やサービスエンドポイントに表示される名前と同じです。

定義されている場合、この環境変数はプロファイル設定 region の値よりも優先されます。この環境変数は、--region

AWS_EC2_METADATA_DISABLED

Amazon EC2 インスタンスメタデータサービス (IMDS) の使用を無効にします。

true に設定した場合、ユーザーの認証情報または設定 (リージョンなど) は IMDS から要求されません。

AWS_ENDPOINT_URL

すべてのサービスリクエストに使用されるエンドポイントを指定します。

エンドポイント設定は、システム環境変数やユーザー環境変数、 AWS ローカル設定ファイルなど、複数の場所に配置されているほか、コマンドラインでパラメーターとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

AWS_ENDPOINT_URL_<SERVICE>

特定のサービスに使用されるカスタムエンドポイントを指定します。<SERVICE> AWS のサービス は識別子に置き換えられます。たとえば、 Amazon DynamoDB serviceIdはですDynamoDB。このサービスのエンドポイント URL 環境変数は AWS_ENDPOINT_URL_DYNAMODB です。

サービス固有の環境変数のリストについては、「サービス固有の識別子のリスト」を参照してください。

エンドポイント設定は、システム環境変数やユーザー環境変数、 AWS ローカル設定ファイルなど、複数の場所に配置されているほか、コマンドラインでパラメーターとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

AWS_IGNORE_CONFIGURED_ENDPOINT_URLS

有効にすると、 AWS CLI はカスタムエンドポイント設定をすべて無視します。有効な値は、true および false です。

エンドポイント設定は、システム環境変数やユーザ環境変数、 AWS ローカル設定ファイルなど、複数の場所に配置されているほか、コマンドラインでパラメータとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

AWS_MAX_ATTEMPTS

リトライハンドラーが使用する最大再試行回数の値を指定します。この場合、最初の呼び出しは指定した値にカウントされます。 AWS CLI 再試行の詳細については、「AWS CLI の再試行」を参照してください。

定義されている場合、この環境変数はプロファイル設定 max_attempts の値よりも優先されます。

AWS_METADATA_SERVICE_NUM_ATTEMPTS

IAM ロールが設定された Amazon EC2 インスタンスで認証情報を取得しようとすると、 AWS CLI は停止する前にインスタンスメタデータサービスから認証情報を一度取得しようとします。Amazon EC2 インスタンスで実行されるコマンドがわかっている場合は、停止するまでに AWS CLI が複数回再試行するように、この値を増やすことができます。

AWS_METADATA_SERVICE_TIMEOUT

インスタンスメタデータサービスに接続する前にタイムアウトするまでの秒数。IAM ロールで設定された Amazon EC2 インスタンスで認証情報の取得を試行すると、インスタンスメタデータサービスへの接続はデフォルトで 1 秒後にタイムアウトします。設定された IAM ロールを使用して Amazon EC2 インスタンスで実行されていることがわかっている場合は、必要に応じてこの値を増やすことができます。

AWS_PROFILE

AWS CLI 使用する認証情報とオプションを含むプロファイルの名前を指定します。これは、credentials ファイルまたは config ファイルに保存されているプロファイルの名前、または、デフォルトプロファイルを使用する場合は値 default となります。

この環境変数を指定した場合、設定ファイルの [default] という名前のプロファイルを使用する動作は上書きされます。この環境変数は、--profile コマンドラインパラメータを使用して上書きできます。

AWS_RETRY_MODE

AWS CLI どのリトライモードを使用するかを指定します。再試行モードには、レガシー (デフォルト)、標準、アダプティブの 3 つがあります。再試行の詳細については、「AWS CLI の再試行」を参照してください。

定義されている場合、この環境変数はプロファイル設定 retry_mode の値よりも優先されます。

AWS_ROLE_ARN

コマンドの実行に使用するウェブ ID プロバイダーを含む IAM ロールの Amazon リソースネーム (ARN) を指定します。 AWS CLI

AWS_WEB_IDENTITY_TOKEN_FILE および AWS_ROLE_SESSION_NAME 環境変数で使用されます。

定義されている場合、この環境変数はプロファイル設定 role_arn の値よりも優先されます。ロールセッション名をコマンドラインパラメータとして指定することはできません。

注記

この環境変数は、ウェブ ID プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

AWS_ROLE_SESSION_NAME

ロールセッションにアタッチする名前を指定します。この値は、RoleSessionName AWS CLI AssumeRoleが操作を呼び出すときにパラメータに渡され、想定ロールユーザ ARN: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name の一部になります。このパラメータはオプションです。この値を指定しない場合、セッション名は自動的に生成されます。この名前は、 AWS CloudTrail このセッションに関連するエントリのログに表示されます。

定義されている場合、この環境変数はプロファイル設定 role_session_name の値よりも優先されます。

AWS_ROLE_ARN および AWS_WEB_IDENTITY_TOKEN_FILE 環境変数で使用されます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

注記

この環境変数は、ウェブ ID プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。

AWS_SECRET_ACCESS_KEY

アクセスキーに関連付けられるシークレットキーを指定します。これは、基本的にアクセスキーの「パスワード」です。

定義されている場合、この環境変数はプロファイル設定 aws_secret_access_key の値よりも優先されます。シークレットアクセスキー ID をコマンドラインオプションとして指定することはできません。

AWS_SESSION_TOKEN

AWS STS オペレーションから直接取得した一時的なセキュリティ認証情報を使用している場合に必要なセッショントークン値を指定します。詳細については、AWS CLI コマンドリファレンスにある assume-role コマンドの「出力」セクションを参照してください。

定義されている場合、この環境変数はプロファイル設定 aws_session_token の値よりも優先されます。

AWS_SHARED_CREDENTIALS_FILE

AWS CLI がアクセスキーを保存するために使用するファイルの場所を指定します。デフォルトのパスは ~/.aws/credentials です。

この値は、名前付きプロファイル設定に指定したり、コマンドラインパラメータを使用して指定したりすることはできません。

AWS_STS_REGIONAL_ENDPOINTS

AWS CLI クライアントが AWS Security Token Service (AWS STS) AWS CLI AWS との通信に使用するサービスエンドポイントをが決定する方法を指定します。 AWS CLI バージョン 1 のデフォルト値は legacy です。

次の 2 つの値のいずれかを指定できます。

  • legacy—、、、、sts.amazonaws.com、、、ap-northeast-1、、ap-south-1ap-southeast-1ap-southeast-2aws-globalca-central-1eu-central-1eu-north-1eu-west-1eu-west-2eu-west-3sa-east-1us-east-1us-east-2us-west-1、 AWS の各リージョンのグローバル STS エンドポイントを使用しますus-west-2。他のすべてのリージョンでは、それぞれのリージョンエンドポイントが自動的に使用されます。

  • regional— AWS CLI AWS STS は常に現在設定されているリージョンのエンドポイントを使用します。たとえば、クライアントが使用するように設定されている場合us-west-2、 AWS STS sts.us-west-2.amazonaws.comsts.amazonaws.comへのすべての呼び出しはグローバルエンドポイントではなくリージョナルエンドポイントに対して行われます。この設定が有効なときにグローバルエンドポイントにリクエストを送信するには、リージョンを aws-global に設定します。

AWS_USE_DUALSTACK_ENDPOINT

デュアルスタックのエンドポイントを使用してリクエストを送信できるようにします。 AWS IPv4 と IPv6 の両方のトラフィックをサポートするデュアルスタックエンドポイントの詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 デュアルスタックエンドポイントの使用」を参照してください。デュアルスタックのエンドポイントは、一部のリージョンでは一部のサービスで利用できます。サービス用のデュアルスタックのエンドポイントが存在しない場合、 AWS リージョンまたはリクエストは失敗します。これはデフォルトでは無効になっています。

エンドポイントの設定は、システムやユーザーの環境変数、 AWS ローカル設定ファイルなど、複数の場所に配置されているか、コマンドラインでパラメーターとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

AWS_USE_FIPS_ENDPOINT

AWS 一部のサービスでは、連邦情報処理標準 (FIPS) 140-2 をサポートするエンドポイントを提供しています。 AWS リージョン AWS のサービスが FIPS をサポートしている場合、この設定により、どの FIPS エンドポイントを AWS CLI が使用すべきかを指定します。 AWS 標準のエンドポイントとは異なり、FIPS エンドポイントは FIPS 140-2 に準拠する TLS ソフトウェアライブラリを使用します。このエンドポイントは、米国政府とやり取りをする企業で必要とされる場合があります。

この設定が有効になっていても、のサービス用の FIPS エンドポイントが存在しない場合、コマンドは失敗する可能性があります。 AWS リージョン AWS この場合は、--endpoint-url オプションを使用してコマンドで使用するエンドポイントを手動で指定するか、サービス固有のエンドポイントを使用します。

FIPS エンドポイントの指定について詳しくは AWS リージョン、「サービス別の FIPS エンドポイント」を参照してください。

エンドポイント設定は、システム環境変数やユーザー環境変数、 AWS ローカル設定ファイルなど、複数の場所に配置されているほか、コマンドラインでパラメーターとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

AWS_WEB_IDENTITY_TOKEN_FILE

OAuth 2.0 アクセストークンまたは ID プロバイダーによって提供される OpenID Connect ID トークンを含むファイルへのパスを指定します。 AWS CLI はこのファイルの内容をロードし、WebIdentityToken 引数として AssumeRoleWithWebIdentity オペレーションに渡します。

AWS_ROLE_ARN および AWS_ROLE_SESSION_NAME 環境変数で使用されます。

定義されている場合、この環境変数はプロファイル設定 web_identity_token_file の値よりも優先されます。

ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。

注記

この環境変数は、ウェブ ID プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。