スマート設定デフォルト - 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 – が AWS Security Token Service () との通信に使用する AWS サービス エンドポイントSDKを決定する方法を指定しますAWS STS。AWS STS リージョン化されたエンドポイント を参照してください。

  • s3UsEast1RegionalEndpointsus-east-1がリージョンの Amazon S3 と通信するために使用する AWS サービスエンドポイントSDKを決定する方法を指定します。

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

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

各設定のデフォルト値は、アプリケーションで選択した 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 用 なし
のツール PowerShell あり 最適化されていないパラメーター:connectTimeoutInMillistlsNegotiationTimeoutInMillis