AWS WAF Classic の「Regex pattern sets」において、10件を超えた条件を含んだ Web ACLs の設定方法を教えてください
困っていた内容
AWS WAF Classic において、「String and regex match conditions」->「View regex pattern sets」->「Regex pattern sets」->「Regex pattern strings」にて、既に10件の条件を設定しています。
ここで、新たに1件の条件を追加したら下記のエラーメッセージが表示されて、追加できませんでした。
Operation would result in exceeding resource limits.
上記エラーはなぜ発生したのでしょうか。
また、10件を超えた条件を含んだ、Web ACL を作成する方法があれば教えてください。
「Operation would result in exceeding resource limits.」のエラー原因
1つの Regex pattern sets に設定可能な Regex pattern strings の件数(クォータ)は 10件です。
1つの Regex pattern sets に、Regex pattern strings が既に10件登録している状態に1件追加すると、11件となるため、上記のエラーが発生しました。
なお、こちらのクォータについては、変更(上限緩和)できない項目であることが、参考資料のドキュメントにも示されていますのでご確認ください。
11件以上「Regex pattern strings」へ条件を設定したい場合は、どのようにすればいいの?
前述したとおり、1つの Regex pattern sets には、Regex pattern strings を最大で10件まで設定可能です。
そのため、例えば、Regex pattern strings へ15件設定したい場合は、2つの Regex pattern sets を作成して、それぞれの Regex pattern strings に条件を設定することで追加できます。
(参考)確認してみた
実際に上記の方法で確認した結果、Regex pattern strings が合計15件含まれた各 Rule に紐付けられた Web ACL を作成することができました。
String match conditions > Regex pattern sets
test-pattern-1
test-pattern-2
Rules
test-rule-1
test-rule-2
Web ACLs
Edit web ACL test-web-acl
test-web-acl
参考資料
- AWS WAF Classic quotas - AWS WAF, AWS Firewall Manager, and AWS Shield Advanced
The following quotas on AWS WAF Classic entities can't be changed.
Resource In regex match conditions, the number of patterns per pattern set
Quota per account per Region
10
- Creating a rule and adding conditions - AWS WAF, AWS Firewall Manager, and AWS Shield Advanced
To add another condition to the rule, choose Add another condition, and repeat steps 4 and 5. Note the following: If you add more than one condition, a web request must match at least one filter in every condition for AWS WAF Classic to allow or block requests based on that rule