我使用 ELB CLI 为我的域名的区域顶点创建了别名,具体说明如下Elastic Load Balancing 开发人员指南。我还使用 --rr-type AAAA 标志添加了 AAAA 记录,这在指南中没有描述。
执行 A 和 AAAA 记录的 elb-associate-route53-hosted-zone 命令后,Route 53 GUI 已填充。我记录了记录在 GUI 中的样子,删除了记录,并尝试仅使用 GUI 重新创建。我收到以下错误。
DNS 名称为 example.com. 的 RRSet,类型 A 包含一个别名目标,该别名目标包含一个无效别名目标的托管区域。
我想使用 Route 53 GUI 执行此操作。Route 53 GUI 是否支持创建指向 Elastic Load Balancer 的区域顶点别名?
答案1
Route 53 团队的一名工程师告诉我,可以在 Route 53 控制台(GUI)中创建专有别名。
步骤如下。
- 单击创建记录集
- 对于区域顶点记录,只需将名称字段留空
- 选择要设为 A 或 AAAA 的别名类型(此后的所有步骤对于这两种类型都是相同的)
- 选择“是”单选按钮。
- 在另一个选项卡中打开 EC2 控制台并导航到负载均衡器列表。
- 单击负载均衡器并查看列表下方窗格中的描述选项卡。以下是示例输出
DNS 名称:new-balancer-751654286.us-east-1.elb.amazonaws.com(A 记录)
ipv6.new-balancer-751654286.us-east-1.elb.amazonaws.com(AAAA 记录)
dualstack.new-balancer-751654286.us-east-1.elb.amazonaws.com(A 或 AAAA 记录)
注意:由于与 LoadBalancer 关联的 IP 地址集会随时间而变化,因此您永远不应使用任何特定 IP 地址创建“A”记录。如果您想为 LoadBalancer 使用友好的 DNS 名称,而不是 Elastic Load Balancing 服务生成的名称,则应为 LoadBalancer DNS 名称创建 CNAME 记录,或使用 Amazon Route 53 创建托管区域。有关更多信息,请参阅在 Elastic Load Balancing 中使用域名http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html。
状态:0 个实例(共 0 个)正在服务
端口配置:80(HTTP)转发至80(HTTP)
粘性:已禁用(编辑)
可用区域:us-east-1b
源安全组:amazon-elb-sg
所有者别名:amazon-elb
托管区域 ID:Z3DZXD0Q79N41H
- 现在复制上述案例中的托管区域 ID“ Z3DZXD0Q79N41H”并将其粘贴到标有“别名托管区域 ID:”的字段中
- 现在复制上述案例中的 DNS 名称“new-balancer-751654286.us-east-1.elb.amazonaws.com”并粘贴到字段“别名 DNS 名称:”中 - 仅供参考,此 DNS 名称对于 A 和 AAAA 别名记录都是相同的。(请勿使用“ipv6.new-balancer-751654286.us-east-1.elb.amazonaws.com”)
- 单击创建记录集,或者此时您可以选择“是”来加权记录,并提供 0-255 之间的权重和 setID,例如“我的负载均衡器”
答案2
要想得到权威的答案,你应该咨询 Amazon AWS,也就是 Amazon Route 53 的创建者。然而,非常合理的猜测是 Route 53可能不允许在区域顶点创建 CNAME(别名), 自从DNS 不支持此功能。
有倡议/讨论允许区域顶点的 CNAME正在进行中。但必须最终确定一个标准,然后由“大多数”公共 DNS 缓存实施——这很可能至少需要数年时间。
不过,请注意,Route 53 和 Amazon Elastic Load Balancer (ELB) 现在支持专有区域顶点的 ELB 负载均衡器的别名。这些不会作为 CNAME 发布到 DNS,而是由内部翻译别名动态地将数据添加到 A 记录,然后发布 A 记录。