ネットワーク
中級

レートリミット(レートリミット)

APIやネットワークへのリクエスト頻度制限。Cloudflare・Nginx limit_req・AWS API Gateway・Anthropic API(分単位トークン制限)・OpenAI APIで実装され、Token Bucket/Sliding Windowアルゴリズムが主流。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
API Gateway
Token Bucket
Cloudflare
DDoS

概要

レートリミットは、APIやネットワークへのリクエスト頻度を制御する仕組みで、サービスの安定稼働と不正アクセス防止に不可欠です。実装には Token Bucket や Sliding Window といったアルゴリズムが広く使われ、Cloudflare、Nginx、AWS API Gateway、Fastly、Akamai Kona など多くのプロダクトで標準機能として提供されています。

主な特徴・仕組み

  • リクエスト単位の制御:1秒あたり 100req、1分あたり 5,000req など、単位時間ごとに上限を設定。
  • バケット方式(Token Bucket):余剰トークンを蓄積し、突発的なリクエストに対応。
  • スライディングウィンドウ(Sliding Window):過去 N 秒間のリクエスト数を集計し、平均レートを監視。
  • レスポンスヘッダー:Retry-After や X-RateLimit-Remaining でクライアントに情報を返す。
  • DDoS 防御:大量リクエストを検知し、IP を一時的にブロック。
  • API Gateway 連携:AWS API Gateway ではステージごとにレートリミットを設定可能。
  • トークン制限:Anthropic API では分単位で 10,000 トークン、OpenAI API では 60 秒で 3,000 トークンを上限に。
  • 可視化:Grafana などでレートリミットの使用率をダッシュボード化。
  • マルチテナント対応:ユーザーごとに異なる上限を設定し、サービスレベルを差別化。
  • 自動スケーリング:負荷増大時にレートリミットを緩和し、可用性を確保。

スペック/製品比較表

製品レートリミット単位最大リクエスト数トークン制限遅延補正主要アルゴリズム
Cloudflare秒1,000なし100msToken Bucket
Nginx (limit_req)分5,000なし200msToken Bucket
AWS API Gateway秒10,000なし50msSliding Window
Fastly秒8,000なし80msToken Bucket
Akamai Kona秒12,000なし120msSliding Window

具体例・対応製品

  • Cloudflare:Web アプリケーションに対して IP ごとに 1,000req/s の上限を設定。
  • Nginx:limit_req_zone で 5,000req/min を実現。
  • AWS API Gateway:ステージ別に 10,000req/s を設定し、Lambda のスロットリングと連携。
  • Fastly:リアルタイムでレートリミットを変更し、トラフィックピーク時に 8,000req/s を維持。
  • Akamai Kona:DDoS 防御とレートリミットを組み合わせ、12,000req/s まで拡張。
  • Anthropic API:分単位で 10,000 トークンを上限に、モデル呼び出しを管理。
  • OpenAI API:60 秒で 3,000 トークンを上限にし、ChatGPT の使用を制御。
  • Cisco ASA 5506-X:ネットワークレベルで 1,024req/s のレートリミットを設定。
  • Juniper SRX300:トラフィック制御に 4.0GHz の CPU を活用し、レートリミットを実装。
  • Fortinet FortiGate 60E:1,024req/s の上限を持つレートリミット機能を備える。

自作PCでの選び方・注意点

  1. CPU 性能:レートリミット処理は CPU に負荷がかかるため、Intel Core Ultra 9 285K など 5.7GHz ブーストを持つプロセッサが望ましい。
  2. メモリ容量:Token Bucket のバケット数を増やすと 24GB GDDR6X 以上のメモリが必要になる。
  3. ネットワークインターフェース:10Gbps PCIe 5.0 x16 の NIC で 10,000req/s を超えるトラフィックを処理。
  4. ストレージ速度:NVMe SSD(Samsung 990 Pro)で 3,440x1,440 の IOPS を確保し、ログ書き込みを高速化。
  5. 電源ユニット:450W TDP を超えるワークロードに備え、650W 以上の PSU を選択。
  6. 冷却:高負荷時に 72MB L3 キャッシュを持つ CPU の温度を 70℃ 未満に抑える。
  7. 監視ツール:Prometheus と Grafana でレートリミットの使用率を可視化し、異常を検知。
  8. バックアップ:設定ファイルを 5,000 行以上のログとともに定期的にバックアップ。
  9. スケーラビリティ:将来の 2025 年、2026 年のトラフィック増加に備え、スケールアウトを検討。
  10. セキュリティ:DDoS 防御とレートリミットを組み合わせ、次世代の攻撃に対応。

関連用語との違い

  • スロットリング:レートリミットは上限を設定し、超過時にエラーを返す。スロットリングは超過リクエストを一時停止させる。
  • レート制御:一般的にトラフィック全体を制限する概念。レートリミットは個別リクエスト単位で制御。
  • トラフィックシェーピング:帯域幅を制限し、パケットを遅延させる。レートリミットはリクエスト数を制限。

よくある質問(FAQ)

Q1. レートリミットはどのように設定できますか?
A1. Cloudflare ならダッシュボードで IP ごとに 1,000req/s を設定。Nginx では limit_req_zone ディレクティブで秒単位を指定。AWS API Gateway ではステージ設定で秒単位を入力。

Q2. トークン制限とリクエスト制限の違いは?
A2. リクエスト制限は単純にリクエスト数をカウント。トークン制限は API の呼び出しに必要なトークン数をカウントし、モデルの計算コストを考慮。

Q3. 2026 年に向けてレートリミットの最適化は必要ですか?
A3. 2026 年のトラフィック増加を見越し、CPU コア数を 8 以上、メモリを 32GB 以上に拡張し、Token Bucket のバケット数を増やすことで高負荷時の安定性を確保。

まとめ

レートリミットは API やネットワークサービスの品質と安全性を保つための重要な制御手段です。Token Bucket と Sliding Window のアルゴリズムを組み合わせ、Cloudflare、Nginx、AWS API Gateway などの製品で実装されており、DDoS 防御やトークン制限と連携することで多様なシナリオに対応します。自作PC でレートリミット機能を構築する際は、CPU、メモリ、ネットワークインターフェースの性能を十分に考慮し、将来の 2025 年・2026 年のトラフィック増加に備えることが重要です。最新の技術動向を踏まえて、次世代のレートリミット設計を行うことで、安定したサービス運営を実現できます。

この記事について
カテゴリーネットワーク
難易度中級
作成日2026/4/17