在别名记录和非别名记录之间进行选择 - Amazon Route 53
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在别名记录和非别名记录之间进行选择

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

与CNAME记录不同,你可以在DNS命名空间的顶部节点(也称为区域顶点)创建别名记录。例如,如果您注册DNS名称为 example.com,则区域顶点为 example.com。你无法为 example.com 创建CNAME记录,但你可以为 example.com 创建别名记录,将流量路由到 www.example.com(只要 www.example.com 的记录类型不是类型)。CNAME

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

  • Amazon API Gateway 自定义区域API或边缘优化 API — Route 53 会根据您的一个或多个 IP 地址进行响应。API

  • Amazon VPC 接口终端节点 — Route 53 使用您的接口终端节点的一个或多个 IP 地址进行响应。

  • CloudFront 分发 — Route 53 使用一个或多个 IP 地址作为响应,这些服务器可以提供您的内容的CloudFront 边缘服务器。

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

  • Elastic Load Balancing 负载均衡器 - Route 53 使用负载均衡器的一个或多个 IP 地址来响应。这包括应用程序负载均衡器、经典负载均衡器和网络负载均衡器。

  • Amazon Global Accelerator 加速器 — Route 53 使用加速器的 IP 地址进行响应。

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

  • 同一托管区中同类型的其他 Route 53 记录 – Route 53 会如同查询针对由别名记录所引用的记录一样做出响应(请参阅 别名和CNAME记录的比较)。

  • Amazon AppSync 域名 — Route 53 使用您的接口终端节点的一个或多个 IP 地址进行响应。

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

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

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

别名和CNAME记录的比较

别名记录与CNAME记录类似,但有一些重要的区别。以下列表比较了别名记录和CNAME记录。

您可以将查询重定向到的资源
别名记录

别名记录只能将查询重定向到选定 Amazon 资源,包括但不限于以下资源:

  • Amazon S3 存储桶

  • CloudFront 分布

  • 同一 Route 53 托管区域中的其它记录

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

CNAME记录

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

创建与域同名的记录(顶级域名处的记录)
别名记录

在大多数配置中,您可以创建一个与托管区域(区域 APEX)同名的别名记录。唯一的例外是,当你想要将查询从区域顶点(例如 example.com)重定向到同一托管区域中类型为CNAME(例如 zenith.example.com)的记录时。别名记录必须与您要将流量路由到的记录具有相同的类型,并且即使是别名CNAME记录也不支持为区域顶点创建记录。

CNAME记录

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

DNS查询定价
别名记录

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

CNAME记录

Route 53 会收取CNAME查询费用。

注意

如果您创建的CNAME记录重定向到 Route 53 托管区域(同一托管区域或其他托管区域)中另一条记录的名称,则每个DNS查询按两个查询计费:

  • Route 53 使用您要重定向到的记录的名称来响应第一个DNS查询。

  • 然后,DNS解析器必须提交另一个查询以获取第一个响应中的记录,以获取有关将流量定向到何处的信息,例如 Web 服务器的 IP 地址。

如果CNAME记录重定向到由其他DNS服务托管的记录的名称,则 Route 53 会对一次查询收费。其他DNS服务可能会对第二个查询收费。

DNS查询中指定的记录类型
别名记录

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

CNAME记录

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

记录在 dig 或 nslookup 查询中如何列出
别名记录

在对 dig 或 nslookup 查询的响应中,别名记录列为您在创建记录时指定的记录类型,例如 A 或。AAAA(您为别名记录指定的记录类型取决于您要将流量路由到的资源。例如,要将流量路由到 S3 存储桶,请指定 A 作为类型。) 别名属性仅在 Route 53 控制台中或对编程请求(例如 Amazon CLIlist-resource-record-sets命令)的响应中可见。

CNAME记录

一条CNAME记录作为CNAME记录列出,以响应 dig 或 nslookup 查询。