APIスロットリング(えーぴーあいすろっとりんぐ)
最終更新:2026/4/25
APIスロットリングは、一定期間内にAPIへのリクエスト数を制限する技術であり、サーバーの過負荷を防ぐことを目的とする。
別名・同義語 レートリミットAPIレート制限
ポイント
APIスロットリングは、DoS攻撃の緩和や、APIの公平な利用を促進するためにも用いられる。レートリミットとも呼ばれる。
APIスロットリングとは
APIスロットリングは、API(Application Programming Interface)へのアクセス頻度を制御する仕組みです。これは、サーバーが過剰な負荷にさらされるのを防ぎ、APIの安定稼働を維持するために不可欠な技術です。
スロットリングの目的
APIスロットリングの主な目的は以下の通りです。
- サーバーの保護: 大量の不正なリクエスト(DoS攻撃など)からサーバーを保護します。
- APIの安定性: サーバーの負荷を均等に分散し、APIの応答速度を維持します。
- 公平な利用: 特定のユーザーやアプリケーションがAPIリソースを独占することを防ぎます。
- コスト管理: APIの利用量に応じて課金する場合、スロットリングによってコストを管理できます。
スロットリングの方法
APIスロットリングは、様々な方法で実装されます。
- トークンバケット: 各ユーザーやアプリケーションにトークンを割り当て、APIリクエストごとにトークンを消費します。トークンがなくなると、一定時間リクエストを拒否します。
- リーキーバケット: 一定の速度でリクエストを処理し、超過したリクエストは破棄します。
- 固定ウィンドウ: 一定の時間間隔(例えば1分間)に許可されるリクエスト数を制限します。
- スライディングウィンドウ: 固定ウィンドウの改良版で、より正確なリクエスト数制御が可能です。
スロットリングの考慮点
APIスロットリングを実装する際には、以下の点を考慮する必要があります。