AWSのAPI Gatewayには、リクエスト数を制限する「使用料プラン」という機能が備わっています。
使用料プランの設定項目は「レート」「バースト」「クォータ」の大きく3種類。
この項目の意味が少し分かりにくいので、分かりやすく説明します。
レート
レートは単純に「1秒あたりのアクセス数上限」です。
1秒間にレート制限を超えたリクエストには、 429 Too Many Requestsレスポンスが返されます。
バースト
バーストは「1ミリ秒あたりのアクセス数上限」です。
レートに似てますが、バースト制限を超えたリクエストには429 Too Many Requestsレスポンスは返されません。
レートの範囲内で遅れて処理されます。
ここが少しややこしいですね。次に例を示します。
例:レート1万、バースト5千の場合
レートが1万で、バーストが5千という設定の時、最初の1ミリ秒で1万リクエストが来たとします。
ここで「バースト5千」の制限が発動し、最初の1ミリ秒では5千リクエストだけ処理されます。
残りの5千リクエストはレートの範囲内なので、429エラーが返されることなく遅延して処理されます。
レートとバーストそれぞれ制限を超えた時の動きは以下のようになると覚えておきましょう
- レート…超えたら429エラー
- バースト…超えたら遅れて処理される
クォータ
クォータは1日、1週間、1ヶ月という長めの期間に対するアクセス制限です。
こちらは超えた時どんなエラーになるか資料が見つからないのですが、おそらく429 Too Many Requestsになるのかなと思います。(知ってる方いたら教えてください…)
以上、簡単説明でした。
コメント/ピンバック