特定のラベルを使用してリクエストをレート制限する - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

特定のラベルを使用してリクエストをレート制限する

リクエストにラベルを追加する任意のルールまたはルールグループとレート制限を組み合わせると、さまざまなカテゴリのリクエスト数を制限できます。そのためには、ウェブ ACL を次のように設定します。

  • ラベルを追加するルールまたはルールグループを追加し、レート制限するリクエストがブロックまたは許可されないように設定します。マネージドルールグループを使用する場合、この動作を実現するために一部のルールグループのルールアクションを Count にオーバーライドすることが必要になる場合があります。

  • ラベル付けルールやルールグループよりも高い優先度番号を設定して、レートベースのルールをウェブ ACL に追加します。 AWS WAF ルールを番号の低いものから順に評価するので、レートベースのルールはラベリングルールの後に実行されます。ルールのスコープダウンステートメントのラベル一致とラベル集約を組み合わせて、ラベルのレート制限を設定します。

次の例では、Amazon IP AWS レピュテーションリストマネージドルールルールグループを使用しています。このルールグループのルールである AWSManagedIPDDoSList は、IP が DDoS 攻撃に積極的に関与していることがわかっているリクエストを検出し、ラベルを付けます。ルールのアクションは、ルールグループ定義で Count に設定されています。ルールグループの詳細については、「Amazon IP 評価リストマネージドルールグループ」を参照してください。

次のウェブ ACL JSON リストでは、IP 評価ルールグループの後にラベル一致のレートベースルールが続いています。レートベースのルールでは、スコープダウンステートメントを使用して、ルールグループのルールでマークされたリクエストをフィルタリングします。レートベースのルールステートメントは、フィルタリングされたリクエストを IP アドレスで集約してレート制限します。

{ "Name": "test-web-acl", "Id": ... "ARN": ... "DefaultAction": { "Allow": {} }, "Description": "", "Rules": [ { "Name": "AWS-AWSManagedRulesAmazonIpReputationList", "Priority": 0, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesAmazonIpReputationList" } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesAmazonIpReputationList" } }, { "Name": "test-rbr", "Priority": 1, "Statement": { "RateBasedStatement": { "Limit": 100, "EvaluationWindowSec": 300, "AggregateKeyType": "IP", "ScopeDownStatement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:amazon-ip-list:AWSManagedIPDDoSList" } } } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "test-rbr" } } ], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "test-web-acl" }, "Capacity": 28, "ManagedByFirewallManager": false, "LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:" }