環境変数を使用すると設定オプションと認証情報を別の方法で指定することができ、スクリプト作成に役立つ場合があります。
オプションの優先順位
-
このトピックで示されている環境変数のいずれかを使用してオプションを指定した場合、設定ファイルのプロファイルからロードされた値は上書きされます。
-
AWS CLI コマンドラインでパラメータを使用してオプションを指定した場合、対応する環境変数、または設定ファイルのプロファイルからの値が上書きされます。
優先順位および AWS CLI が使用する認証情報を決定する方法の詳細については、「AWS CLI の設定を構成する」を参照してください。
環境変数の設定方法
次の例では、デフォルトのユーザーの環境変数を設定する方法を示します。
$
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
$
export AWS_SECRET_ACCESS_KEY=
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$
export AWS_DEFAULT_REGION=
us-west-2
環境変数を設定すると、シェルセッションの終了時まで、または変数に別の値を設定するまで、使用する値が変更されます。シェルのスタートアップスクリプトで変数を設定することで、以降のセッションでその変数を永続的にすることができます。
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_AUTO_PROMPT
-
AWS CLI バージョン 2 の自動プロンプトを有効にします。使用できる設定は 2 つあります。
-
on
は、ユーザーがaws
コマンドを実行しようとするたびに、完全な自動プロンプトモードを使用します。これには、完全なコマンドまたは不完全なコマンドを問わず、それらの後で Enter キーを押すことが含まれます。 -
on-partial
は、部分的な自動プロンプトモードを使用します。コマンドが不完全、またはクライアント側の検証エラーが原因でコマンドを実行できない場合は、自動プロンプトが使用されます。このモードは、既存のスクリプトまたはランブックがある場合、あるいはすべてのコマンドに対してプロンプトを表示するのではなく、不慣れなコマンドにのみ自動プロンプトを表示したい場合に便利です。
定義されている場合は、この環境変数が
cli_auto_prompt
プロファイル設定の値を上書きします。この環境変数は、--cli-auto-prompt
および--no-cli-auto-prompt
コマンドラインパラメータを使用して上書きできます。AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「AWS CLI でのコマンドプロンプトの有効化と使用」を参照してください。
-
AWS_CLI_FILE_ENCODING
-
テキストファイルに使用するエンコードを指定します。デフォルトでは、エンコードはロケールと一致します。ロケールとは異なるエンコードを設定するには、
aws_cli_file_encoding
環境変数を使用します。例えば、Windows でデフォルトのエンコードCP1252
を使用する場合、aws_cli_file_encoding=UTF-8
を設定すると、テキストファイルを開くときにUTF-8
が使用されるように CLI が設定されます。 AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS
-
カスタムの
s3 mv
コマンドを使用する際、ソースバケットと宛先バケットが同じ場合、ソースファイルまたはオブジェクトをそれ自体に移動する可能性があるため、ソースファイルまたはオブジェクトが誤って削除される恐れがあります。AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS
環境変数と--validate-same-s3-paths
オプションにより、Amazon S3 の送信元または送信先の URIでアクセスポイント ARN またはアクセスポイントエイリアスを検証するかどうかを指定します。注記
s3 mv
のパス検証には、追加の API コールが必要です。 AWS_CONFIG_FILE
-
AWS CLI が設定プロファイルを保存するために使用するファイルの場所を指定します。デフォルトのパスは
~/.aws/config
です。この値は、名前付きプロファイル設定に指定したり、コマンドラインパラメータを使用して指定したりすることはできません。
AWS_DATA_PATH
-
AWS CLI データをロードする場合、
~/.aws/models
のパスの検索が組み込まれた以外をチェックする追加のディレクトリのリスト。環境変数を設定することで、組み込まれた検索パスに戻る前に最初にチェックする追加のディレクトリを表示します。複数のエントリはos.pathsep
文字で区切る必要があり、Linux または macOS では:
、Windows では;
を使用します。 AWS_DEFAULT_OUTPUT
-
使用する出力形式を指定します。
定義されている場合、この環境変数はプロファイル設定
output
の値よりも優先されます。この環境変数は、--output
コマンドラインパラメータを使用して上書きできます。 AWS_DEFAULT_REGION
-
Default region name
では、デフォルトでリクエストを送信するサーバーの AWS リージョンを特定します。通常、お客様の最寄りのリージョンですが、どのリージョンでもかまいません。例えば、「us-west-2
」と入力すると、米国西部 (オレゴン) を使用できます。これは、個別のコマンドで指定されない限り、今後のすべてのリクエストが送信されるリージョンです。注記
AWS を使用する際は、明示的に、またはデフォルトリージョンを設定して、AWS CLI リージョンを指定する必要があります。使用可能なリージョンのリストについては、「リージョンとエンドポイント」を参照してください。AWS CLI で使用されるリージョン識別子は、AWS Management Console の URL およびサービスエンドポイントに表示されるのと同じ名前です。
定義されている場合、この環境変数はプロファイル設定
region
の値よりも優先されます。--region
のコマンドラインパラメータ と AWS SDK 互換のAWS_REGION
環境変数を使用することにより、環境変数を上書きできます。 AWS_EC2_METADATA_DISABLED
-
Amazon EC2 インスタンスメタデータサービス (IMDS) の使用を無効にします。
true に設定した場合、ユーザーの認証情報または設定 (リージョンなど) は IMDS から要求されません。
AWS_ENDPOINT_URL
-
すべてのサービスリクエストに使用されるエンドポイントを指定します。
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。
-
--endpoint-url
コマンドラインオプション。 -
有効にすると、
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
グローバルエンドポイント環境変数またはプロファイル設定ignore_configure_endpoint_urls
はカスタムエンドポイントを無視します。 -
サービス固有の環境変数
AWS_ENDPOINT_URL_<SERVICE>
(AWS_ENDPOINT_URL_DYNAMODB
など) によって提供される値。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
、およびAWS_ENDPOINT_URL
環境変数によって提供される値。 -
共有
config
ファイルのservices
セクション内のendpoint_url
設定によって提供されるサービス固有のエンドポイント値。 -
共有
config
ファイルのprofile
内のendpoint_url
設定によって提供される値。 -
use_dualstack_endpoint
、use_fips_endpoint
、およびendpoint_url
の設定。 -
各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
-
AWS_ENDPOINT_URL_<SERVICE>
-
特定のサービスに使用されるカスタムエンドポイントを指定します。
<SERVICE>
は AWS のサービス 識別子に置き換えられます。例えば、Amazon DynamoDB にはDynamoDB
の serviceId
があります。このサービスのエンドポイント URL 環境変数はAWS_ENDPOINT_URL_DYNAMODB
です。サービス固有の環境変数のリストについては、「サービス固有の識別子のリスト」を参照してください。
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。
-
--endpoint-url
コマンドラインオプション。 -
有効にすると、
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
グローバルエンドポイント環境変数またはプロファイル設定ignore_configure_endpoint_urls
はカスタムエンドポイントを無視します。 -
サービス固有の環境変数
AWS_ENDPOINT_URL_<SERVICE>
(AWS_ENDPOINT_URL_DYNAMODB
など) によって提供される値。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
、およびAWS_ENDPOINT_URL
環境変数によって提供される値。 -
共有
config
ファイルのservices
セクション内のendpoint_url
設定によって提供されるサービス固有のエンドポイント値。 -
共有
config
ファイルのprofile
内のendpoint_url
設定によって提供される値。 -
use_dualstack_endpoint
、use_fips_endpoint
、およびendpoint_url
の設定。 -
各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
-
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
-
有効にすると、AWS CLI はカスタムエンドポイント設定をすべて無視します。有効な値は、
true
およびfalse
です。エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。
-
--endpoint-url
コマンドラインオプション。 -
有効にすると、
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
グローバルエンドポイント環境変数またはプロファイル設定ignore_configure_endpoint_urls
はカスタムエンドポイントを無視します。 -
サービス固有の環境変数
AWS_ENDPOINT_URL_<SERVICE>
(AWS_ENDPOINT_URL_DYNAMODB
など) によって提供される値。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
、およびAWS_ENDPOINT_URL
環境変数によって提供される値。 -
共有
config
ファイルのservices
セクション内のendpoint_url
設定によって提供されるサービス固有のエンドポイント値。 -
共有
config
ファイルのprofile
内のendpoint_url
設定によって提供される値。 -
use_dualstack_endpoint
、use_fips_endpoint
、およびendpoint_url
の設定。 -
各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
-
- AWS_MAX_ATTEMPTS
-
再試行ハンドラが使用する AWS CLI の最大再試行回数を指定します。最初の呼び出しは、指定した値に対してカウントされます。再試行の詳細については、「AWS CLI での AWS CLI の再試行」を参照してください。
定義されている場合、この環境変数はプロファイル設定
max_attempts
の値よりも優先されます。 AWS_METADATA_SERVICE_NUM_ATTEMPTS
-
IAM ロールで設定された Amazon EC2 instance インスタンスで認証情報の取得を試行すると、AWS CLI では停止する前にインスタンスメタデータサービスからの認証情報の取得を試行します。Amazon EC2 インスタンスで実行されるコマンドがわかっている場合は、停止するまでに AWS CLI が複数回再試行するように、この値を増やすことができます。
AWS_METADATA_SERVICE_TIMEOUT
-
インスタンスメタデータサービスに接続する前にタイムアウトするまでの秒数。IAM ロールで設定された Amazon EC2 インスタンスで認証情報の取得を試行すると、インスタンスメタデータサービスへの接続はデフォルトで 1 秒後にタイムアウトします。設定された IAM ロールを使用して Amazon EC2 インスタンスで実行されていることがわかっている場合は、必要に応じてこの値を増やすことができます。
- AWS_PAGER
-
出力に使用されるページャープログラムを指定します。AWS CLI バージョン 2 はデフォルトで、すべての出力をオペレーティングシステムのデフォルトページャープログラム経由で返します。
外部ページングプログラムの使用をすべて無効にするには、変数を空の文字列に設定します。
定義されている場合、この環境変数はプロファイル設定
cli_pager
の値よりも優先されます。 - AWS_PROFILE
-
使用する認証情報およびオプションと共に AWS CLI プロファイルの名前を指定します。これは、
credentials
ファイルまたはconfig
ファイルに保存されているプロファイルの名前、または、デフォルトプロファイルを使用する場合は値default
となります。この環境変数を指定した場合、設定ファイルの
[default]
という名前のプロファイルを使用する動作は上書きされます。この環境変数は、--profile
コマンドラインパラメータを使用して上書きできます。 AWS_REGION
-
リクエストを送信する AWS リージョンを指定する AWS 互換の環境変数。
定義されている場合、この環境変数は環境変数
AWS_DEFAULT_REGION
とプロファイル設定region
の値を上書きします。この環境変数は、--region
コマンドラインパラメータを使用して上書きできます。 - AWS_RETRY_MODE
-
AWS CLI が使用する再試行モードを指定します。再試行モードには、レガシー (デフォルト)、標準、アダプティブの 3 つがあります。再試行の詳細については、「AWS CLI での AWS CLI の再試行」を参照してください。
定義されている場合、この環境変数はプロファイル設定
retry_mode
の値よりも優先されます。 AWS_ROLE_ARN
-
AWS CLI コマンドの実行に使用するウェブ ID プロバイダの IAM ロールの Amazon リソースネーム (ARN) を指定します。
AWS_WEB_IDENTITY_TOKEN_FILE
およびAWS_ROLE_SESSION_NAME
環境変数で使用されます。定義されている場合、この環境変数はプロファイル設定 role_arn の値よりも優先されます。ロールセッション名をコマンドラインパラメータとして指定することはできません。
注記
この環境変数は、ウェブ ID プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。
ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。
AWS_ROLE_SESSION_NAME
-
ロールセッションにアタッチする名前を指定します。この値は、
RoleSessionName
が AWS CLI オペレーションを呼び出す場合にAssumeRole
パラメータに提供され、引き受けたロールユーザー ARNarn:aws:sts::
の一部になります。このパラメータはオプションです。この値を指定しない場合、セッション名は自動的に生成されます。この名前は、このセッションに関連付けられたエントリの AWS CloudTrail ログに表示されます。123456789012
:assumed-role/role_name
/role_session_name
定義されている場合、この環境変数はプロファイル設定 role_session_name の値よりも優先されます。
AWS_ROLE_ARN
およびAWS_WEB_IDENTITY_TOKEN_FILE
環境変数で使用されます。ウェブ ID の使用の詳細については、「ウェブ ID を使用したロールの継承」を参照してください。
注記
この環境変数は、ウェブ ID プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。
AWS_SDK_UA_APP_ID
-
単一の AWS アカウントを複数のカスタマーアプリケーションで使用して、AWS のサービスを呼び出すことができます。アプリケーション ID は、AWS のサービスを使用して一連の呼び出しを行ったソースアプリケーションを識別します。AWSSDK とサービスは、カスタマーコミュニケーションに返す以外の目的で、この値を使用したり解釈したりはしません。例えば、この値を運用 E メールに含めることにより、通知に関連付けられているアプリケーションを一意に識別できます。
デフォルトでは、値がありません。
アプリケーション ID は、最大長 50 文字の文字列です。文字、数字および次の特殊文字を使用することができます。
! $ % & * + - . , ^ _ ` | ~
定義されている場合、この環境変数はプロファイル設定 sdk_ua_app_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_USE_DUALSTACK_ENDPOINT
-
デュアルスタックのエンドポイントを使用して AWS リクエストを送信できるようにします。IPv4 と IPv6 の両方のトラフィックをサポートするデュアルスタックエンドポイントの詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 デュアルスタックエンドポイントの使用」を参照してください。デュアルスタックのエンドポイントは、一部のリージョンでは一部のサービスで利用できます。サービスまたは AWS リージョン にデュアルスタックエンドポイントが存在しない場合、リクエストは失敗します。これはデフォルトでは無効になっています。
エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。
-
--endpoint-url
コマンドラインオプション。 -
有効にすると、
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
グローバルエンドポイント環境変数またはプロファイル設定ignore_configure_endpoint_urls
はカスタムエンドポイントを無視します。 -
サービス固有の環境変数
AWS_ENDPOINT_URL_<SERVICE>
(AWS_ENDPOINT_URL_DYNAMODB
など) によって提供される値。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
、およびAWS_ENDPOINT_URL
環境変数によって提供される値。 -
共有
config
ファイルのservices
セクション内のendpoint_url
設定によって提供されるサービス固有のエンドポイント値。 -
共有
config
ファイルのprofile
内のendpoint_url
設定によって提供される値。 -
use_dualstack_endpoint
、use_fips_endpoint
、およびendpoint_url
の設定。 -
各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
-
AWS_USE_FIPS_ENDPOINT
-
AWS の一部のサービスでは、連邦情報処理規格 (FIPS、Federal Information Processing Standard) 140-2
をサポートするエンドポイントを一部の AWS リージョンで提供しています。AWS のサービスが FIPS をサポートしている場合、この設定により、どの FIPS エンドポイントを AWS CLI が使用すべきかを指定します。標準の AWS エンドポイントとは異なり、FIPS エンドポイントでは FIPS 140-2 に準拠した TLS ソフトウェアライブラリを使用しています。このエンドポイントは、米国政府とやり取りをする企業で必要とされる場合があります。 この設定が有効になっているが、AWS リージョン内のサービス用 FIPS エンドポイントが存在しない場合、AWS のコマンドは失敗する可能性があります。この場合は、
--endpoint-url
オプションを使用してコマンドで使用するエンドポイントを手動で指定するか、サービス固有のエンドポイントを使用します。AWS リージョンごとの FIPS エンドポイントの指定については、「サービス別の FIPS エンドポイント
」を参照してください。 エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。
-
--endpoint-url
コマンドラインオプション。 -
有効にすると、
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
グローバルエンドポイント環境変数またはプロファイル設定ignore_configure_endpoint_urls
はカスタムエンドポイントを無視します。 -
サービス固有の環境変数
AWS_ENDPOINT_URL_<SERVICE>
(AWS_ENDPOINT_URL_DYNAMODB
など) によって提供される値。 -
AWS_USE_DUALSTACK_ENDPOINT
、AWS_USE_FIPS_ENDPOINT
、およびAWS_ENDPOINT_URL
環境変数によって提供される値。 -
共有
config
ファイルのservices
セクション内のendpoint_url
設定によって提供されるサービス固有のエンドポイント値。 -
共有
config
ファイルのprofile
内のendpoint_url
設定によって提供される値。 -
use_dualstack_endpoint
、use_fips_endpoint
、およびendpoint_url
の設定。 -
各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「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 プロバイダを使用したロール継承にのみ適用され、一般的なロール継承プロバイダ設定には適用されません。