使用 AWS CloudFormation json 创建堆栈时 AWS::Route53::RecordSet 中出现无效请求错误

Invalid request error in AWS::Route53::RecordSet when creating stack with AWS CloudFormation json

使用 AWS CloudFormation json 创建堆栈时 AWS::Route53::RecordSet 中出现无效请求错误。这是错误:

CREATE_FAILED AWS::Route53::RecordSet ApiRecordSet Invalid request

这是 ApiRecordSet:

"ApiRecordSet" : {
      "Type" : "AWS::Route53::RecordSet",
      "Properties" : {
        "AliasTarget" :{
          "DNSName": {"Fn::GetAtt" : ["RestELB", "CanonicalHostedZoneName"]},
          "HostedZoneId": {"Fn::GetAtt": ["RestELB", "CanonicalHostedZoneNameID"]}
        },
        "HostedZoneName" : "mybna.net.",
        "Comment" : "A records for my frontends.",
        "Name" : {"Fn::Join": ["", ["api",{"Ref": "Env"},".mybna.net."]]},
        "Type" : "A",
        "TTL" : "300"
      }
    }

这个请求中的 wrong/invalid 是什么?

我立即看到的唯一错误是您同时使用了 AliasTarget 和 TTL。您不能这样做,因为该记录使用 AliasTarget 中定义的 TTL。有关详细信息,请查看 documentation on RecordSet here.

我也遇到了这个错误,并通过删除记录集上不需要的 "SetIdentifier" 字段来修复它。

只有当多条记录的"Name"和"Type"字段相同时才需要

Documentation on AWS::Route53::RecordSet