クライアント設定 - AWS SDK for Java 1.x

end-of-support の今後の AWS SDK for Java (v1) を発表しましたAWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

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

クライアント設定

AWS SDK for Java では、デフォルトのクライアント設定を変更できます。これは、次の場合に便利です。

  • プロキシを使用したインターネットへの接続

  • HTTP トランスポートの設定 (接続タイムアウトやリクエスト再試行など) の変更

  • TCP ソケットバッファのサイズに関するヒントの指定

プロキシ設定

クライアントオブジェクトを構築するときに、オプションのClientConfigurationオブジェクトを渡してクライアントの設定をカスタマイズできます。

プロキシサーバーを使用してインターネットに接続する場合は、ClientConfiguration オブジェクトを使用して、プロキシサーバーの設定 (プロキシホスト、ポート、ユーザー名やパスワード) を指定する必要があります。

HTTP トランスポートの設定

ClientConfiguration オブジェクトを使用して、複数の HTTP トランスポートオプションを設定できます。新しいオプションが時折追加されることがあります。取得または設定できるオプションの完全なリストを確認するには、 AWS SDK for Java API リファレンスを参照してください。

注記

設定可能な各値には、定数によって定義されるデフォルト値があります。の定数値のリストについてはClientConfiguration、 AWS SDK for Java 「 API リファレンス」の「定数フィールド値」を参照してください。

最大接続数

. ClientConfigurationsetMaxConnectionsメソッドを使用して、オープン HTTP 接続の最大許容数を設定できます。

重要

同時トランザクション数に最大接続数を設定します。接続の競合およびパフォーマンスの低下を回避します。デフォルトの最大接続値については、 AWS SDK for Java 「 API リファレンス」の「定数フィールド値」を参照してください。

タイムアウトとエラー処理

HTTP 接続でのタイムアウトとエラー処理に関連するオプションを設定できます。

  • 接続タイムアウト

    接続タイムアウトは、接続を確立するまでに HTTP 接続が待機する時間 (ミリ秒単位) です。デフォルトは 10,000 ミリ秒です。

    この値を自分で設定するには、ClientConfiguration.setConnectionTimeout メソッドを使用します。

  • 接続有効期限 (TTL)

    デフォルトで、SDK は HTTP 接続を可能な限り長い時間再利用しようとします。サービスが停止したサーバーに対して接続が確立される失敗の状況では、有限の TTL がアプリケーション復旧に役立つ場合があります。たとえば、15 分の TTL を設定すれば、問題が発生しているサーバーに対して接続が確立されていても、15 分以内に新しいサーバーに接続を再確立できます。

    HTTP 接続 TTL を設定するには、ClientConfiguration.setConnectionTTL メソッドを使用します。

  • エラーの最大再試行回数

    デフォルトの再試行可能なエラーの最大再試行回数は 3 です。ClientConfiguration.setMaxErrorRetry メソッドを使用して、別の値を設定できます。

ローカルアドレス

HTTP クライアントがバインドするローカルアドレスを設定するには、 を使用しますClientConfiguration。setLocalAddress

TCP ソケットバッファのサイズに関するヒント

低レベルの TCP パラメータをチューニングしたい上級ユーザーは、さらに ClientConfiguration オブジェクトを通じて TCP バッファサイズのヒントを設定できます。ほとんどのユーザーはこれらの値を微調整する必要はありません。これらの値は上級ユーザー向けの値です。

アプリケーションに最適な TCP バッファサイズは、ネットワークやオペレーティングシステムの設定と機能に大きく依存します。たとえば、最新のオペレーティングシステムのほとんどでは、TCP バッファサイズを自動的にチューニングするロジックが組み込まれています。このロジックは TCP 接続のパフォーマンスに大きな影響を与える可能性があります。自動チューニングロジックでバッファサイズを最適化するために、TCP 接続を長い時間開いたままにしておくためです。

バッファサイズを大きくすると (2 MB など)、リモートサーバーでその情報の受信を確認しなくてもオペレーティングシステムでメモリにバッファできるデータが多くなるため、ネットワークのレイテンシーが高い場合に役立ちます。

これはヒントのみです。そのヒントを採用するかどうかはオペレーティングシステムが決定します。このオプションを使用する場合、ユーザーはオペレーティングシステムで設定されている制限とデフォルト値を必ず確認する必要があります。ほとんどのオペレーティングシステムでは、最大 TCP バッファサイズの制限が設定されており、最大 TCP バッファサイズの制限を明示的に引き上げない限り、その制限を超えることはできません。

TCP バッファサイズおよびオペレーティングシステムに固有の TCP 設定を指定するために、次を含む多数のリソースが利用できます。