翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Cloud Map は、各 AWS アカウントの DiscoverInstances API リクエストをリージョンごとにスロットリングします。スロットリングは、サービスのパフォーマンスを向上させ、すべての AWS Cloud Map お客様に公平な使用を提供するのに役立ちます。スロットリングにより、 AWS Cloud Map DiscoverInstances API への呼び出しが、許可されている DiscoverInstances API リクエストの最大クォータを超えないようにします。次のソースのいずれかから発信される DiscoverInstances API コールは、リクエストクォータの対象となります。
-
サードパーティーのアプリケーション
-
コマンドラインツール
-
AWS Cloud Map コンソール
API スロットリングクォータを超えると、RequestLimitExceeded
エラーコードが返されます。詳細については、「リクエストレート制限」を参照してください。
スロットリングの適用方法
AWS Cloud Map はトークンバケットアルゴリズム
リクエストレート制限
スロットリングにより、実行できる DiscoverInstances API リクエストの数が制限されます。各リクエストは、バケットから 1 つのトークンを削除します。例えば、DiscoverInstances API オペレーションのバケットサイズは 2,000 トークンでありるので、1 秒間に最大 2,000 の DiscoverInstances リクエストを作成できます。1 秒で 2,000 リクエストを超えると、スロットルされ、その秒以内の残りのリクエストは失敗します。
バケットは設定されたレートで自動的に補充されます。バケットが容量に達していない場合、バケットが容量に達するまで、設定された数のトークンが毎秒追加されます。リフィルトークンが到着したときにバケットが容量に達している場合、これらのトークンは破棄されます。DiscoverInstances API オペレーションのバケットサイズは 2,000 トークンで、リフィルレートは毎秒 1,000 トークンです。1 秒間に 2,000 の DiscoverInstances API リクエストを行うと、バケットはすぐにゼロ (0) トークンに削減されます。バケットは、最大容量の 2000 トークンに達するまで、毎秒最大 1,000 トークンで補充されます。
トークンはバケットに追加されたときに使用できます。API リクエストを行う前に、バケットが最大容量になるのを待つ必要はありません。1 秒間に 2,000 の DiscoverInstances API リクエストを作成してバケットを使い果たした場合でも、必要な限り、その後は毎秒最大 1,000 の DiscoverInstances API リクエストを作成できます。つまり、バケットに追加されたリフィルトークンをすぐに使用できます。バケットは、リフィルレートよりも毎秒少ない API リクエスト数を作成する場合にのみ、最大容量への補充を開始します。
再試行またはバッチ処理
API リクエストが失敗した場合、アプリケーションでリクエストを再試行する必要がある場合があります。API リクエストの数を下げるには、連続するリクエストの間に適切なスリープ間隔を使用します。最良の結果を得るには、漸増または可変スリープ間隔を使用します。
スリープ間隔の計算
API リクエストをポーリングまたは再試行する必要がある場合は、エクスポネンシャルバックオフ アルゴリズムを使用して API コール間のスリープ間隔を計算することをお勧めします。連続したエラーレスポンスの再試行間隔の待機時間を徐々に長くすることで、失敗リクエストの数を減らすことができます。このアルゴリズムの詳細と実装例については、 SDK およびツールリファレンスガイドの「再試行動作」を参照してください。 AWS SDKs
API スロットリングのクォータの調整
AWS アカウントの API スロットリングクォータの引き上げをリクエストできます。クォータの調整をリクエストするには、AWS サポート センター