スキップしてコンテンツを表示

正規表現パターンセットを最適化する方法を教えてください。

所要時間1分
0

AWS WAF で新しい正規表現パターンセットを作成しようとすると、エラー "WAFLimitsExceededException" が発生します。新しい正規表現パターンと正規表現パターンセットを追加するために、既存の正規表現パターンセットを最適化しようと考えています。

解決策

AWS WAFAWS WAF Classic では、各 AWS リージョンのクォータに、デフォルトの最大値の正規表現パターンが設定されています。これらのクォータは変更できません。クォータに達したら、既存の正規表現パターンセットを拡張または統合する必要があります。

正規表現パターンセットを再利用する

可能な場合は、正規表現パターンセットを複数のウェブアクセスコントロールリスト (ウェブ ACL) ルール内で再利用します。参照されている正規表現パターンセットを更新すると、AWS WAF はそれを参照するすべてのルールを自動的に更新します。

既存の正規表現パターンセットを更新する

AWS コマンドラインインターフェイス (AWS CLI) を使用して正規表現パターンセットを更新する

正規表現パターンセットを更新するには、update-regex-pattern-set を実行します。

注: AWS CLI コマンドの実行時にエラーが発生する場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

AWS WAF コンソールを使用して正規表現パターンセットを更新する

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] をクリックし、[リソースと保護パック] を選択します。
  3. [保護パック][セットとグループを管理] を選択します。
  4. [正規表現パターンセットを管理] をクリックします。
  5. 右側のペインで、正規表現パターンセットを選択します。
  6. [正規表現パターンを追加および編集] をクリックします。
  7. 新しいパターンを追加するには、新しい行に記述します。
  8. 既存のパターンを削除するには、その行を削除します。
  9. [正規表現パターンを保存] をクリックします。

既存の正規表現パターンセットを更新すると、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.comexample.netexample.org というドメインを識別するための正規表現パターンを示しています。これらのドメインを、実際に使用するドメインに置き換えてください。

正規表現パターンセットを AWS WAF ルールに追加する

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] をクリックし、[リソースと保護パック] を選択します。
  3. 目的の保護パックを探し、[ルール] の横にある [表示と編集] をクリックします。
  4. 右側のペインで [ルールを追加] をクリックします。
    [カスタムルール] を選択し、[次へ] をクリックします。
    [カスタムルール] を再度選択し、[次へ] をクリックします。
  5. ユースケースに基づいて [ルールアクション] を更新します。
  6. [ルール名] を入力します。
  7. [検査] で、リクエストコンポーネントを選択します。
  8. [マッチタイプ] で、[正規表現パターンセットからパターンを照合] を選択します。
  9. 正規表現パターンセットを選択します。
  10. [ルールを作成] をクリックします。

関連情報

Creating a regex pattern set (正規表現パターンセットを作成する)

Regex match rule statement (正規表現マッチルールのステートメント)

AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ