【发布时间】:2016-11-20 22:02:03
【问题描述】:
我正在使用 Amazon Web Services CloudFormation 解决方案来创建数据库 (RDS)、一些服务器 (ElasticBeanstalk) 并添加一些 DNS 条目 (Route 53)。
我为此使用的模板运行良好,所有服务都根据需要创建,但 DNS (CNAME) 记录除外。
为了获取要添加的 CNAME 记录的值,我使用了 Fn::GetAtt,并获取了 ElasticBeanstalk 对象的 EndpointURL。 Amazon docs 建议这个抓-
此环境的 LoadBalancer 的 URL。
示例:awseb-myst-myen-132MQC4KRLAMD-1371280482.us-east-1.elb.amazonaws.com
但是,问题在于它正在获取 IP 地址。因此,CNAME 失败。
以前有没有人遇到过这个问题,如果有,解决方法是什么?
这是我模板的相关摘录 -
"RecordSetObject": {
"Type": "AWS::Route53::RecordSet",
"Properties": {
"HostedZoneId": "Q1W2E3R4T5Y6U7",
"Name": {
"Fn::Join": [
"",
[
{ "Ref": "EnvironmentName" },
"-",
{ "Ref": "ApplicationName" },
".",
"super.secret.url",
"."
]
]
},
"ResourceRecords": [
{
"Fn::GetAtt": [
"EBObjectName",
"EndpointURL"
]
}
],
"Type": "CNAME",
"TTL": "300"
}
}
【问题讨论】:
-
你最终解决了这个问题吗@david-gard?我遇到了同样的问题,找不到其他人报告此问题。
-
不,很遗憾没有解决方案。
-
谢谢!如果我弄清楚了,会发布答案。
-
为了让其他人清楚地看到这一点,我认为问题在于 CloudFormation 的 Elastic Beanstalk 支持,因为我试图将域公开为导出(没有 CloudFront/Route53)并看到同样的问题。
标签: amazon-web-services amazon-cloudformation amazon-route53 amazon-elastic-beanstalk