7

我正在尝试使用 CloudFormation 将 CloudFront 分发添加到 AWS WAF 并尝试过,

"Type": "AWS::WAFRegional::WebACLAssociation",
            "Properties": {
                "ResourceArn": "arn:aws:cloudfront::AccountID:distribution/CloudFrontID",
                "WebACLId": {
                    "Ref": "WebACLName"
                }

但我最终得到了这个错误:引用的项目不存在。(服务:AWSWAFRegional;状态代码:400;错误代码:WAFNonexistentItemException;请求 ID:149453cd-1606-11e8-86b2-a3efdb49d9d1)

4

1 回答 1

6

AWS::WAFRegional::*实际上是为了与 Application Load Balancer 关联。您需要使用AWS::WAF::*类型(没有“区域”)。

然后对于关联,您必须从 CloudFront 分配本身进行。像这样:

"myDistribution": {
  "Type": "AWS::CloudFront::Distribution",
  "Properties": {
    "DistributionConfig": {    
      "WebACLId": { "Ref" : "MyWebACL" },

CloudFormation 文档中解释了该部分。

于 2018-02-20T15:56:52.510 回答