AWS WAF で新しいリソースを作成しようとすると、クォータを超えたというエラーが発生します。この問題を解決したいです。
簡単な説明
AWS WAF と AWS WAF Classic では、リソースのクォータが異なります。既存のリソースを統合または改訂するのがベストプラクティスです。リソースを統合できない場合は、クォータの引き上げを申請することができます。
注: 一部のリソースには、変更できない固定クォータがあります。
この解決策では、クォータを超えた場合の対処方法の例として、以下のリソースに焦点を当てています。
- ウェブアクセスコントロールリスト (ウェブ ACL)
- 正規表現パターンセット
- IP セット
解決策
ウェブ ACL
ウェブ ACL クォータを超えると、次のエラーが発生します。
- AWS WAF Classic: 操作により、リソースの制限を超過しました。
- AWS WAF: WAFLimitsExceededException: リソース制限 NUM_WEBACLS_BY_ACCOUNT を超えたため、AWS WAF は操作を実行できませんでした
ウェブ ACL を統合して AWS WAF インスタンス内の数を減らすには、複数リソースに使用する 1 つのウェブ ACL を作成します。リソースごとにウェブ ACL を作成するのは、ベストプラクティスではありません。
Amazon CloudFront ディストリビューションなどの一部のリソースでは、作成プロセスの一環として新しいウェブ ACL が作成されます。新しいウェブ ACL が現在のクォータを超えている場合は、ディストリビューションを既存のウェブ ACL に関連付けます。
注: 既存のリソースにウェブ ACL を追加すると、AWS WAF または WAF Classic はリソースの以前のウェブ ACL 接続を削除して置き換えます。
** CloudFront ディストリビューションを AWS WAF Classic の既存のウェブ ACL に関連付ける**
次の手順を実行します。
- AWS WAF コンソールを開きます。
- [AWS WAF Classic に切り替える] を選択します。
- [ウェブ ACL] を選択します。
- [フィルター] で、ウェブ ACL が配置されている AWS リージョンを選択します。CloudFront ディストリビューションを保護するウェブ ACL については、[グローバル (CloudFront)] を選択します。
- お使いの AWS WAF Classic ウェブ ACL を選択します。
- [ルール] の [このウェブ ACL を使用する AWS リソース] で、[関連付けを追加] を選択します。
- リソースタイプを選択してから、ウェブ ACL に接続するリソースを選択します。
- **[追加]**を選択します。
CloudFront ディストリビューションを AWS WAF の既存のウェブ ACL に関連付ける
次の手順を実行します。
- AWS WAF コンソールを開きます。
- [ウェブ ACL] を選択します。
- [リージョン] で、ウェブ ACL が配置されているリージョンを選択します。CloudFront ディストリビューションを保護するウェブ ACL については、[グローバル (CloudFront)] を選択します。
- ウェブ ACL を選択します。
- [関連する AWS リソース] で [AWS リソースの追加] を選択します。
- リソースタイプを選択してから、ウェブ ACL に接続するリソースを選択します。
クォータ超過を解決できない場合は、AWS WAF Classic または AWS WAF のクォータ引き上げを申請してください。
正規表現パターンセット
正規表現パターンセットのクォータを超えると、次のエラーが発生します。
- AWS WAF Classic: 操作により、リソースの制限を超過しました。
- AWS WAF: WAFLimitsExceededException: リソース制限 NUM_REGEX_PATTERN_SETS_BY_ACCOUNT を超えたため、AWS WAF は操作を実行できませんでした。
正規表現パターンセットのデフォルトの最大クォータは変更できません。クォータを超えた場合は、既存の正規表現パターンセットを拡張または統合してください。
IP セット
IP セットクォータを超えると、次のエラーが発生します。
- AWS WAF Classic の場合: 操作により、リソースの制限を超過しました。
- AWS WAF の場合: WAFLimitsExceededException: リソース制限 NUM_IP_SETS_BY_ACCOUNT を超えたため、AWS WAF はオペレーションを実行できませんでした
IP セットを統合するのがベストプラクティスです。IP セットでは、CIDR 表記で複数の IP アドレスをサポートできます。IP セットは、お使いのリージョンの任意のウェブ ACL に使用できます。
既存の IP セットに CIDR 範囲を追加するには、次の手順を実行します。
- AWS WAF コンソールを開きます。
- [ウェブ ACL] を選択します。
- [リージョン] で、IP セットが置かれているリージョンを選択します。CloudFront ディストリビューションを保護する IP セットについては、[グローバル (CloudFront)] を選択してください。
- IP セットを選択します。
- [IP アドレスを追加] を選択します。
- IP アドレスの CIDR 範囲を入力します。複数の IP アドレス CIDR 範囲を同時に追加できます。IP アドレスを 1 行ごとに、1 つずつ入力します。
- **[追加]**を選択します。
IP セットを統合できない場合は、AWS WAF Classic または AWS WAF のクォータ引き上げを申請することができます。ユースケースと該当リージョンを記述してください。
関連情報
AWS WAF の IP セットと正規表現パターンセット
AWS WAF のルールグループにさらにルールを追加すると、制限超過エラーが発生する理由を教えてください。