スマート設定デフォルト - AWS SDKs および ツール

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

スマート設定デフォルト

スマート設定のデフォルト機能では、 AWS SDKs は、他の構成設定用に事前定義された最適化されたデフォルト値を提供できます。

この機能を設定するには、以下のように使用します。

defaults_mode - 共有 AWS config ファイル設定
AWS_DEFAULTS_MODE - 環境変数
aws.defaultsMode - JVMシステムプロパティ: Java/Kotlin のみ

この設定では、アプリケーションアーキテクチャに合ったモードを選択できます。これにより、アプリケーションに最適なデフォルト値が使用できるようになります。の場合 AWS SDK 設定には明示的に値が設定されており、その値は常に優先されます。の場合 AWS SDK 設定には明示的に設定された値はなく、レガシーと等しくないため、この機能defaults_modeはアプリケーションに最適化されたさまざまな設定に対して異なるデフォルト値を提供することができます。設定には、HTTP通信設定、再試行動作、サービスリージョンエンドポイント設定、および場合によっては SDK関連の設定が含まれます。この機能を使用するお客様は、一般的な使用シナリオに合わせた新しいデフォルト設定を取得できます。defaults_mode が と等しくない場合はlegacy、 をアップグレードするときにアプリケーションのテストを実行することをお勧めします。これはSDK、ベストプラクティスが進化するにつれて、提供されるデフォルト値が変わる可能性があるためです。

デフォルト値: legacy

注: の新しいメジャーバージョンSDKsはデフォルトで になりますstandard

有効な値:

  • legacy – の確立前に存在SDKしていた および によって異なるデフォルト設定を提供しますdefaults_mode

  • standard – ほとんどのシナリオで安全に実行できる最新の推奨デフォルト値を使用します。

  • in-region – 標準モードに基づいて構築され、 を呼び出すアプリケーションに合わせた最適化が含まれています。 AWS のサービス 同じ 内から AWS リージョン.

  • cross-region – 標準モードに基づいて構築され、 を呼び出すアプリケーションに合わせた最適化が含まれています。 AWS のサービス 別のリージョンにある。

  • mobile – 標準モードに基づいて構築されており、モバイルアプリケーションに合わせた最適化が含まれています。

  • auto – 標準モードに基づいて構築されており、実験的な機能が含まれています。はランタイム環境を検出して、適切な設定を自動的に決定SDKしようとします。自動検出はヒューリスティックに基づいてあり、100% の精度は得られません。ランタイム環境を特定できない場合は、standard モードが使用されます。自動検出では、インスタンスメタデータ がクエリされ、レイテンシーが発生する可能性があります。起動時のレイテンシーがアプリケーションにとって最重要な場合は、代わりに明示的な defaults_mode を選択することをおすすめします。

config ファイルにこの値を設定する例を以下に示します。

[default] defaults_mode = standard

以下のパラメータは、defaults_mode の選択に基づいて最適化される可能性があります。

  • retryMode – SDK再試行方法を指定します。「再試行動作」を参照してください。

  • stsRegionalEndpoints – が をどのようにSDK判断するかを指定します。 AWS のサービス との通信に使用する エンドポイント AWS Security Token Service (AWS STS)。 「」を参照してくださいAWS STS リージョンエンドポイント

  • s3UsEast1RegionalEndpoints – が をどのようにSDK判断するかを指定します。 AWS us-east-1 リージョンの Amazon S3 と通信するために使用する サービスエンドポイント。

  • connectTimeoutInMillis – ソケットで初めて接続を試みた後、タイムアウトするまでの時間。クライアントが接続ハンドシェイクの完了を受け取らない場合、クライアントは断念しオペレーションは失敗します。

  • tlsNegotiationTimeoutInMillis — CLIENTHELLOメッセージが送信された時点から、クライアントとサーバーが完全に暗号をネゴシエートし、キーを交換した時点まで、TLSハンドシェイクにかかる最大時間。

各設定のデフォルト値は、アプリケーションで選択した defaults_mode によって異なります。これらの値は、現在以下のように設定されています(変更される可能性があります)。

パラメータ standard モード in-region モード cross-region モード mobile モード
retryMode standard standard standard standard
stsRegionalEndpoints regional regional regional regional
s3UsEast1RegionalEndpoints regional regional regional regional
connectTimeoutInMillis 3100 1100 3100 30000
tlsNegotiationTimeoutInMillis 3100 1100 3100 30000

たとえば、選択した defaults_modestandard の場合、standard の値が(有効な retry_mode オプションから)retry_mode に割り当てられ、regional の値が(有効な stsRegionalEndpoints オプションから)stsRegionalEndpoints に割り当てられます。

との互換性 AWS SDKs

このトピックで説明されている機能と設定SDKsを以下に示します。部分的な例外があれば、すべて記載されています。すべてのJVMシステムプロパティ設定は、 でサポートされています。 AWS SDK for Java と AWS SDK for Kotlin のみ。

SDK サポート 注意または詳細情報
AWS CLI v2 なし
SDK C++ 用 あり 最適化されていないパラメーター:stsRegionalEndpointss3UsEast1RegionalEndpointstlsNegotiationTimeoutInMillis
SDK Go V2 用 (1.x) あり 最適化されていないパラメーター:retryModestsRegionalEndpointss3UsEast1RegionalEndpoints
SDK Go 1.x (V1) 用 なし
SDK for Java 2.x あり 最適化されていないパラメーター:stsRegionalEndpoints
SDK for Java 1.x なし
SDK JavaScript 3.x 用 あり 最適化されていないパラメーター:stsRegionalEndpointss3UsEast1RegionalEndpointstlsNegotiationTimeoutInMillisconnectTimeoutInMillisconnectionTimeout と呼ばれます。
SDK JavaScript 2.x 用 なし
SDK Kotlin 用 なし
SDK の 。NET 3.x あり 最適化されていないパラメーター:connectTimeoutInMillistlsNegotiationTimeoutInMillis
SDK 3.x PHP 用 あり 最適化されていないパラメーター:tlsNegotiationTimeoutInMillis
SDK for Python (Boto3) あり 最適化されていないパラメーター:tlsNegotiationTimeoutInMillis
SDK Ruby 3.x 用 あり
SDK Rust 用 なし
SDK Swift 用 なし
のツール PowerShell あり 最適化されていないパラメーター:connectTimeoutInMillistlsNegotiationTimeoutInMillis