AWS SDK とツールの設定リファレンス - AWS SDKsとツール

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

AWS SDK とツールの設定リファレンス

SDK には AWS のサービス への言語固有の API が含まれています。認証、再試行動作など、API コールを正常に行うために必要な面倒な作業の一部はこれらによって処理されます。そのために、SDK にはリクエストに使用する認証情報の取得、各サービスで使用する設定の管理、グローバル設定に使用する値の取得といった柔軟な戦略があります。

設定の詳細については、以下のセクションを参照してください。

サービスクライアントの作成

SDK はプログラムから AWS のサービス にアクセスするため、それぞれの AWS のサービス にクライアントクラス/オブジェクトを使用します。たとえば、アプリケーションが Amazon EC2 にアクセスする必要がある場合、アプリケーションはそのサービスとインターフェイスをとる Amazon EC2 クライアントオブジェクトを作成します。次に、サービスクライアントを使用して、その AWS のサービス に対してリクエストを実行します。ほとんどの SDK ではサービスクライアントオブジェクトはイミュータブルであるため、リクエストを実行する各サービスについて、または異なった設定を使用する同じサービスにリクエストを実行するために、新しいクライアントを作成する必要があります。

設定の優先順位

グローバル設定は、ほとんどの SDK でサポートされ、AWS のサービス 全体に幅広く影響する機能、認証情報プロバイダー、およびその他の機能を設定します。すべての SDK には、グローバル設定の値を見つけるための一連の場所(またはソース)があります。設定検索の優先順位は次のとおりです。

  1. コードまたはサービスクライアント自体に設定されている明示的な設定は、他の設定よりも優先されます。

    • 一部の設定はオペレーションごとに設定でき、呼び出すオペレーションごとに必要に応じて変更できます。AWS CLI または AWS Tools for PowerShell の場合、これらはコマンドラインに入力するオペレーションごとのパラメータの形式をとります。SDK の場合、明示的な割り当ては、AWS のサービス クライアントや設定オブジェクトをインスタンス化するときや、個々の API を呼び出すときに設定するパラメータの形式をとることができます。

  2. Java/Kotlin のみ: 設定の JVM システムプロパティがチェックされます。設定されている場合は、その値を使用してクライアントが設定されます。

  3. 環境変数が確認されます。設定されている場合は、その値を使用してクライアントが設定されます。

  4. SDK は、設定の共有 credentials ファイルを確認します。設定されている場合、クライアントはそれを使用します。

  5. 設定の共有 config ファイル。設定が存在する場合、SDK はその設定を使用します。

    • AWS_PROFILE 環境変数または aws.profile システムプロパティを使用して、どのプロファイルが SDK によってロードされるかを指定できます。

  6. SDK ソースコード自体が提供するデフォルト値が最後に使用されます。

注記

SDK やツールによっては、チェックの順序が異なる場合があります。また、SDK やツールの中には、他の方法でパラメータを保存したり取得したりできるものもあります。たとえば、AWS SDK for .NET は SDK ストアと呼ばれる追加のソースをサポートしています。SDK またはツールにのみ存在するプロバイダーについて詳しくは、使用している SDK またはツールの特定のガイドを参照してください。

順序によって、どのメソッドが優先され、他のメソッドをオーバーライドするかが決まります。たとえば、共有 config ファイルにプロファイルを設定した場合、そのプロファイルは SDK またはツールが最初に他の場所を確認した後にのみ検出され、使用されます。つまり、credentials ファイルに設定を入力すると、config ファイルにある設定の代わりにその設定が使用されます。環境変数に設定と値を設定すると、credentialsconfig ファイルの両方の設定がオーバーライドされます。最後に、個々のオペレーション(AWS CLI コマンドラインパラメータまたは API パラメータ)またはコード内の設定は、その 1 つのコマンドの他のすべての値をオーバーライドします。

このガイドの設定ページについて

このガイドの「設定リファレンス」セクションのページには、さまざまなメカニズムで設定できる利用可能な設定の詳細が記載されています。次の表は、設定と認証情報のファイル設定、環境変数、および (Java と Kotlin SDK の場合) 機能を設定するためにコードの外部で使用できる JVM 設定を示しています。各リストのリンクされたそれぞれのトピックから、対応する設定ページに移動できます。

それぞれの認証情報プロバイダーまたは機能には、その機能の設定に使用される設定が一覧表示されるページがあります。それぞれの設定で、設定を設定ファイルに追加するか、環境変数を設定するか、または JVM システムプロパティを設定して (Java および Kotlin のみ) 値を設定できます。それぞれの設定には、説明の詳細の上にあるブロックで値を設定するためにサポートされているすべてのメソッドが一覧表示されます。優先順位は異なりますが、結果の機能は設定方法に関係なく同じになりす。

説明には、何もしない場合に有効になるデフォルト値 (ある場合) も含まれています。また、その設定の有効な値も定義します。

例として、「リクエスト圧縮」機能のページから設定を見てみましょう。

disable_request_compression」の例の設定の情報には、以下が記載されています。

  • コードベース外でリクエスト圧縮を制御するには、3 つの同等の方法があります。次のいずれかを行うことができます。

    • disable_request_compression を使用して設定ファイルで設定する

    • AWS_DISABLE_REQUEST_COMPRESSION を使用して環境変数として設定する

    • aws.disableRequestCompression を使用して JVM システムプロパティとして設定する (Java または Kotlin SDK を使用している場合)

    注記

    また、コード内で同じ機能を直接設定する方法もありますが、その方法は各 SDK に固有であるため、このリファレンスではカバーしていません。コード自体で設定を設定する場合は、固有の SDK ガイドまたは API リファレンスを参照してください。

  • 何もしない場合、値はデフォルトで false になります。

  • この Boolean の設定の有効な値は、truefalse のみです。

各機能のページの下部には、 AWS SDK とツールによるサポートの表があります。

この表は、SDK がページにリストされている設定をサポートしているかどうかを示しています。Supported 列は、次の値を使用してサポートレベルを示します。

  • Yes – 設定は、記述されたとおりに SDK によって完全にサポートされています。

  • Partial – 一部の設定がサポートされているか、動作が説明とは異なります。Partial の場合、その違いを示す補足説明があります。

  • No – どの設定もサポートされていません。これは、コードで同じ機能を達成できるかどうかについては主張していません。リストされている外部構成設定がサポートされていないことを示しているだけです。

Config ファイル設定リスト

次の表に示す設定は、共有 AWS config ファイルに割り当てることができます。これらはグローバルで、すべての AWS のサービス に影響します。また、SDK とツールは、一意の設定と環境変数をサポートする場合もあります。個々の SDK またはツールでのみサポートされている設定と環境変数を確認するには、その SDK またはツール固有のガイドを参照してください。

設定名 詳細
account_id_endpoint_mode アカウントベースのエンドポイント
api_versions 一般設定
auth_scheme_preference 認証スキーム
aws_access_key_id AWS アクセスキー
aws_account_id アカウントベースのエンドポイント
aws_secret_access_key AWS アクセスキー
aws_session_token AWS アクセスキー
ca_bundle 一般設定
credential_process プロセス認証情報プロバイダー
credential_source ロール認証情報プロバイダーを引き受けます
defaults_mode スマート設定デフォルト
disable_host_prefix_injection ホストプレフィックスインジェクション
disable_request_compression リクエスト圧縮
duration_seconds ロール認証情報プロバイダーを引き受けます
ec2_metadata_service_endpoint IMDS 認証情報プロバイダー
ec2_metadata_service_endpoint_mode IMDS 認証情報プロバイダー
ec2_metadata_v1_disabled IMDS 認証情報プロバイダー
endpoint_discovery_enabled エンドポイント検出
endpoint_url サービス固有のエンドポイント
external_id ロール認証情報プロバイダーを引き受けます
ignore_configured_endpoint_urls サービス固有のエンドポイント
max_attempts 再試行動作
metadata_service_num_attempts Amazon EC2 インスタンスメタデータ
metadata_service_timeout Amazon EC2 インスタンスメタデータ
mfa_serial ロール認証情報プロバイダーを引き受けます
output 一般設定
parameter_validation 一般設定
region AWS リージョン
request_checksum_calculation Amazon S3 のデータ整合性保護
request_min_compression_size_bytes リクエスト圧縮
response_checksum_validation Amazon S3 のデータ整合性保護
retry_mode 再試行動作
role_arn ロール認証情報プロバイダーを引き受けます
role_session_name ロール認証情報プロバイダーを引き受けます
s3_disable_express_session_auth S3 Express One Zone セッション認証
s3_disable_multiregion_access_points Amazon S3 マルチリージョンアクセスポイント
s3_use_arn_region Amazon S3 アクセスポイント
sdk_ua_app_id アプリケーション ID
sigv4a_signing_region_set 認証スキーム
source_profile ロール認証情報プロバイダーを引き受けます
sso_account_id IAM Identity Center 認証情報プロバイダー
sso_region IAM Identity Center 認証情報プロバイダー
sso_registration_scopes IAM Identity Center 認証情報プロバイダー
sso_role_name IAM Identity Center 認証情報プロバイダー
sso_start_url IAM Identity Center 認証情報プロバイダー
sts_regional_endpoints AWS STS リージョンエンドポイント
use_dualstack_endpoint デュアルスタックと FIPS エンドポイント
use_fips_endpoint デュアルスタックと FIPS エンドポイント
web_identity_token_file ロール認証情報プロバイダーを引き受けます

Credentials ファイル設定リスト

次の表に示す設定は、共有 AWS credentials ファイルに割り当てることができます。これらはグローバルで、すべての AWS のサービス に影響します。また、SDK とツールは、一意の設定と環境変数をサポートする場合もあります。個々の SDK またはツールでのみサポートされている設定と環境変数を確認するには、その SDK またはツール固有のガイドを参照してください。

設定名 詳細
aws_access_key_id AWS アクセスキー
aws_secret_access_key AWS アクセスキー
aws_session_token AWS アクセスキー

環境変数の一覧

ほとんどの SDK でサポートされる環境変数は、以下の表に示されています。これらはグローバルで、すべての AWS のサービス に影響します。また、SDK とツールは、一意の設定と環境変数をサポートする場合もあります。個々の SDK またはツールでのみサポートされている設定と環境変数を確認するには、その SDK またはツール固有のガイドを参照してください。

設定名 詳細
AWS_ACCESS_KEY_ID AWS アクセスキー
AWS_ACCOUNT_ID アカウントベースのエンドポイント
AWS_ACCOUNT_ID_ENDPOINT_MODE アカウントベースのエンドポイント
AWS_AUTH_SCHEME_PREFERENCE 認証スキーム
AWS_CA_BUNDLE 一般設定
AWS_CONFIG_FILE AWS SDK とツールの共有 config および credentials ファイルの場所を検索して変更する
AWS_CONTAINER_AUTHORIZATION_TOKEN コンテナ認証情報プロバイダー
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE コンテナ認証情報プロバイダー
AWS_CONTAINER_CREDENTIALS_FULL_URI コンテナ認証情報プロバイダー
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI コンテナ認証情報プロバイダー
AWS_DEFAULTS_MODE スマート設定デフォルト
AWS_DISABLE_HOST_PREFIX_INJECTION ホストプレフィックスインジェクション
AWS_DISABLE_REQUEST_COMPRESSION リクエスト圧縮
AWS_EC2_METADATA_DISABLED IMDS 認証情報プロバイダー
AWS_EC2_METADATA_SERVICE_ENDPOINT IMDS 認証情報プロバイダー
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE IMDS 認証情報プロバイダー
AWS_EC2_METADATA_V1_DISABLED IMDS 認証情報プロバイダー
AWS_ENABLE_ENDPOINT_DISCOVERY エンドポイント検出
AWS_ENDPOINT_URL サービス固有のエンドポイント
AWS_ENDPOINT_URL_<SERVICE> サービス固有のエンドポイント
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS サービス固有のエンドポイント
AWS_MAX_ATTEMPTS 再試行動作
AWS_METADATA_SERVICE_NUM_ATTEMPTS Amazon EC2 インスタンスメタデータ
AWS_METADATA_SERVICE_TIMEOUT Amazon EC2 インスタンスメタデータ
AWS_PROFILE 共有 config および credentials ファイルを使用して AWS SDK とツールをグローバルに設定する
AWS_REGION AWS リージョン
AWS_REQUEST_CHECKSUM_CALCULATION Amazon S3 のデータ整合性保護
AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES リクエスト圧縮
AWS_RESPONSE_CHECKSUM_VALIDATION Amazon S3 のデータ整合性保護
AWS_RETRY_MODE 再試行動作
AWS_ROLE_ARN ロール認証情報プロバイダーを引き受けます
AWS_ROLE_SESSION_NAME ロール認証情報プロバイダーを引き受けます
AWS_S3_DISABLE_EXPRESS_SESSION_AUTH S3 Express One Zone セッション認証
AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS Amazon S3 マルチリージョンアクセスポイント
AWS_S3_USE_ARN_REGION Amazon S3 アクセスポイント
AWS_SDK_UA_APP_ID アプリケーション ID
AWS_SECRET_ACCESS_KEY AWS アクセスキー
AWS_SESSION_TOKEN AWS アクセスキー
AWS_SHARED_CREDENTIALS_FILE AWS SDK とツールの共有 config および credentials ファイルの場所を検索して変更する
AWS_SIGV4A_SIGNING_REGION_SET 認証スキーム
AWS_STS_REGIONAL_ENDPOINTS AWS STS リージョンエンドポイント
AWS_USE_DUALSTACK_ENDPOINT デュアルスタックと FIPS エンドポイント
AWS_USE_FIPS_ENDPOINT デュアルスタックと FIPS エンドポイント
AWS_WEB_IDENTITY_TOKEN_FILE ロール認証情報プロバイダーを引き受けます

JVM システムプロパティリスト

AWS SDK for Java および AWS SDK for Kotlin (JVM をターゲットとする) には、次の JVM システムプロパティを使用できます。JVM システムプロパティを設定する方法については、「JVM システムプロパティを設定する方法」を参照してください。

設定名 詳細
aws.accessKeyId AWS アクセスキー
aws.accountId アカウントベースのエンドポイント
aws.accountIdEndpointMode アカウントベースのエンドポイント
aws.authSchemePreference 認証スキーム
aws.configFile AWS SDK とツールの共有 config および credentials ファイルの場所を検索して変更する
aws.defaultsMode スマート設定デフォルト
aws.disableEc2MetadataV1 IMDS 認証情報プロバイダー
aws.disableHostPrefixInjection ホストプレフィックスインジェクション
aws.disableRequestCompression リクエスト圧縮
aws.disableS3ExpressAuth S3 Express One Zone セッション認証
aws.ec2MetadataServiceEndpoint IMDS 認証情報プロバイダー
aws.ec2MetadataServiceEndpointMode IMDS 認証情報プロバイダー
aws.endpointDiscoveryEnabled エンドポイント検出
aws.endpointUrl サービス固有のエンドポイント
aws.endpointUrl<ServiceName> サービス固有のエンドポイント
aws.ignoreConfiguredEndpointUrls サービス固有のエンドポイント
aws.maxAttempts 再試行動作
aws.profile 共有 config および credentials ファイルを使用して AWS SDK とツールをグローバルに設定する
aws.region AWS リージョン
aws.requestChecksumCalculation Amazon S3 のデータ整合性保護
aws.requestMinCompressionSizeBytes リクエスト圧縮
aws.responseChecksumValidation Amazon S3 のデータ整合性保護
aws.retryMode 再試行動作
aws.roleArn ロール認証情報プロバイダーを引き受けます
aws.roleSessionName ロール認証情報プロバイダーを引き受けます
aws.s3DisableMultiRegionAccessPoints Amazon S3 マルチリージョンアクセスポイント
aws.s3UseArnRegion Amazon S3 アクセスポイント
aws.secretAccessKey AWS アクセスキー
aws.sessionToken AWS アクセスキー
aws.sharedCredentialsFile AWS SDK とツールの共有 config および credentials ファイルの場所を検索して変更する
aws.useDualstackEndpoint デュアルスタックと FIPS エンドポイント
aws.useFipsEndpoint デュアルスタックと FIPS エンドポイント
aws.webIdentityTokenFile ロール認証情報プロバイダーを引き受けます
sdk.ua.appId アプリケーション ID