AWS WAF で新しい正規表現パターンセットを作成しようとすると、エラー「WAFLimitsExceedException」が発生します。新しい正規表現パターンと正規表現パターンセットを追加するために、既存の正規表現パターンセットを最適化しようと考えています。
解決策
AWS WAF と AWS WAF Classic では、各 AWS リージョンのクォータに、デフォルトの最大値の正規表現パターンが設定されています。これらのクォータは変更できません。クォータに達したら、既存の正規表現パターンセットを拡張または統合する必要があります。
正規表現パターンセットを再利用する
可能な場合は、正規表現パターンセットを複数のウェブアクセスコントロールリスト (ウェブ ACL) ルール内で再利用します。参照されている正規表現パターンセットを更新すると、AWS WAF はそれを参照するすべてのルールを自動的に更新します。
既存の正規表現パターンセットを更新する
AWS コマンドラインインターフェイス (AWS CLI) を使用して正規表現パターンセットを更新する
正規表現パターンセットを更新するには、update-regex-pattern-set を実行します。
**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
AWS WAF コンソールを使用して正規表現パターンセットを更新する
- AWS WAF コンソールを開きます。
- ナビゲーションペインで、[正規表現パターンセット] を選択します。
- 正規表現パターンセットを選択します。
- 新しいパターンを追加するには、[正規表現パターンを追加] を選択します。
- 既存のパターンを削除するには、パターンを選択し、[削除] を選択します。
既存の正規表現パターンセットを更新すると、1 つの正規表現パターンセットで複数のパターンを使用できます。文字数制限に対する効率を上げるには、OR 論理 (|) を使用して 1 つのパターンに複数のパターンを追加します。
注: AWS WAF では、各正規表現パターンの最大文字数に制限があります。これらは AWS WAF Classic のクォータとは異なります。
たとえば、次を行うのではなく (その次を参照してください)
#--------------------------
# REGEX_Pattern_Set_A
#--------------------------
REGEX_PATTERN_1
REGEX_PATTERN_2
REGEX_PATTERN_3
REGEX_PATTERN_4
REGEX_PATTERN_5
REGEX_PATTERN_6
REGEX_PATTERN_7
REGEX_PATTERN_8
REGEX_PATTERN_9
REGEX_PATTERN_10
これを実行します。
#--------------------------
#REGEX_Pattern_Set_A
#--------------------------
REGEX_PATTERN_1
REGEX_PATTERN_2
REGEX_PATTERN_3|REGEX_PATTERN_4|REGEX_PATTERN_5|REGEX_PATTERN_6
REGEX_PATTERN_7|REGEX_PATTERN_8|REGEX_PATTERN_9|REGEX_PATTERN_10
上記の更新により、正規表現パターンセット内により多く正規表現パターンを追加できます。
次の例は、1 つの正規表現パターンセットで複数のドメインを識別する方法を示しています。
(example.com|example.net|example.org)
注: この例は、example.com、example.net、example.org というドメインを識別するための正規表現パターンを示しています。これらのドメインを、実際に使用するドメインに置き換えてください。
正規表現パターンセットを AWS WAF ルールに追加する
次の手順を実行します。
- AWS WAF コンソールを開きます。
- [ルール] で、[ルールを追加]、[独自のルールとルールグループを追加] の順に選択します。
- [検査] で、リクエストコンポーネントを選択します。
- [マッチタイプ] で、[正規表現パターンセットからパターンを照合] を選択します。
- 正規表現パターンセットを選択します。
- ユースケースに基づいて [ルールアクション] を更新します。
- [保存] を選択します。
関連情報
正規表現パターンセットを作成する
正規表現マッチルールのステートメント