在别名记录和非别名记录之间进行选择 - Amazon Route 53

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

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

Amazon Route 53 别名记录提供了特定于 Route 53 的功能扩展。DNS别名记录允许您将流量路由到选定 AWS 资源,包括但不限于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 地址来响应。这包括应用程序负载均衡器、经典负载均衡器和网络负载均衡器。

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

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

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

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

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

如果别名记录指向 AWS 资源,则无法设置生存时间 (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记录。

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

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

  • 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 不对 AWS 资源的别名查询收费。有关更多信息,请参阅 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 控制台中或对编程请求(例如 AWS CLIlist-resource-record-sets命令)的响应中可见。

CNAME记录

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