记录集的AWS cfn资源创建失败

时间:2017-11-17 21:16:54

标签: amazon-web-services yaml amazon-cloudformation

我想使用cloudformation部署静态网站,但我在创建记录集时遇到问题。堆栈创建成功,直到资源部分中的托管区域。我不确定为什么在托管区域创建记录集时出现问题。

  

错误:以下资源无法创建:[RecordSet]。

        ---
AWSTemplateFormatVersion:  '2010-09-09'
Description: 'Assuming that you already have a Hosted Zone registered with Amazon Route 53, this Cfn template is to create a static site'
# Metadata:
#   'AWS::CloudFormation::Interface':
#     ParameterGroups:
#       - Label:
#           default: 'HostedZone name'
#         Parameters:
#           - HostedZoneName
Parameters:
  HostedZoneName:
    Description: "The DNS name of an existing Amazon Route 53 hosted zone"
    Type: String
    AllowedPattern: "(?!-)[a-zA-Z0-9-.]{1,63}(?<!-)"
    Default: "thecloudcrew.net"


Resources:

  S3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      AccessControl: PublicRead
      BucketName: !Ref HostedZoneName
      WebsiteConfiguration:
        IndexDocument: index.html
        ErrorDocument: error.html
      LoggingConfiguration:
        DestinationBucketName: !Ref S3LoggingBucket
        LogFilePrefix: logs

  WWWS3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub
        -  www.${domain}
        - { domain: !Ref HostedZoneName}
      WebsiteConfiguration:
        RedirectAllRequestsTo:
          HostName: !Ref HostedZoneName

  S3LoggingBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub
        - ${domain}.logs
        - { domain: !Ref HostedZoneName}
      AccessControl: LogDeliveryWrite

  HostedZone:
    Type: "AWS::Route53::HostedZone"
    Properties:
      HostedZoneConfig:
        Comment: "My Hosted zone for thecloudcrew.net"
      HostedZoneTags:
        -
          Key: Name
          Value: thecloudcrew
      Name: !Ref HostedZoneName

  RecordSet: #FIXME
    Type: "AWS::Route53::RecordSet"
    Properties:
      AliasTarget:
        DNSName: s3-website.us-east-2.amazonaws.com
        HostedZoneId: Z2O1EMRO9K5GLX
      Comment: "RecordSet for static website"
      HostedZoneId: !Ref HostedZone  #TODO
      Name: !Ref HostedZone
      Type: A
      #Region: 'us-east-2'
      # SetIdentifier: String
      # TTL: String
      # Weight: Integer

1 个答案:

答案 0 :(得分:1)

您错过了Type: A媒体资源,必须将HosteZoneName替换为HostedZoneId。另外,删除它在Route53中没有用的Region是全局的。