翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Cloud Map DiscoverInstances API リクエストスロットリングの処理
AWS Cloud Map は、リージョンごとに各 AWS アカウントの DiscoverInstances API リクエストを調整します。スロットリングは、サービスのパフォーマンスを向上させ、すべての AWS Cloud Map お客様に公平な使用を提供するのに役立ちます。スロットリングにより、 AWS Cloud Map DiscoverInstancesAPI への呼び出しが API DiscoverInstancesリクエストの最大許容クォータを超えないようになります。DiscoverInstances 次のいずれかのソースから発信される API コールには、リクエストクォータが適用されます。
-
サードパーティーのアプリケーション
-
コマンドラインツール
-
AWS Cloud Map コンソール
API スロットリングクォータを超えると、RequestLimitExceeded
エラーコードが返されます。詳細については、「リクエストレート制限」を参照してください。
スロットリングの適用方法
AWS Cloud Map は、トークンバケットアルゴリズム
リクエストレート制限
スロットリングは、実行できる DiscoverInstances API リクエストの数を制限します。各リクエストは、バケットから 1 つのトークンを削除します。例えば、DiscoverInstancesAPI オペレーションのバケットサイズは 2,000 トークンであるため、1 秒で最大 2,000 DiscoverInstancesリクエストを行うことができます。1 秒で 2,000 リクエストを超えると、スロットルされ、その秒以内の残りのリクエストは失敗します。
バケットは設定されたレートで自動的に補充されます。バケットが容量に達していない場合、バケットが容量に達するまで、設定された数のトークンが毎秒追加されます。リフィルトークンが到着したときにバケットが容量に達している場合、これらのトークンは破棄されます。DiscoverInstances API オペレーションのバケットサイズは 2,000 トークンで、リフィルレートは 1 秒あたり 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 Support センター