问题描述
我正在使用CloudFormation将应用程序部署到AWS。我正在创建一个将URL映射到URL的Route53记录。但是部署模板时失败了。
这是我在模板中的资源。
WebDNS:
Type: AWS::Route53::RecordSetGroup
Properties:
HostedZoneName: waiyanhein.com.
Comment: Weighted PRs for frontends.
RecordSets:
- Name: waiyanhein.com.
Type: CNAME
TTL: '900'
SetIdentifier: Frontend
Weight: 5
ResourceRecords:
- http://patheindirectorytesting.eba-zxqi6pge.eu-west-1.elasticbeanstalk.com/
部署后,出现以下错误。
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/dd7eb5b0-e96c-11ea-bcdf-02e29081c656","EventId": "36f3bc50-e975-11ea-b9b2-0ae6d6014b56","StackName": "patheindirectory","LogicalResourceId": "patheindirectory","PhysicalResourceId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/dd7eb5b0-e96c-11ea-bcdf-02e29081c656","ResourceType": "AWS::CloudFormation::Stack","Timestamp": "2020-08-28T21:27:03.035000+00:00","ResourceStatus": "UPDATE_ROLLBACK_IN_PROGRESS","ResourceStatusReason": "The following resource(s) Failed to create: [WebDNS]. "
},{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/dd7eb5b0-e96c-11ea-bcdf-02e29081c656","EventId": "WebDNS-CREATE_Failed-2020-08-28T21:27:02.244Z","LogicalResourceId": "WebDNS","PhysicalResourceId": "","ResourceType": "AWS::Route53::RecordSetGroup","Timestamp": "2020-08-28T21:27:02.244000+00:00","ResourceStatus": "CREATE_Failed","ResourceStatusReason": "[RRSet of type CNAME with DNS name waiyanhein.com. is not permitted at apex in zone waiyanhein.com.]","ResourceProperties": "{\"Comment\":\"Weighted PRs for frontends.\",\"HostedZoneName\":\"waiyanhein.com.\",\"RecordSets\":[{\"Type\":\"CNAME\",\"ResourceRecords\":[\"http://patheindirectorytesting.eba-zxqi6pge.eu-west-1.
elasticbeanstalk.com/\"],\"SetIdentifier\":\"Frontend\",\"TTL\":\"900\",\"Weight\":\"5\",\"Name\":\"waiyanhein.com.\"}]}"
},
模板有什么问题,我该如何解决?
我尝试使用它。
WebDNS:
Type: AWS::Route53::RecordSetGroup
Properties:
HostedZoneName: waiyanhein.com.
Comment: Weighted PRs for frontends.
RecordSets:
- Name: waiyanhein.com.
Type: A
AliasTarget:
DNSName: patheindirectorytesting.eba-zxqi6pge.eu-west-1.elasticbeanstalk.com
EvaluateTargetHealth: true
HostedZoneId: Z1LQECGX5PH1X
SetIdentifier: Frontend
Weight: 5
这次我遇到了这个错误。
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/bb2b3cd0-e9ef-11ea-9251-06755b8a246a","EventId": "84c9cfb0-e9f1-11ea-9a83-0655dfaca74c","PhysicalResourceId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/bb2b3cd0-e9ef-11ea-9251-06755b8a246a","Timestamp": "2020-08-29T12:16:51.229000+00:00","ResourceStatus": "ROLLBACK_IN_PROGRESS","ResourceStatusReason": "The following resource(s) Failed to create: [WebDNS]. . Rollback requested by user."
},{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/patheindirectory/bb2b3cd0-e9ef-11ea-9251-06755b8a246a","EventId": "WebDNS-CREATE_Failed-2020-08-29T12:16:50.249Z","Timestamp": "2020-08-29T12:16:50.249000+00:00","ResourceStatusReason": "[Tried to create an alias that targets patheindirectorytesting.eba-zxqi6pge.eu-west-1.elasticbeanstalk.com.,type A in zone Z1LQECGX5PH1X,but the alias target name does not lie within the target
zone,RRSet with DNS name waiyanhein.com.,type A,SetIdentifier Frontend cannot be created as a non-weighted set exists with the same name and type.]",\"RecordSets\":[{\"AliasTarget\":{\"HostedZoneId\":\"Z1LQECGX5PH1X\",\"DNSName\":\"patheindirectorytesting.eba-zx
qi6pge.eu-west-1.elasticbeanstalk.com\",\"EvaluateTargetHealth\":\"true\"},\"Type\":\"A\",
解决方法
由于您的EB域中包含区域名称(eu-west-1
),所以我认为最好的方法是为其设置别名记录:
为此,您需要获取您所在区域的HostedZoneId,其名称为here,为Z1LQECGX5PH1X
。
随后,您的RecordSet可能是:
WebDNS:
Type: AWS::Route53::RecordSetGroup
Properties:
HostedZoneName: waiyanhein.com.
Comment: Weighted PRs for frontends.
RecordSets:
- Name: waiyanhein.com.
Type: A
AliasTarget:
DNSName: patheindirectorytesting.eba-zxqi6pge.eu-west-1.elasticbeanstalk.com
EvaluateTargetHealth: true
HostedZoneId: Z1LQECGX5PH1X
SetIdentifier: Frontend
Weight: 5