本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在别名记录和非别名记录之间进行选择
亚马逊 Route 53 别名记录为 DNS 提供了特定于 Route 53 的扩展。别名记录允许您将流量路由到选定 AWS 资源,例如 CloudFront 分配和 Amazon S3 存储桶。它们还允许您将流量从托管区域中的一个记录路由到另一个记录。
与 CNAME 记录不同,您可以在 DNS 命名空间的顶端节点(又称为顶级域名)上创建别名记录。例如,如果您注册了 DNS 名称 example.com,则顶级域名为 example.com。你无法为 example.com 创建别名记录,但你可以为 example.com 创建别名记录,将流量路由到 www.example.com(只要 www.example.com 的记录类型不是 CNAME)。
Route 53 收到针对别名记录的 DNS 查询时,Route 53 使用该资源的适用值响应:
Amazon API Gateway 自定义区域 API 或边缘优化 API - Route 53 使用您的 API 的一个或多个 IP 地址响应。
Amazon VPC 接口终端节点 - Route 53 使用您的接口终端节点的一个或多个 IP 地址响应。
CloudFront 分发 — Route 53 使用可以为您的内容提供服务的CloudFront 边缘服务器的一个或多个 IP 地址进行响应。
App Runner 服务 - Route 53 使用一个或多个 IP 地址来响应。
Elastic Beanstalk 环境 - Route 53 使用环境的一个或多个 IP 地址来响应。
Elastic Load Balancing 负载均衡器 - Route 53 使用负载均衡器的一个或多个 IP 地址来响应。这包括应用程序负载均衡器、经典负载均衡器和网络负载均衡器。
AWS Global Accelerator 加速器 — Route 53 使用加速器的 IP 地址进行响应。
OpenSearch 服务 — Route 53 使用 OpenSearch 服务自定义域的一个或多个 IP 地址进行响应。
配置为静态网站的 Amazon S3 存储桶 - Route 53 使用 Amazon S3 存储桶的一个 IP 地址来响应。
同一托管区中同类型的其他 Route 53 记录 – Route 53 会如同查询针对由别名记录所引用的记录一样做出响应(请参阅 别名记录和 CNAME 记录的比较)。
AWS AppSync 域名 — Route 53 使用您的接口终端节点的一个或多个 IP 地址进行响应。
有关更多信息,请参阅 将互联网流量路由到您的 AWS 资源。
当您使用别名记录将流量路由到 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 当前 TL 值的更多信息,请转到 Elastic 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)同名的别名记录。一个例外情况是,当您要将来自区域 APEX(如 example.com)的查询重定向到具有类型 CNAME(如 zenith.example.com)的同一托管区域中的记录时。别名记录必须与您要将流量路由到的目标记录具有相同的类型,而为顶级域名创建 CNAME 记录的做法不受支持,即使对于别名记录也是如此。
- CNAME 记录
-
您不能创建与托管区域(区域 APEX)同名的 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 查询中指定的记录类型是什么(如 A 或 AAAA),CNAME 记录都会重定向对记录名称的 DNS 查询。
- 记录在 dig 或 nslookup 查询中如何列出
-
- 别名记录
-
在对 dig 或 nslookup 查询的响应中,别名记录以您在创建记录时指定的记录类型列出,例如 A 或 AAAA。(您为别名记录指定的记录类型取决于您要将流量路由到的资源。例如,要将流量路由到 S3 存储桶,请指定 A 作为类型。) 别名属性仅在 Route 53 控制台或对编程请求(例如 AWS CLI
list-resource-record-sets命令)的响应中可见。 - CNAME 记录
-
CNAME 记录在响应 dig 或 nslookup 查询时作为 CNAME 记录列出。