次の方法で共有


レート制限とは何ですか?

レート制限は、クラウド API が特定の時間内にユーザーが行うことができる要求の数を調整するために使用する制御メカニズムです。 クラウド API プロデューサーは、レート制限を使用して、要求のフローがサービスを圧倒しないようにします。 レート制限により、API 呼び出しの速度と量に上限が設定されます。 レート制限は、通常、期間ごとの要求の観点から定義されます。

クラウド API がレート制限を使用する理由

  • オーバーロードを防止します。 レート制限により、単一のユーザーまたはサービスで要求が多くなりすぎないようにすることで、API サーバーの安定性と応答性が確保されます。
  • 公平な使用を確保します。 レート制限では、1 人のユーザーが API リソースを独占することを保証することで、公平な使用ポリシーが適用されます。 レート制限により、すべてのユーザーに対して公平なアクセスが可能になります。
  • セキュリティを強化します。 レート制限は、悪意のある可能性のあるソースからの要求の数を制限することで、分散型サービス拒否攻撃やその他の不正な動作を軽減するのに役立ちます。
  • コストを管理します。 クラウド サービス プロバイダーの場合、レート制限は、予期しないリソースや過剰なリソースの使用を防ぐことで運用コストを管理するのに役立ちます。
  • サービスの品質を維持します。 レート制限により、トラフィックの急増を防ぐことで、すべてのユーザーに一貫したサービス品質が保証されます。

アプリでレート制限が発生する方法

クラウド API を統合するアプリを構築するときは、そのドキュメントを確認して、レート制限がサポートされているかどうかを確認します。 その場合は、レート制限に関する情報を含む RateLimit-... または X-RateLimit-... 応答ヘッダーを受け取ります。 アプリケーションでこの情報を使用して、API のレート制限を超えないようにすることができます。 たとえば、 RateLimit-Remaining ヘッダーは、現在のウィンドウに残っている要求の数を示します。 このヘッダーが 0 に設定された応答を受け取った場合は、レート制限に達し、別の要求を送信する前に次のウィンドウを待つ必要があることがわかります。 RateLimit-Reset ヘッダーは、レート制限がリセットされた時刻を示します。 一部の API は、しきい値に達した後にのみ RateLimit-... ヘッダーを送信します。 たとえば、要求の 10% が残っている場合です。

レート制限を超えると、API によって要求が調整され、HTTP 429 Too Many Requests 状態コードが返されます。 一部の API では、別の要求を送信する前に待機する必要がある時間を示す Retry-After ヘッダーが送信される場合もあります。

調整を回避し、アプリケーションの応答性を維持するには、アプリケーションにレート制限を実装します。 テクノロジ スタックに応じて、さまざまなライブラリがアプリケーションのレート制限を処理するのに役立ちます。 アプリケーションでレート制限を実装した後、レート制限が適切に処理されるかどうかをテストします。

次のステップ