「WAFInvalidParameterException」エラーが表示される理由を知りたいと考えています。
簡単な説明
実行中のオペレーションに AWS WAF が認識できないパラメータがある場合、そのオペレーションは失敗します。AWS WAF が返すエラーの 1 つが、WAFInvalidParameterException です。このエラーの一般的な原因は以下のとおりです。
- 指定されたパラメータ名または値が無効である。
- ネストされたステートメントが無効である。
- ウェブアクセスコントロールリスト (ウェブ ACL) が、使用可能なタイプの 1 つではない DefaultAction で更新された。
- リクエストで参照されている ARN が、ウェブ ACL に関連付けることができないリソースからのものである。
解決策
パラメータの名前または値が認識されない
AWS WAF がパラメータ値を認識しない場合、次のようなエラーメッセージが表示されます。
「An error occurred (WAFInvalidParameterException) when calling the CreateRuleGroup operation: Error reason:
The scope is not valid., field: SCOPE_VALUE, parameter: <parameter value>」
たとえば、REGIONAL または CLOUDFRONT 以外の Scope パラメータ値は、前述のエラーを返します。
このエラーをトラブルシューティングするには、次の手順を実行します。
- AWS WAF が認識できない値を持つパラメータを特定します。
- パラメータを、AWS WAF がサポートする値に変更します。詳細については、「AWS WAFV2」を参照してください。
リソースタイプが認識されない
AWS WAF は、Amazon CloudFront ディストリビューション、Amazon API Gateway REST API、Application Load Balancer、または AWS AppSync GraphQL API に関連付けることができます。別のリソースタイプに関連付けると、次のようなエラーメッセージが表示されます。
「An error occurred (WAFInvalidParameterException) when calling the AssociateWebACL operation: Error reason:
The ARN isn't valid.A valid ARN begins with arn: and includes other information separated by colons or slashes., field: RESOURCE_ARN, parameter: <resource arn」
このエラーをトラブルシューティングするには、次の手順を実行します。
- AWS WAF が認識できない値を持つパラメータを特定します。
- このパラメータを、AWS WAF がサポートするリソースに変更します。
注: ウェブ ACL に関連付けるリソースの ARN は、次のいずれかの形式である必要があります。
- Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
- Amazon API Gateway REST API: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
- AWS AppSync GraphQL API: arn:aws:appsync:region:account-id:apis/GraphQLApiId
- Amazon Cognito ユーザープール: arn:aws:cognito-idp:region:account-id:userpool/user-pool-id
- AWS App Runner サービス: arn:aws:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id
DefaultAction の値が認識されない
AWS WAF の DefaultAction フィールドを [許可] または [ブロック] に設定することができます。フィールドをそれ以外の値に設定すると、次のようなエラーメッセージが表示されます。
「You tried to update a Web ACL with a DefaultAction that isn't among the types available at DefaultAction.」
許容値の詳細については、「Request syntax」を参照してください。
関連情報
ウェブ ACL のデフォルトアクションの決定
Class WAFInvalidParamterException
Namespace WAFInvalidParameterException