AWS::WAFRegional::RateBasedRule - AWS CloudFormation

AWS::WAFRegional::RateBasedRule

RateBasedRule は通常 Rule と同じですが、RateBasedRule ではさらに追加して、指定された IP アドレスから 5 分ごとに着信するリクエストの数をカウントします。たとえば、攻撃者からの最近のリクエストに基づいて、以下の条件を含む RateBasedRule を作成できます。

  • リクエストが 192.0.2.44 から発生した。

  • リクエストの User-Agent ヘッダーに BadBot 値が含まれる。

ルールでは、レート制限を 15,000 に定義できます。

これらの条件の両方を満たし、5 分ごとに 15,000 リクエストを超えるリクエストは、ウェブ ACL で定義されたルールのアクション (ブロックまたはカウント) をトリガーします。

レートベースのルールは、CloudFormation を使用してのみ作成できます。CloudFormation を介して作成したレートベースのルールをウェブ ACL に追加するには、AWS WAF コンソール、API、またはコマンドラインインターフェイス (CLI) を使用します。詳細については、「UpdateWebACL」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::WAFRegional::RateBasedRule", "Properties" : { "MatchPredicates" : [ Predicate, ... ], "MetricName" : String, "Name" : String, "RateKey" : String, "RateLimit" : Integer } }

YAML

Type: AWS::WAFRegional::RateBasedRule Properties: MatchPredicates: - Predicate MetricName: String Name: String RateKey: String RateLimit: Integer

プロパティ

MatchPredicates

Predicates オブジェクトでは、RateBasedRule に含める ByteMatchSetIPSet、または SqlInjectionMatchSet> のオブジェクトそれぞれに 1 つの Predicate 要素が含まれています。

必須: いいえ

タイプ: 述語のリスト

Update requires: No interruption

MetricName

RateBasedRule のメトリクスのフレンドリ名または説明。名前には英数字 (A~Z、a~z、0~9) のみを使用することができ、最大長は 128、最小長は 1 です。空白や、「All」および「Default_Action」など AWS WAF 用に予約されたメトリクス名は使用できません。 RateBasedRule の作成後はメトリクス名を変更できません。

必須: はい

タイプ: 文字列

最小: 1

最大: 128

パターン: .*\S.*

Update requires: Replacement

Name

RateBasedRule のフレンドリ名または説明。作成後に RateBasedRule の名前は変更できません。

必須: はい

タイプ: 文字列

最小: 1

最大: 128

パターン: .*\S.*

Update requires: Replacement

RateKey

このフィールドは、リクエストが単一ソースから送信された可能性が高いためにレートモニタリングの対象となるかを AWS WAF が判断するために使用されます。RateKey の唯一の有効な値は IP です。IP は同じ IP アドレスから届くリクエストに、RateBasedRule で指定される RateLimit が適用されることを示します。

必須: はい

タイプ: 文字列

許可された値: IP

Update requires: Replacement

RateLimit

5 分間に許可される RateKey で指定されたフィールドに同じ値を持つ、リクエストの最大数。リクエストの数が RateLimit を超え、このルールで指定されるほかの述語が一致した場合、AWS WAF はこのルールで指定されるアクションをトリガーします。

必須: はい

タイプ: 整数

Update requires: No interruption

戻り値

参照番号

1234a1a-a1b1-12a1-abcd-a123b123456 など、リソース物理 ID このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: 。

For more information about using the Ref function, see Ref.

IPSet とレートベースのルールを関連付ける

次の例では、MyIPSetBlacklist IPSet オブジェクトとレートベースのルールを関連付けます。

JSON

"MyIPSetRateBasedRule" : { "Type": "AWS::WAFRegional::RateBasedRule", "Properties": { "Name": "MyIPSetRateBasedRule", "MetricName" : "MyIPSetRateBasedRule", "RateKey" : "IP", "RateLimit" : 8000 "MatchPredicates": [ { "DataId" : { "Ref" : "MyIPSetBlacklist" }, "Negated" : false, "Type" : "IPMatch" } ] } }

YAML

MyIPSetRateBasedRule: Type: "AWS::WAFRegional::RateBasedRule" Properties: Name: "MyIPSetRateBasedRule" MetricName: "MyIPSetRateBasedRule" RateKey : "IP" RateLimit : 8000 MatchPredicates: - DataId: Ref: "MyIPSetBlacklist" Negated: false Type: "IPMatch"