我正在尝试将Web ACL与API网关相关联。我正在使用WAFv2。我的代码段如下-
WAFAssociation:
Type: 'AWS::WAFv2::WebACLAssociation'
Properties:
WebACLArn:
- Fn::ImportValue:
!Sub "${AWS::Region}-${AWS::AccountId}-APIGateway-WebACL"
ResourceArn: !Sub
- "arn:${AWS::Partition}:apigateway:{AWS::Region}::/restapis/{api}/stages/{stageName}"
- api: !Ref RestApi
我已将此问题提交给https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html并编写。我正在尝试在堆栈中部署此资源,但是此资源部署总是失败,并显示错误“内部失败”。我找不到该问题的根本原因。
ResourceArn
不正确。在少数地方缺少$
。请查看以下表格:
ResourceArn: !Sub
- "arn:${AWS::Partition}:apigateway:${AWS::Region}::/restapis/${api}/stages/${stageName}"
- api: !Ref RestApi
也请从文档中查看examples:
Name: !Sub
- www.${Domain}
- { Domain: !Ref RootDomainName }
此外,请确保所有外部组件正确,例如stageName
和RestApi
。