【发布时间】:2015-03-06 01:01:28
【问题描述】:
我有一个包含以下内容的 AWS CloudFormation 文件:
"myELB" : {
"Type": "AWS::ElasticLoadBalancing::LoadBalancer",
Blah Blah Blah
},
"DatabaseDNSRecord" : {
"Type" : "AWS::Route53::RecordSetGroup",
"DependsOn": ["myELB"],
"Properties" : {
"HostedZoneId" : "Z19Y4P1DDQJADI", # obfuscated obviously.
"RecordSets" : [
{
"Name" : "mydns.privatehostedzone.",
"Type" : "CNAME",
"ResourceRecords" : [
{"Fn::GetAtt" : ["myELB","DNSName"]}
]
}
]
}
},
当我运行它时,我收到以下神秘错误:
Error Message: 18:59:16 UTC-0500 CREATE_FAILED AWS::Route53::RecordSetGroup DatabaseDNSRecord Invalid request
有人可以提出这里的问题吗?我看不出我做错了什么。 myELB 已成功创建。
【问题讨论】:
-
对模板进行“验证”时会发生什么?此外,托管区域的细节可能是相关的。例如实际上托管区域名称是什么..
-
@AssafLavie,我的托管区域的名称是
privatehostedzone.。当我尝试验证它时,验证器只是坐在那里,没有任何输出。它不响应错误或验证消息:aws cloudformation validate-template --template-body file:////My//path////mytemplatefile.json。实际上,当我将模板文件替换为仅包含Hello world的文件时,它的行为方式相同。很奇怪。但是 AWS 让我开始使用这个文件构建堆栈。如果文件语法不正确,AWS 会直接拒绝。 -
好吧,我不知道模板中可能有什么问题。我只能建议你通过它“二进制搜索”,直到你让它工作:尝试不同的资源类型(A记录,只需将它指向一些随机IP),尝试不同的区域,尝试直接提供cname记录而不参考 - 缩小范围......祝你好运!
-
哦,等等,这可能是一个不幸的答案:forums.aws.amazon.com/thread.jspa?threadID=169745&tstart=0
-
您的代码 sn-p 未显示您正在尝试在 CFN 中创建私有托管区域。是的,仍然不支持。但是,如果您只是想将记录集添加到现有区域,那肯定是受支持的。
标签: amazon-web-services amazon-cloudformation