AWS WAF でのリクエストへのレート制限の適用 - AWS WAF、AWS Firewall Manager、および AWS Shield Advanced

AWS WAF でのリクエストへのレート制限の適用

このセクションでは、レートベースのルールでレート制限の動作の仕組みについて説明します。

AWS WAF でレートベースのルールのリクエストを集約およびカウントするために使用される条件は、AWS WAF でリクエストのレート制限に使用される条件と同じです。ルールにスコープダウンステートメントを定義する場合、AWS WAF はスコープダウンステートメントに一致するリクエストのみを集約、カウント、およびレート制限します。

レートベースのルールが特定のウェブリクエストにルールアクション設定を適用する一致条件は、次のとおりです。

  • ウェブリクエストは、ルールのスコープダウンステートメントと一致している(定義されている場合)。

  • ウェブリクエストは、現在リクエストカウントがルールの制限を超えている集約インスタンスに属している。

AWS WAF がルールアクションを適用する方法

レートベースのルールがリクエストにレート制限を適用すると、ルールアクションが適用されます。アクション仕様でカスタム処理やラベル付けを定義している場合、ルールはそれらを適用します。このリクエスト処理は、一致ルールが一致したウェブリクエストにアクション設定を適用する方法と同じです。レートベースのルールは、レート制限が積極的に行われているリクエストにのみラベルを適用したり、他のアクションを実行したりします。

Allow 以外のルールアクションを使用できます。ルールアクションの一般情報については、「AWS WAF でのルールアクションの使用」を参照してください。

次のリストは、各アクションのレート制限の仕組みを示しています。

  • Block - AWS WAF はリクエストをブロックし、定義したカスタムブロック動作を適用します。

  • Count - AWS WAF はリクエストをカウントし、定義したカスタムヘッダーまたはラベルを適用して、リクエストのウェブ ACL 評価を続行します。

    このアクションはリクエストのレートを制限しません。制限を超えるリクエストのみを記入します。

  • CAPTCHA または Challenge - AWS WAF はリクエストのトークンの状態に応じて、Count または Block のいずれかのようにリクエストを処理します。

    このアクションは、有効なトークンを持つリクエストのレートを制限しません。これは、リクエストが指定された上限を超えていて、さらに有効なトークンが含まれていない場合、そのリクエストの数を制限します。

    • リクエストに有効期限が切れていない有効なトークンがない場合、このアクションはリクエストをブロックし、CAPTCHA パズルまたはブラウザのチャレンジをクライアントに返送します。

      エンドユーザーまたはクライアントブラウザが正常に応答すると、クライアントは有効なトークンを受け取り、元のリクエストが自動的に再送信されます。集約インスタンスのレート制限がまだ有効である場合、有効期限が切れていない有効なトークンを含むこの新しいリクエストには、次の箇条書きで説明するアクションが適用されます。

    • リクエストに有効期限が切れていない有効なトークンがある場合、CAPTCHA また Challenge アクションはトークンを検証し、Count アクションと同様にリクエストに対してアクションを実行しません。レートベースのルールは、終了アクションを実行せずにリクエスト評価をウェブ ACL に戻し、ウェブ ACL はリクエストの評価を続行します。

    詳細については、「AWS WAF で CAPTCHA と Challenge を使用する」を参照してください。

IP アドレスまたは転送された IP アドレスのみをレート制限する場合

転送されたIPアドレスに対してのみIPアドレスのレート制限を行うようにルールを設定すると、そのルールが現在レート制限を適用しているIPアドレスのリストを取得できます。スコープダウンステートメントを使用する場合、レート制限されるリクエストは、スコープダウンステートメントと一致する IP リスト内のリクエストだけです。IP アドレスリストの取得の詳細については、「レートベースのルールによってレート制限されている IP アドレスの一覧表示」を参照してください。