Amazon Route 53
开发人员指南 (API 版本 2013-04-01)

在别名和非别名记录之间做出选择

Amazon Route 53 别名记录 为 DNS 功能提供特定于 Route 53 的扩展。别名记录允许您将流量路由到所选 AWS 资源,如 CloudFront 分配和 Amazon S3 存储桶。它们还允许您将流量从托管区域中的一个记录路由到另一个记录。

与 CNAME 记录不同,您可以在 DNS 命名空间的顶端节点(又称为顶级域名)上创建别名记录。例如,如果您注册了 DNS 名称 example.com,则顶级域名就是 example.com。您不能为 example.com 创建 CNAME 记录,但可以为将流量路由到 www.example.com 的 example.com 创建别名记录。

Route 53 收到针对别名记录的 DNS 查询时,Route 53 使用该资源的适用值响应:

  • Amazon API Gateway 自定义区域 API 或边缘优化 API – Route 53 为您的 API 回复一个或多个 IP 地址。

  • Amazon VPC 接口终端节点 – Route 53 为您的接口终端节点回复一个或多个 IP 地址。

  • CloudFront 分配 – Route 53 使用可以为您的内容提供服务的 CloudFront 边缘服务器的一个或多个 IP 地址响应。

  • Elastic Beanstalk 环境 – Route 53 使用环境的一个或多个 IP 地址来响应。

  • ELB 负载均衡器 – Route 53 使用负载均衡器的一个或多个 IP 地址来响应。

  • AWS Global Accelerator 加速器 –Route 53 使用加速器的两个 IP 地址之一进行响应。

  • 配置为静态网站的 Amazon S3 存储桶 – Route 53 使用 Amazon S3 存储桶的一个 IP 地址来响应。

  • 同一托管区域中的另一个 Route 53 记录 – Route 53 就像查询针对由别名记录所引用的记录一样做出响应。

当您使用别名记录将流量路由到 AWS 资源时,Route 53 会自动识别资源中的更改。例如,假设 example.com 的一个别名记录指向位于 lb1-1234.us-east-2.elb.amazonaws.com 上的一个 ELB 负载均衡器。如果负载均衡器的 IP 地址更改,Route 53 将使用新 IP 地址自动开始响应 DNS 查询。

如果别名记录指向 AWS 资源,则您无法设置生存时间 (TTL),Route 53 使用资源的默认 TTL。如果某个别名记录指向同一托管区域中的另一个记录,则 Route 53 将使用该别名记录指向的记录的 TTL。有关 Elastic Load Balancing 当前 TTL 值的更多信息,请转到 Elastic Load Balancing 用户指南 中的请求路由,然后搜索“TTL”。

有关使用 Route 53 控制台创建记录的信息,请参阅使用 Amazon Route 53 控制台创建记录。有关为别名记录指定的值的信息,请参阅在创建或编辑 Amazon Route 53 记录时指定的值中的相关主题:

别名记录与 CNAME 记录类似,但有一些重要的区别:

CNAME 记录 别名记录

CNAME 记录可以将 DNS 查询重定向到任何 DNS 记录。例如,您可以创建一条 CNAME 记录,该记录将查询从 acme.example.com 重定向到 zenith.example.com 或 acme.example.org。您不需要使用 Route 53 作为您要将查询重定向到的域的 DNS 服务。

别名记录只能将查询重定向到选定的 AWS 资源,例如:

  • Amazon S3 存储桶

  • CloudFront 分配

  • 您要在其中创建别名记录的 Route 53 托管区域中的其他记录

例如,您可以创建一个名为 acme.example.com 的别名记录,该记录将查询重定向到 Amazon S3 存储桶(也称为 acme.example.com.)。您还可以创建一个 acme.example.com 别名记录,该记录将查询重定向到 example.com 托管区域中名为 zenith.example.com 的记录。

您不能创建与托管区域(区域 APEX)同名的 CNAME 记录。对于域名 (example.com) 的托管区域和子域 (zenith.example.com) 的托管区域都是如此。

在大多数配置中,您可以创建一个与托管区域(区域 APEX)同名的别名记录。一个例外情况是,当您要将来自区域 APEX(如 example.com)的查询重定向到具有类型 CNAME(如 zenith.example.com)的同一托管区域中的记录时。别名记录必须与您要将流量路由到的目标记录具有相同的类型,而为顶级域名创建 CNAME 记录的做法不受支持,即使对于别名记录也是如此。

Route 53 收取 CNAME 查询费用。

对于 AWS 资源的别名查询,Route 53 不收费。有关更多信息,请参阅 Amazon Route 53 定价

无论记录类型如何,CNAME 记录都会重定向对记录名称(如 A 或 AAAA)的 DNS 查询。

仅当别名记录的名称(如 acme.example.com)和别名记录的类型(如 A 或 AAAA)与 DNS 查询中的名称和类型匹配时,Route 53 才响应 DNS 查询。

CNAME 记录在响应 dig 或 nslookup 查询时显示为 CNAME 记录。

别名记录显示为您在创建记录时指定的记录类型,例如 A 或 AAAA。别名属性仅在 Route 53 控制台中或在响应以编程方式发出的请求时可见,例如 AWS CLI list-resource-record-sets 命令。