针对静态网站问题的云形成S3存储桶别名

don*_*las 3 amazon-s3 amazon-web-services aws-cloudformation amazon-route53

我正在尝试使用存储桶和Alias类型记录在云层中创建静态网站,但是我收到以下错误:

试图创建一个目标为.的别名,在区域Z7KQH4QJS55SO中键入A,但别名目标名称不在目标区域内

区域Id(Z7KQH4QJS55SO)来自Amazon Simple Storage Service网站端点

这是路由器53记录的json

"<Resource Id>": {
  "Type": "AWS::Route53::RecordSet",
  "Properties": {
    "Comment": "...",
    "Name": {
      "Fn::Join": [
        "",
        [
          "subdomain",
          ".",
          "example.com",
          "."
        ]
      ]
    },
    "Type": "A",
    "AliasTarget": {
      "DNSName": {
        "Fn::GetAtt": [
          "<BucketName>",
          "DomainName"
        ]
      },
      "HostedZoneId": "Z7KQH4QJS55SO"
    },
    "HostedZoneId": {
      "Ref": "<HostedZoneResourceName>"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

mfi*_*rca 10

这是一个有点不直观,但DNSNameAliasTarget应该只是区域S3网站终端,而不是具体到你指向准确桶.

示例,特定于该sa-east-1地区:

  AliasTarget:
    DNSName: s3-website-sa-east-1.amazonaws.com
    HostedZoneId: Z7KQH4QJS55SO
Run Code Online (Sandbox Code Playgroud)

如果您希望模板与区域无关,则可以在模板中创建包含每个区域的S3网站端点和托管区域ID的映射,并Fn::FindInMap在资源声明中使用.