如何在Route53中为Elasticache复制组创建“别名目标”DNS记录

8
我正在使用Cloudformation创建一个Redis的ElastiCache复制组,但它不允许指定组名称或集群名称(它们是随机生成的无意义字符)。
因此,我的想法是创建一个DNS记录来对它进行别名,但我不知道如何获取别名目标的托管区域ID。
我可以使用CNAME,但如果A记录别名选项可用,我更愿意这样做。

请检查此页面上的“返回值”部分是否有帮助:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#d0e38557 - slayedbylucifer
@slayedbylucifer 我觉得这个并没有帮助,那与在模板中创建托管区域有关,我需要知道由AWS自动生成的弹性缓存创建时所生成的DNS记录的托管区域ID。 - fortran
1
我同意。 ElasticCache资源似乎没有返回进行别名操作所需的值(如ElasticLoadBalancer:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-ref:CanonicalHostedZoneName和CanonicalHostedZoneNameID)。不过,打开AWS论坛上的问题可能是值得尝试的。 - Grady G Cooper
很遗憾,这个不起作用。 - xer0x
如果您在AWS::ElastiCache::ReplicationGroup上设置了ReplicationGroupId,它将作为集群的名称使用。 - Doug
1个回答

8
目前无法创建指向ElastiCache复制组的别名目标。
根据文档中的"选择别名和非别名资源记录集"(强调/格式由我来完成):
代替IP地址或域名,别名资源记录集包含一个指针,指向以下内容之一:
- CloudFront分配 - Elastic Beanstalk环境 - ELB经典或应用程序负载均衡器 - 配置为静态网站的Amazon S3存储桶 - 同一托管区域中的另一个Amazon Route 53资源记录集
ElastiCache不在此列表中,因此使用指向复制组端点的CNAME(例如,在CloudFormation模板中使用`!GetAtt ReplicationGroup.PrimaryEndPoint.Address`)是您唯一的选择。

1
Endpoint 中的 'p' 需要大写,即 !GetAtt ReplicationGroup.PrimaryEndPoint.Address - Doug
这不是有点冒险吗?“PrimaryEndpoint Address”未来保证不会改变吗?我会谨慎地走这条路。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接