すべてのプロダクト
Search
ドキュメントセンター

API Gateway:key-rate-limit

最終更新日:Jan 09, 2025

key-rate-limitプラグインは、特定のキー値に基づいてスロットリングを実装します。 キー値は、URLパラメーターまたはHTTPリクエストヘッダーから取得できます。 このトピックでは、key-rate-limitプラグインを設定する方法について説明します。

プラグイン型

スロットルプラグイン。

フィールド

項目

データ型

必須 / 任意

デフォルト値

説明

limit_by_ヘッダー

String

いいえlimit_by_headerまたはlimit_by_paramを設定する必要があります。

-

スロットリングのキー値を取得するHTTPリクエストヘッダー。

limit_by_param

String

いいえlimit_by_headerまたはlimit_by_paramを設定する必要があります。

-

スロットリングのキー値を取得するURLパラメーター。

limit_keys

オブジェクトの配列

対象

-

特定のキー値が一致した後にレート制限がトリガーされる回数。

次の表に、limit_keysフィールドの設定項目を示します。

設定アイテム

データ型

必須 / 任意

デフォルト値

説明

キー

String

対象

-

リクエストの照合に使用されるキー値。

query_per_second

数値

いいえquery_per_second、query_per_minute、query_per_hour、またはquery_per_dayを設定する必要があります。

-

1秒あたりに許可されるリクエストの数。

query_per_minute

数値

いいえquery_per_second、query_per_minute、query_per_hour、またはquery_per_dayを設定する必要があります。

-

1分あたりに許可されるリクエストの数。

query_per_hour

数値

いいえquery_per_second、query_per_minute、query_per_hour、またはquery_per_dayを設定する必要があります。

-

1時間あたりに許可されるリクエストの数。

query_per_day

数値

いいえquery_per_second、query_per_minute、query_per_hour、またはquery_per_dayを設定する必要があります。

-

1日に許可されるリクエストの数。

  • リクエストヘッダーx-ca-keyのキー値に基づいてスロットリングを実行します。

    limit_by_header: x-ca-key
    limit_keys:
    - key: 102234
      query_per_second: 10
    - key: 308239
      query_per_hour: 10
  • リクエストパラメータapikeyのキー値に基づいてスロットリングを実行します。

    limit_by_param: apikey
    limit_keys:
    - key: 9a342114-ba8a-11ec-b1bf-00163e1250b5
      query_per_second: 10
    - key: a6a6d7f2-ba8a-11ec-bec2-00163e1250b5
      query_per_minute: 100
  • ルートまたはドメイン名のスロットリングを有効にします。

    route-aおよびroute-bのルートに次のプラグイン設定を適用します。

      limit_by_header: x-ca-key
      limit_keys:
      - key: 102234
        query_per_second: 10

    次のプラグイン設定を * .example.comおよびtest.comドメイン名に適用します。

      limit_by_header: x-ca-key
      limit_keys:
      - key: 102234
        query_per_second: 100
    説明
    • この例では、route-aroute-bのルートは、ゲートウェイルートの作成時に指定されたルートです。 クライアント要求がルートのいずれかと一致する場合、一致したルートに設定されているルールが有効になります。

    • この例では、* .example.comtest.comドメイン名を使用して、リクエストのドメイン名を照合します。 クライアント要求がいずれかのドメイン名と一致する場合、一致したドメイン名に設定されているルールが有効になります。

    • 設定したルールは順番に有効になります。 最初のルールが一致する場合、後続のルールは無視されます。