Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

再試行 - AWS SDK for Rust

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

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

再試行

AWS SDK for Rust には、デフォルトの再試行動作とカスタマイズ可能な設定オプションが用意されています。を呼び出すと、予期しない例外が返 AWS のサービス されることがあります。呼び出しを再試行すると、スロットリングや一時的なエラーなど、特定のタイプのエラーが成功する可能性があります。

再試行動作は、共有 AWS configファイルの環境変数または設定を使用してグローバルに設定できます。このアプローチの詳細については、「 SDK とツールのリファレンスガイド」の「再試行動作」を参照してください。 AWS SDKs また、再試行戦略の実装に関する詳細情報と、異なる戦略を選択する方法も含まれています。

または、次のセクションに示すように、これらのオプションをコードで設定することもできます。

デフォルトの再試行設定

すべてのサービスクライアントは、デフォルトで RetryConfig 構造体を通じて提供されるstandard再試行戦略設定になります。デフォルトでは、呼び出しは 3 回試行されます (最初の試行と 2 回の再試行)。さらに、各再試行は、再試行ストームを避けるために、短いランダムな時間遅延します。この規則は、ほとんどのユースケースに適していますが、高スループットシステムなどの特定の状況では適さない場合があります。

SDKs では、一部のタイプのエラーのみが再試行可能と見なされます。再試行可能なエラーの例は次のとおりです。

  • ソケットタイムアウト

  • サービス側のスロットリング

  • HTTP 5XX レスポンスなどの一時的なサービスエラー

以下の例は再試行可能とは見なされません

  • パラメータがないか無効です

  • 認証/セキュリティエラー

  • 設定ミスの例外

最大試行回数、遅延回数、バックオフ回数を設定することで、standard再試行戦略をカスタマイズできます。

最大試行回数

変更した を RetryConfigに提供することで、コードの最大試行回数をカスタマイズできますaws_config::defaults

const CUSTOM_MAX_ATTEMPTS: u32 = 5; let retry_config = RetryConfig::standard() // Set max attempts. When max_attempts is 1, there are no retries. // This value MUST be greater than zero. // Defaults to 3. .with_max_attempts(CUSTOM_MAX_ATTEMPTS); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

遅延とバックオフ

再試行が必要な場合、デフォルトの再試行戦略は後続の試行を行う前に待機します。最初の再試行の遅延は小さいですが、後の再試行では指数関数的に増加します。最大遅延量は、大きくなりすぎないように制限されます。

ランダムジッターは、すべての試行間の遅延に適用されます。ジッターは、再試行ストームを引き起こす可能性のある大規模なフリートの影響を軽減するのに役立ちます。エクスポネンシャルバックオフとジッターの詳細については、 AWS アーキテクチャブログ「エクスポネンシャルバックオフとジッター」を参照してください。

変更した を RetryConfigに提供することで、コードの遅延設定をカスタマイズできますaws_config::defaults。次のコードは、最初の再試行を最大 100 ミリ秒遅らせるように設定し、再試行間の最大時間は 5 秒です。

let retry_config = RetryConfig::standard() // Defaults to 1 second. .with_initial_backoff(Duration::from_millis(100)) // Defaults to 20 seconds. .with_max_backoff(Duration::from_secs(5)); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

アダプティブ再試行モード

standard モード再試行戦略の代わりに、adaptiveモード再試行戦略は、スロットリングエラーを最小限に抑えるための理想的なリクエストレートを求める高度なアプローチです。

注記

アダプティブ再試行は高度な再試行モードです。通常、この戦略の使用はお勧めしません。「 SDK とツールのリファレンスガイド」の「再試行動作」を参照してください。 AWS SDKs

アダプティブ再試行には、標準再試行のすべての機能が含まれます。これにより、スロットリングされていないリクエストと比較したスロットリングされたリクエストのレートを測定するクライアント側のレートリミッターが追加されます。また、トラフィックが安全な帯域幅内にとどまるよう制限し、スロットリングエラーが発生するのが理想的です。

レートは、変化するサービス条件やトラフィックパターンにリアルタイムで適応し、それに応じてトラフィックのレートを増減する可能性があります。クリティカルなことに、レートリミッターはトラフィックの多いシナリオでの最初の試行を遅らせる可能性があります。

コードでadaptive再試行戦略を選択するには、変更した を指定しますRetryConfig

let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(RetryConfig::adaptive()) .load() .await;
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.