

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

# 将 Amazon Route 53 配置为 DNS 服务
<a name="dns-configuring"></a>

可将 Amazon Route 53 用作域 (如 example.com) 的 DNS 服务。当 Route 53 用作您的 DNS 服务时，它会通过将友好域名 (例如 www.example.com) 转换为数字 IP 地址 (例如 192.0.2.1，计算机可利用这些地址互相连接) 来将互联网流量路由到您的网站。当有人在浏览器中输入您的域名或向您发送电子邮件时，会向 Route 53 转发一个 DNS 查询，后者会用相应的值来响应。例如，Route 53 可能使用 example.com 的 Web 服务器的 IP 地址作出响应。

**DNS 托管与域注册**  
本章介绍如何仅使用 Route 53 进行* DNS 托管*。这意味着您的域注册将保留在当前的注册商处，并且您将继续向他们支付域续订费用。Route 53 仅会管理您的 DNS 设置和处理域的 DNS 查询。  
如果您还想将域注册转移到 Route 53（将 Route 53 同时作为注册商和 DNS 服务），请参阅 [域转移的转移前核对清单](domain-transfer-checklist.md) 和 [将域注册转移到 Amazon Route 53](domain-transfer-to-route-53.md)。

在本章中，我们说明了如何配置 Route 53 以将互联网流量路由到正确位置。另外，我们会说明在您当前正在使用其它 DNS 服务的情况下，如何将 DNS 服务迁移到 Route 53，以及如何使用 Route 53 作为新域的 DNS 服务。

**Topics**
+ [将 Amazon Route 53 作为现有域的 DNS 服务](MigratingDNS.md)
+ [为新域配置 DNS 路由](dns-configuring-new-domain.md)
+ [将流量路由到您的资源](dns-routing-traffic-to-resources.md)
+ [使用托管区域](hosted-zones-working-with.md)
+ [使用记录](rrsets-working-with.md)
+ [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)
+ [使用 AWS Cloud Map 创建记录和运行状况检查](autonaming.md)
+ [DNS 约束和行为](DNSBehavior.md)
+ [相关主题](dns-configuring-related-topics.md)

# 将 Amazon Route 53 作为现有域的 DNS 服务
<a name="MigratingDNS"></a>

如果您要将一个或多个域注册传输到 Route 53，并且您当前正在使用的域注册商不提供付费 DNS 服务，则在迁移域之前需要迁移 DNS 服务。否则，在您传输域的过程中注册商将停止提供 DNS 服务，且关联的网站和 Web 应用程序将在 Internet 上不可用。(您也可以将 DNS 服务从当前注册商迁移到另一个 DNS 服务提供商。对于在 Route 53 注册的域，我们不要求您使用 Route 53 作为 DNS 服务提供商。）

此过程取决于您目前是否在使用该域：
+ 如果该域目前正在获取流量（例如，如果您的用户正在使用该域名浏览网站或访问 Web 应用程序），请参阅 [将 Route 53 作为正在使用的域的 DNS 服务](migrate-dns-domain-in-use.md)。
+ 如果该域没有获取任何流量 (或正在获取非常少的流量)，请参阅[将 Route 53 作为非活动域的 DNS 服务](migrate-dns-domain-inactive.md)。

对于这两个选项，您的域都应在整个迁移过程中保持可用。但在极少的情况下，如果出现问题，第一个选项可让您快速回滚迁移。如果使用第二个选项，您的域可能在几天内不可用。

如果您想与专家联系 AWS，请访问[销售支持](https://aws.amazon.com/contact-us/sales-support/?pg=ln&sec=hs)。

# 将 Route 53 作为正在使用的域的 DNS 服务
<a name="migrate-dns-domain-in-use"></a>

如果要为目前正在获取流量（例如，如果您的用户正在使用该域名浏览网站或访问 Web 应用程序）的域将 DNS 服务迁移至 Amazon Route 53，请执行此部分中的过程。

**Topics**
+ [步骤 1：从当前 DNS 服务提供商获取当前 DNS 配置（可选但推荐）](#migrate-dns-get-zone-file)
+ [步骤 2：创建托管区域](#migrate-dns-create-hosted-zone)
+ [步骤 3：创建记录](#migrate-dns-create-records)
+ [步骤 4：减小 TTL 设置](#migrate-dns-lower-ttl)
+ [步骤 5：（如果您已配置 DNSSEC）从父区域中删除 DS 记录](#migrate-remove-ds)
+ [步骤 6：等待旧 TTL 过期](#migrate-dns-wait-for-ttl)
+ [步骤 7：更新 NS 记录以使用 Route 53 名称服务器](#migrate-dns-change-name-servers-with-provider)
+ [步骤 8：监控域的流量](#migrate-dns-monitor-traffic)
+ [步骤 9：将 NS 记录的 TTL 重新改为更高的值](#migrate-dns-change-ttl-back)
+ [步骤 10：将域注册转移到 Amazon Route 53](#migrate-dns-transfer-domain-registration)
+ [步骤 11：重新启用 DNSSEC 签名（如果需要）](#migrate-dns-re-enable-dnssec)

## 步骤 1：从当前 DNS 服务提供商获取当前 DNS 配置（可选但推荐）
<a name="migrate-dns-get-zone-file"></a>

当您将 DNS 服务从另一个提供商迁移至 Route 53 时，您将在 Route 53 中重现当前 DNS 配置。在 Route 53 中，您创建一个与您的域同名的托管区域，并且您在该托管区域中创建记录。每条记录均指示您希望如何针对指定域名或子域名路由流量。例如，当有人在 Web 浏览器中输入您的域名时，您是否希望将流量路由到数据中心的 Web 服务器、Amazon EC2 实例、 CloudFront 分配或其他位置？

您使用的过程取决于当前 DNS 配置的复杂性：
+ **在当前 DNS 配置简单的情况下** — 如果您只是将几个子域的互联网流量路由到少数资源（例如，Web 服务器或 Amazon S3 存储桶），则可以在 Route 53 控制台中手动创建几条记录。
+ **在当前 DNS 配置更复杂且您只希望重现当前配置的情况下** — 如果您可以从当前 DNS 服务提供商处获取区域文件并将该区域文件导入 Route 53 中，则可简化迁移过程。(并非所有 DNS 服务提供商都提供区域文件。) 在导入区域文件时，Route 53 将通过在您的托管区域中创建相应记录来自动重现现有配置。

  请询问您目前的 DNS 服务提供商的客户支持，请教如何获取*区域文件* 或*记录列表*。有关所需区域文件格式的信息，请参阅[通过导入区域文件来创建记录](resource-record-sets-creating-import.md)。
+ **在当前 DNS 配置更复杂且您对 Route 53 路由功能感兴趣的情况下** — 查看以下文档以了解您是否需要使用其它 DNS 服务提供商未提供的 Route 53 功能。如果是这样，您可以手动创建记录，也可以导入区域文件，并稍后创建或更新记录：
  + [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)解释了 Route 53 别名记录的优点，它可以免费将流量路由到某些 AWS 资源，例如 CloudFront 分配和 Amazon S3 存储桶。
  + [选择路由策略](routing-policy.md) 介绍了 Route 53 路由选项，例如，基于用户位置的路由、基于用户和资源之间延迟的路由、基于资源是否正常运行的路由以及基于指定权重传输到相应资源的路由。
**注意**  
您也可以导入区域文件，并在稍后更改配置以利用别名记录和复杂的路由策略。

如果您无法获取区域文件，或者如果您要在 Route 53 中手动创建记录，则您可能要迁移的记录包括：
+ **A（地址）记录** — 将域名或子域名与相应资源 IPv4 的地址（例如 192.0.2.3）相关联
+ **AAAA（地址）记录** — 将域名或子域名与相应资源 IPv6 的地址（例如 2001:0 db 8:85 a 3:0000:00:00:abcd: 0001:2345）相关联
+ **邮件服务器 (MX) 记录** — 将流量路由到邮件服务器
+ **别名记录** — 将一个域名 (example.net) 的流量重新路由到另一个域名 (example.com)
+ **其它支持的 DNS 记录类型的记录** — 有关支持的记录类型的列表，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

## 步骤 2：创建托管区域
<a name="migrate-dns-create-hosted-zone"></a>

为了告知 Amazon Route 53 您希望如何路由您的域的流量，您创建一个与您的域同名的托管区域，然后在该托管区域中创建记录。

**重要**  
您只能为您有权管理的域创建托管区域。通常，这意味着您拥有该域，但您还可以为域的注册商开发应用程序。

创建托管区域时，Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。该 NS 记录标识通过 Route 53 与您的托管区域关联的四个名称服务器。要使 Route 53 成为您的域的 DNS 服务，您需要更新该域的注册以使用这四个名称服务器。

**重要**  
请不要创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录，并且不要删除现有的 NS 和 SOA 记录。<a name="migrate-dns-create-hosted-zone-procedure"></a>

**创建托管区**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 如果您对 Route 53 不熟悉，请选择 **DNS management**（DNS 管理）项下的 **Get started**（入门），然后选择 **Create hosted zones**（创建托管区域）。

   如果您已经在使用 Route 53，请在导航窗格中选择 **Hosted zones**（托管区域），然后选择 **Create hosted zones**（创建托管区域）。

1. 在 **Create hosted zone**（创建托管区域）窗格中，输入域名，还可以选择输入注释。有关设置的详细信息，请选择打开右侧的帮助面板。

   有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

1. 对于 **Type**（类别），接受 **Public hosted zone**（公有托管区域）的默认值。

1. 选择 **Create Hosted Zone**（创建托管区域）。

## 步骤 3：创建记录
<a name="migrate-dns-create-records"></a>

创建一个托管区域后，您可在该托管区域中创建记录，这些记录定义您要将域 (example.com) 或子域 (www.example.com) 的流量路由到的位置。例如，如果您希望将 example.com 和 www.example.com 的流量路由到 Amazon EC2 实例上的 Web 服务器，则可创建两条记录，一条记录名为 example.com，另一条记录名为 www.example.com。在每条记录中，指定您的 EC2 实例的 IP 地址。

您可通过多种方式创建记录：

**导入区域文件**  
如果您已在 [步骤 1：从当前 DNS 服务提供商获取当前 DNS 配置（可选但推荐）](#migrate-dns-get-zone-file) 中从当前 DNS 服务获取区域文件，这将是最轻松的方式。Amazon Route 53 无法预测何时创建别名记录或使用特殊路由类型 (例如，加权或故障转移)。因此，如果您导入区域文件，Route 53 会使用简单路由策略创建标准 DNS 记录。  
有关更多信息，请参阅 [通过导入区域文件来创建记录](resource-record-sets-creating-import.md)。

**在控制台中单独创建记录**  
如果您没有获取区域文件，并且您只想创建几条具有 Simple 路由策略的记录来开始操作，则可在 Route 53 控制台中创建记录。您可以同时创建别名记录和非别名记录。  
有关更多信息，请参阅以下主题：  
+ [选择路由策略](routing-policy.md)
+ [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)
+ [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)

**以编程方式创建记录**  
您可以使用 AWS SDKs、或中的一个来创建记录 AWS Tools for Windows PowerShell。 AWS CLI有关更多信息，请参阅 [AWS 文档](https://docs.aws.amazon.com/)。  
如果您使用的编程语言 AWS 不提供软件开发工具包，也可以使用 Route 53 API。有关更多信息，请参阅 [Amazon Route 53 API 参考](https://docs.aws.amazon.com/Route53/latest/APIReference/)。

## 步骤 4：减小 TTL 设置
<a name="migrate-dns-lower-ttl"></a>

记录的 TTL（生存时间）设置指定您希望 DNS 解析程序缓存记录和使用缓存信息的时间。当 TTL 过期时，解析程序会向域的 DNS 服务提供商发送另一个查询以获取最新信息。

NS 记录的典型 TTL 设置为 172800 秒或两天。NS 记录列出了域名系统 (DNS) 可用来获取有关如何路由域流量的信息的名称服务器。通过为当前 DNS 服务提供商和 Amazon Route 53 减小 NS 记录的 TTL，可在您将 DNS 迁移至 Route 53 的过程中发现问题时缩短域的停机时间。如果您不减小 TTL，则您的域可能会在出现问题时最多两天内在 Internet 上不可用。

**注意**  
一些完整解析程序可能会缓存父权威服务器的 NS 记录的 TTL，因此还必须减少在父权威 DNS 服务器上注册的 NS 记录的 TTL。

我们建议您针对以下 NS 记录更改 TTL：
+ 当前 DNS 服务提供商的托管区域中的 NS 记录。(您的当前提供商可能使用不同的术语。)
+ 您在[步骤 2：创建托管区域](#migrate-dns-create-hosted-zone)中创建的托管区域中的 NS 记录。<a name="migrate-dns-lower-ttl-current-provider-procedure"></a>

**为当前 DNS 服务提供商减小 NS 记录的 TTL 设置**
+ 使用域的当前 DNS 服务提供商提供的方法来更改域的托管区域中的 NS 记录的 TTL。<a name="migrate-dns-lower-ttl-route-53-procedure"></a>

**减小 Route 53 托管区域中的 NS 记录的 TTL 设置**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中选择 **Hosted Zones**。

1. 选择托管区域的名称。

1. 选择 NS 记录，然后选择 **Edit**（编辑）。

1. 更改 **TTL（秒）**的值。我们建议您指定一个介于 60 秒和 900 秒 (15 分钟) 之间的值。

1. 选择**保存更改**。

## 步骤 5：（如果您已配置 DNSSEC）从父区域中删除 DS 记录
<a name="migrate-remove-ds"></a>

如果已为域配置 DNSSEC，请在将域迁移到 Route 53 之前从父区域中删除 Delegation Signer (DS) 记录。

如果父区域通过 Route 53 或其他注册商托管，请联系他们以删除 DS 记录。

 由于目前不可能在两个提供商之间启用 DNSSEC 签名，因此您必须移除任何 DS 或 DNSKEYs 停用 DNSSEC。这会临时向 DNS 解析程序发出信号，以禁用 DNSSEC 验证。在[步骤 11](#migrate-dns-re-enable-dnssec) 中，您可以在完成向 Route 53 的过渡后重新启用 DNSSEC 验证（如果需要）。

有关更多信息，请参阅 [删除域的公有密钥](domain-configure-dnssec.md#domain-configure-dnssec-deleting-keys)。

## 步骤 6：等待旧 TTL 过期
<a name="migrate-dns-wait-for-ttl"></a>

如果您的域正在使用中（例如，如果用户正在使用该域名浏览网站或访问 Web 应用程序），则 DNS 解析程序已缓存当前 DNS 服务提供商所提供的名称服务器的名称。已在几分钟前缓存该信息的 DNS 解析程序会将其保存近两天。

为了确保一次性完成 DNS 服务到 Route 53 的迁移，请在减小 TTL 后等待两天。为期两天的 TTL 过期且解析程序请求您的域的名称服务器后，解析程序将获取当前名称服务器，并且还将获取您在[步骤 4：减小 TTL 设置](#migrate-dns-lower-ttl)中指定的新 TTL。

## 步骤 7：更新 NS 记录以使用 Route 53 名称服务器
<a name="migrate-dns-change-name-servers-with-provider"></a>

要开始将 Amazon Route 53 用作域的 DNS 服务，请使用注册商提供的方法，或使用父区域，以将 NS 记录中的当前名称服务器替换为 Route 53 名称服务器。

**注意**  
当您使用当前 DNS 服务提供商更新 NS 记录以使用 Route 53 名称服务器时，您正在更新域的 DNS 配置。（这相当于更新域的某个 Route 53 托管区域中的 NS 记录，只不过您更新设置时使用的是您从中迁出的 DNS 服务。） <a name="migrate-dns-change-name-servers-with-provider-procedure"></a>

**在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器**

1. 在 Route 53 控制台中，获取您的托管区域的名称服务器：

   1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

   1. 在 **Hosted zones**（托管区域）页面上，选择适用的托管区域的名称。

   1. 记下 **Hosted zone details**（托管区域详细信息）部分为 **Name servers**（名称服务器）列出的四个名称。

1. 使用域的当前 DNS 服务所提供的方法来更新托管区域的 NS 记录。如果此域已向 Route 53 注册，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)。此过程取决于当前 DNS 服务是否允许您删除名称服务器：

   **如果您可以删除名称服务器**
   + 记下托管区域的 NS 记录中的当前名称服务器的名称。如果您需要还原到当前 DNS 配置，则这些是您要指定的服务器。
   + 从 NS 记录删除当前名称服务器。
   + 使用您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器的名称更新 NS 记录。
**注意**  
完成后，NS 记录中的名称服务器将只有这四个 Route 53 名称服务器。

   **如果您无法删除名称服务器**
   + 选择使用自定义名称服务器的选项。
   + 添加您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器。

## 步骤 8：监控域的流量
<a name="migrate-dns-monitor-traffic"></a>

监控域的流量，包括网站或应用程序流量，以及电子邮件：
+ **在流量慢或停止的情况下** — 请使用上一个 DNS 服务提供的方法，将相应域对应的名称服务器改回之前的名称服务器。这些是您在[在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器](#migrate-dns-change-name-servers-with-provider-procedure)的步骤 7 中记下的名称服务器。然后，确定出错的位置。
+ **在流量未受影响的情况下** — 继续至 [步骤 9：将 NS 记录的 TTL 重新改为更高的值](#migrate-dns-change-ttl-back)。

## 步骤 9：将 NS 记录的 TTL 重新改为更高的值
<a name="migrate-dns-change-ttl-back"></a>

在域的 Amazon Route 53 托管区域中，将 NS 记录对应的 TTL 更改为更典型的值，例如，172800 秒 (两天)。这减少用户的延迟，因为他们不必像 DNS 解析程序一样通常需要等待为您的域的名称服务器发送查询。<a name="migrate-dns-change-ttl-back-procedure"></a>

**更改 Route 53 托管区域中的 NS 记录的 TTL**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中选择 **Hosted Zones**。

1. 选择托管区域的名称。

1. 在托管区域的记录列表中，选择 NS 记录。

1. 选择**编辑**。

1. 将 **TTL (Seconds)** 更改为您希望 DNS 解析程序缓存您的域的名称服务器的名称的秒数。我们建议的值为 172800 秒。

1. 选择**保存更改**。

## 步骤 10：将域注册转移到 Amazon Route 53
<a name="migrate-dns-transfer-domain-registration"></a>

现在您已将域的 DNS 服务转移到 Amazon Route 53，您可以选择将域的注册转移到 Route 53。有关更多信息，请参阅 [将域注册转移到 Amazon Route 53](domain-transfer-to-route-53.md)。

## 步骤 11：重新启用 DNSSEC 签名（如果需要）
<a name="migrate-dns-re-enable-dnssec"></a>

现在您已将域的 DNS 服务转移到 Amazon Route 53，您可以重新启用 DNSSEC 签名。

启用 DNSSEC 签名有两个步骤：
+ 步骤 1：为 Route 53 启用 DNSSEC 签名，并请求 Route 53 根据 () 中的 AWS Key Management Service 客户托管密钥创建密钥签名密钥 (KSK)。AWS KMS
+ 步骤 2：通过向父区域添加 Delegation Signer (DS) 记录，为托管区域创建信任链，以便使用受信任的加密签名对 DNS 响应进行身份验证。

  有关说明，请参阅[启用 DNSSEC 签名并建立信任链。](dns-configuring-dnssec-enable-signing.md)。

# 将 Route 53 作为非活动域的 DNS 服务
<a name="migrate-dns-domain-inactive"></a>

如果要为不获取任何流量 (或正在获取非常少的流量) 的域将 DNS 服务迁移到 Amazon Route 53，请执行本部分中的过程。

**Topics**
+ [步骤 1：从当前 DNS 服务提供商（非活动域）获取当前 DNS 配置](#migrate-dns-get-zone-file-domain-inactive)
+ [步骤 2：创建托管区域（非活动域）](#migrate-dns-create-hosted-zone-domain-inactive)
+ [步骤 3：创建记录（非活动域）](#migrate-dns-create-records-domain-inactive)
+ [步骤 4：更新域注册以使用 Amazon Route 53 名称服务器（非活动域）](#migrate-dns-update-domain-inactive)

## 步骤 1：从当前 DNS 服务提供商（非活动域）获取当前 DNS 配置
<a name="migrate-dns-get-zone-file-domain-inactive"></a>

当您将 DNS 服务从另一个提供商迁移至 Route 53 时，您将在 Route 53 中重现当前 DNS 配置。在 Route 53 中，您创建一个与您的域同名的托管区域，并且您在该托管区域中创建记录。每条记录均指示您希望如何针对指定域名或子域名路由流量。例如，当有人在 Web 浏览器中输入您的域名时，您是否希望将流量路由到数据中心的 Web 服务器、Amazon EC2 实例、 CloudFront 分配或其他位置？

您使用的过程取决于当前 DNS 配置的复杂性：
+ **在当前 DNS 配置简单的情况下** — 如果您只是将几个子域的互联网流量路由到少数资源（例如，Web 服务器或 Amazon S3 存储桶），则可以在 Route 53 控制台中手动创建几条记录。
+ **在当前 DNS 配置更复杂且您只希望重现当前配置的情况下** — 如果您可以从当前 DNS 服务提供商处获取区域文件并将该区域文件导入 Route 53 中，则可简化迁移过程。(并非所有 DNS 服务提供商都提供区域文件。) 在导入区域文件时，Route 53 将通过在您的托管区域中创建相应记录来自动重现现有配置。

  请询问您目前的 DNS 服务提供商的客户支持，请教如何获取*区域文件* 或*记录列表*。有关所需区域文件格式的信息，请参阅[通过导入区域文件来创建记录](resource-record-sets-creating-import.md)。
+ **在当前 DNS 配置更复杂且您对 Route 53 路由功能感兴趣的情况下** — 查看以下文档以了解您是否需要使用其它 DNS 服务提供商未提供的 Route 53 功能。如果是这样，您可以手动创建记录，也可以导入区域文件，并稍后创建或更新记录：
  + [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)解释了 Route 53 别名记录的优点，它可以免费将流量路由到某些 AWS 资源，例如 CloudFront 分配和 Amazon S3 存储桶。
  + [选择路由策略](routing-policy.md) 介绍了 Route 53 路由选项，例如，基于用户位置的路由、基于用户和资源之间延迟的路由、基于资源是否正常运行的路由以及基于指定权重传输到相应资源的路由。
**注意**  
您也可以导入区域文件，并在稍后更改配置以利用别名记录和复杂的路由策略。

如果您无法获取区域文件，或者如果您要在 Route 53 中手动创建记录，则您可能要迁移的记录包括：
+ **A（地址）记录** — 将域名或子域名与相应资源 IPv4 的地址（例如 192.0.2.3）相关联
+ **AAAA（地址）记录** — 将域名或子域名与相应资源 IPv6 的地址（例如 2001:0 db 8:85 a 3:0000:00:00:abcd: 0001:2345）相关联
+ **邮件服务器 (MX) 记录** — 将流量路由到邮件服务器
+ **别名记录** — 将一个域名 (example.net) 的流量重新路由到另一个域名 (example.com)
+ **其它支持的 DNS 记录类型的记录** — 有关支持的记录类型的列表，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

## 步骤 2：创建托管区域（非活动域）
<a name="migrate-dns-create-hosted-zone-domain-inactive"></a>

为了告知 Amazon Route 53 您希望如何路由您的域的流量，您创建一个与您的域同名的托管区域，然后在该托管区域中创建记录。

**重要**  
您只能为您有权管理的域创建托管区域。通常，这意味着您拥有该域，但您还可以为域的注册商开发应用程序。

创建托管区域时，Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。该 NS 记录标识通过 Route 53 与您的托管区域关联的四个名称服务器。要使 Route 53 成为您的域的 DNS 服务，您需要更新该域的注册以使用这四个名称服务器。

**重要**  
请不要创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录，并且不要删除现有的 NS 和 SOA 记录。<a name="migrate-dns-create-hosted-zone-procedure"></a>

**创建托管区**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 如果您不熟悉 Route 53，请选择**入门**。

   如果您已经在使用 Route 53，请在导航窗格中选择 **Hosted zones**（托管区域）。

1. 选择 **Create Hosted Zone**（创建托管区域）。

1. 在 **Create hosted zone**（创建托管区域）窗格中，输入域名，还可以选择输入注释。要了解有关某项设置的更多信息，请将鼠标指针暂停在其标签上方以查看其工具提示。

   有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

1. 对于 **Record Type**（记录类型），接受 **Public hosted zone**（公有托管区域）的默认值。

1. 选择 **Create Hosted Zone**（创建托管区域）。

## 步骤 3：创建记录（非活动域）
<a name="migrate-dns-create-records-domain-inactive"></a>

创建一个托管区域后，您可在该托管区域中创建记录，这些记录定义您要将域 (example.com) 或子域 (www.example.com) 的流量路由到的位置。例如，如果您希望将 example.com 和 www.example.com 的流量路由到 Amazon EC2 实例上的 Web 服务器，则可创建两条记录，一条记录名为 example.com，另一条记录名为 www.example.com。在每条记录中，指定您的 EC2 实例的 IP 地址。

您可通过多种方式创建记录：

**导入区域文件**  
如果您已在 [步骤 1：从当前 DNS 服务提供商（非活动域）获取当前 DNS 配置](#migrate-dns-get-zone-file-domain-inactive) 中从当前 DNS 服务获取区域文件，这将是最轻松的方式。Amazon Route 53 无法预测何时创建别名记录或使用特殊路由类型 (例如，加权或故障转移)。因此，如果您导入区域文件，Route 53 会使用简单路由策略创建标准 DNS 记录。  
有关更多信息，请参阅 [通过导入区域文件来创建记录](resource-record-sets-creating-import.md)。

**在控制台中单独创建记录**  
如果您没有获取区域文件，并且您只想创建几条具有 Simple 路由策略的记录来开始操作，则可在 Route 53 控制台中创建记录。您可以同时创建别名记录和非别名记录。  
有关更多信息，请参阅以下主题：  
+ [选择路由策略](routing-policy.md)
+ [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)
+ [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)

**以编程方式创建记录**  
您可以使用 AWS SDKs、或中的一个来创建记录 AWS Tools for Windows PowerShell。 AWS CLI有关更多信息，请参阅 [AWS 文档](https://docs.aws.amazon.com/)。  
如果您使用的编程语言 AWS 不提供软件开发工具包，也可以使用 Route 53 API。有关更多信息，请参阅 [Amazon Route 53 API 参考](https://docs.aws.amazon.com/Route53/latest/APIReference/)。

## 步骤 4：更新域注册以使用 Amazon Route 53 名称服务器（非活动域）
<a name="migrate-dns-update-domain-inactive"></a>

创建完域的记录后，您可以将您的域的 DNS 服务更改为 Amazon Route 53。执行以下过程可更新域注册商的设置。<a name="migrate-dns-update-domain-inactive-procedure"></a>

**更新域的名称服务器**

1. 在 Route 53 控制台中，获取您的 Route 53 托管区域的名称服务器：

   1. 打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

   1. 在 **Hosted zones**（托管区域）页面上，选择托管区域的单选按钮（不是名称），然后选择 **View details**（查看详细信息）。

   1. 在托管区域的详细信息页面上，选择 **Hosted zone details**（托管区域详细信息）。

   1. 记下针对 **Name servers**（名称服务器）列出的四个名称。

1. 使用域注册商提供的方法，将域的名称服务器更改为使用您在此过程的步骤 2 中获取的四个 Route 53 名称服务器。

   如果此域已向 Route 53 注册，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)。

# 为新域配置 DNS 路由
<a name="dns-configuring-new-domain"></a>

**您从 Route 53 购买的新域**  
在 Route 53 中注册域时，我们会自动将 Route 53 设置为该域的 DNS 服务。Route 53 会创建一个与该域同名的托管区，将四个名称服务器分配给托管区，并更新该域以使用这些名称服务器。

**您从其他注册商处购买的新域**  
例如，当您从其他注册商处购买域时，由于 Route 53 不提供顶级域（TLD），因此您有两种选择：
+ **仅使用 Route 53 进行 DNS 托管**：保留您当前的注册商，但将 DNS 管理委托给 Route 53。按照以下步骤创建托管区并更新注册商的名称服务器。
+ 将**域注册转移到 Route 53：**将 Route 53 作为您的注册商和 DNS 服务。请参阅 [域转移的转移前核对清单](domain-transfer-checklist.md) 了解先决条件，参阅 [将域注册转移到 Amazon Route 53](domain-transfer-to-route-53.md) 了解转移过程。

有关 Route 53 支持的 TLD 的更多信息，请参阅 [可向 Amazon Route 53 注册的域。](registrar-tld-list.md)。

按照以下说明创建公共托管区，然后使用注册商创建的名称服务器：<a name="dns-configuring-create-hosted-zone-for-different-registrar"></a>

**为 Route 53 域创建托管区**

1. 登录 AWS 管理控制台，并通过以下网址打开 Route 53 控制台：[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择**托管区**，然后选择**创建托管区**。

1. 在**名称**中，输入要为其创建托管区的域的名称，例如 `example.com`，然后输入可选描述，接下来选择**公共托管区**，然后选择**创建托管区**。

1. 创建托管区后，请注意创建的四个名称服务器（NS）记录。每个记录都将以“ns-”开头。

   在您的域注册商处，从上方输入名称服务器，将域管理委托给您的 Route 53 托管区。

**路由 DNS 流量**  
要指定希望 Route 53 如何路由该域的互联网流量，可在该托管区域中创建记录。例如，如果您希望将对 example.com 的请求路由到 Amazon EC2 实例上运行的某个 Web 服务器，可以在 example.com 托管区中创建一条记录并指定该 EC2 实例的弹性 IP 地址。有关更多信息，请参阅以下主题：
+ 有关如何在托管区中创建记录的信息，请参阅 [使用记录](rrsets-working-with.md)。
+ 有关如何将流量路由到所选 AWS 资源的信息，请参阅 [将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。
+ 有关 DNS 如何工作的信息，请参阅[如何将 Internet 流量路由到您的网站或 Web 应用程序](welcome-dns-service.md)。
+ 要检查 DNS 响应，请参阅 [检查来自 Route 53 的 DNS 响应](dns-test.md)。

# 将流量路由到您的资源
<a name="dns-routing-traffic-to-resources"></a>

当用户请求您的网站或 Web 应用程序（例如，通过在 Web 浏览器中输入您的域名）时，Amazon Route 53 可帮助将用户路由到您的资源，如 Amazon S3 存储桶或数据中心的 Web 服务器。要配置 Route 53 将流量路由到您的资源，请执行以下操作：

1. 创建一个托管区域。您可以创建公有或私有托管区域：  
**公有托管区域**  
如果您要将 Internet 流量路由到您的资源，以便您的客户可以查看您在 EC2 实例上托管的公司网站，则创建公有托管区域。有关更多信息，请参阅 [使用公有托管区](AboutHZWorkingWith.md)。  
**私有托管区域**  
如果您要在 Amazon VPC 内路由流量，则创建私有托管区域。有关更多信息，请参阅 [使用私有托管区](hosted-zones-private.md)。

1. 在托管区域中创建记录。记录定义您希望针对每个域名或子域名将流量路由到何处。例如，要将 www.example.com 的流量路由到数据中心的 Web 服务器，您通常会在 example.com 托管区域中创建 www.example.com 记录。

   有关更多信息，请参阅以下主题：
   + [使用记录](rrsets-working-with.md)
   + [路由子域的流量](dns-routing-traffic-for-subdomains.md)
   + [将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)

# 路由子域的流量
<a name="dns-routing-traffic-for-subdomains"></a>

当您希望将子域（如 acme.example.com 或 zenith.example.com）的流量路由至您的资源时，您有两个选项：

**在域的托管区域中创建记录**  
通常情况下，要路由子域的流量，应在托管区域中创建一条与域同名的记录。例如，要将 acme.example.com 的 Internet 流量路由到数据中心的 Web 服务器，应在 example.com 托管区域中创建一条名为 acme.example.com 的记录。有关更多信息，请参阅主题[使用记录](rrsets-working-with.md)及其子主题。

**为子域创建一个托管区域，并在新的托管区域中创建记录**  
您还可以为子域创建托管区域。使用单独的托管区域将 Internet 流量路由至子域的做法，有时称为“将子域的责任委托给托管区域”或“将子域委托给其他名称服务器”或类似用语的组合。下面概览了使用方式：  

1. 您可以创建一个托管区域，其名称与要路由流量的子域相同，例如 acme.example.com。

1. 在新的托管区域中创建记录，以定义您要如何路由子域 (acme.example.com) 及其子域（如 backend.acme.example.com）的流量。

1. 您可以获取在创建新托管区域时 Route 53 分配给新托管区域的名称服务器。

1. 您在托管区域中为该域创建了一条新的 NS 记录 (example.com)。NS 记录名称必须是子域名 (acme.example.com)，并且您可以指定在步骤 3 中获得的四个域名服务器作为记录值。
使用单独的托管区域为子域路由流量时，您可以使用 IAM 权限来限制对子域的托管区域的访问权限。如果您有多个由不同组管理的子域，则为每个子域创建托管区域，可以显著减少必须对域的托管区域中的记录具有访问权限的人数。  
要实施此委派流程，您需要以下 IAM 权限。有关 Route 53 IAM 策略的更多信息，请参阅[Amazon Route 53 中的 Identity and Access Management](security-iam.md)：    
**家长账户（拥有 example.com）**  
用户或角色需要权限才能修改父域托管区域中的记录：  
**儿童账户（创建 acme.example.com）**  
用户或角色需要权限才能创建和管理子域托管区域：
为子域使用单独的托管区域还允许您为域和子域使用不同的 DNS 服务。有关更多信息，请参阅 [使用 Amazon Route 53 作为子域的 DNS 服务，但不迁移父域](creating-migrating.md)。  
对于每个 DNS 解析程序中第一个 DNS 查询，这种配置对性能会有小的影响。解析程序必须先从根域的托管区域获取信息，然后从子域的托管区域获取信息。在子域的第一个 DNS 查询后，解析程序会缓存信息，且不需要再次获取此信息，直到 TTL 到期和其他客户端从该解析程序请求该子域为止。有关更多信息，请参阅[在您创建或编辑 Amazon Route 53 记录时指定的值](resource-record-sets-values.md)部分中的 [TTL（秒）](resource-record-sets-values-basic.md#rrsets-values-basic-ttl)。

**Topics**
+ [创建另一个托管区域来路由子域的流量](#dns-routing-traffic-for-subdomains-new-hosted-zone)
+ [为其他级别的子域路由流量](#dns-routing-traffic-for-sub-subdomains)

## 创建另一个托管区域来路由子域的流量
<a name="dns-routing-traffic-for-subdomains-new-hosted-zone"></a>

一种路由子域流量的方法是为子域创建一个托管区域，然后在新的托管区域中为子域创建记录。(更常用的选项是在域的托管区域中为子域创建记录。)

**注意**  
此过程说明如何将子域委托给 Route 53。您也可以将子域委托给其他 DNS 服务，方法是创建指向这些服务的域名服务器的 NS 记录。

过程概览：

1. 为子域创建托管区域。有关更多信息，请参阅 [为子域创建新的托管区域](#dns-routing-traffic-for-subdomains-creating-hosted-zone)。

1. 将记录添加到子域的托管区域。如果域的托管区域包含属于子域的托管区域中的任何记录，则在托管区域中为子域复制这些记录。有关更多信息，请参阅 [在子域的托管区域中创建记录](#dns-routing-traffic-for-subdomains-creating-records) 

1. 在域的托管区域中为子域创建 NS 记录，这会将子域的责任委托给新托管区域中的名称服务器。如果域的托管区域包含属于子域的托管区域中的任何记录，则从域的托管区域中删除记录。（第 2 步中您在托管区域中为子域创建的副本。） 有关更多信息，请参阅 [更新域的托管区域](#dns-routing-traffic-for-subdomains-delegating-responsibility)。

### 为子域创建新的托管区域
<a name="dns-routing-traffic-for-subdomains-creating-hosted-zone"></a>

要使用 Route 53 控制台为子域创建托管区域，请执行以下步骤。

**为子域创建托管区域 (控制台)**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 如果您不熟悉 Route 53，请选择**入门**。

   如果您已经在使用 Route 53，请在导航窗格中选择 **Hosted zones**（托管区域）。

1. 选择 **Create Hosted Zone**（创建托管区域）。

1. 在右侧窗格中，输入子域的名称，如 acme.example.com。您也可以根据需要输入注释。

   有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

1. 对于 **Type**（类型），接受 **Public hosted zone**（公有托管区域）的默认值。

1. 在右窗格的底部，选择 **Create hosted zone**（创建托管区域）。

### 在子域的托管区域中创建记录
<a name="dns-routing-traffic-for-subdomains-creating-records"></a>

要定义您希望 Route 53 如何路由子域 (acme.example.com) 及其子域（如 backend.acme.example.com）的流量，请在子域的托管区域中创建记录。

对于在托管区域中为子域创建记录，请注意以下事项：
+ 请勿在子域的托管区域中创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录，且请勿删除现有的 NS 和 SOA 记录。
+ 在子域的托管区域中创建子域的所有记录。例如，如果您有 example.com 和 acme.example.com 域的托管区域，请在 acme.example.com 托管区域中创建 acme.example.com 子域的所有记录。这包括 backend.acme.example.com 和 beta.backend.acme.example.com 等记录。
+ 如果域 (example.com) 的托管区域已包含属于子域 (acme.example.com) 的托管区域中的任何记录，则在托管区域中为子域复制这些记录。在流程的最后一步中，您稍后删除域的托管区域中的重复记录。
**重要**  
如果您有一些子域的记录同时处于域的托管区域以及子域的托管区域中，则 DNS 行为将不一致。其行为将取决于 DNS 解析程序缓存了哪些名称服务器、域托管区域 (example.com) 的名称服务器或子域托管区域 (acme.example.com) 的名称服务器。在某些情况下，当记录存在但不在 DNS 解析程序将查询提交到的托管区域中时，Route 53 会返回 NXDOMAIN（不存在的域）。

有关更多信息，请参阅 [使用记录](rrsets-working-with.md)。

### 更新域的托管区域
<a name="dns-routing-traffic-for-subdomains-delegating-responsibility"></a>

当您创建托管区域时，Route 53 会自动为该区域分配四个名称服务器。托管区域的 NS 记录标识响应域或子域的 DNS 查询的名称服务器。要开始使用子域的托管区域中的记录路由 Internet 流量，您应在域 (example.com) 的托管区域中创建新的 NS 记录，用子域 (acme.example.com) 名称为其命名。对于 NS 记录的值，您应从子域的托管区域指定名称服务器的名称。

下面介绍当 Route 53 从子域 acme.example.com 或其子域之一的 DNS 解析程序中收到 DNS 查询时将发生的情况。

1. Route 53 在域 (example.com) 的托管区域中进行查找，并找到子域 (acme.example.com) 的 NS 记录。

1. Route 53 从域 (example.com) 的托管区域中的 acme.example.com NS 记录获取名称服务器，并将这些名称服务器返回到 DNS 解析程序。

1. 解析程序向 acme.example.com 托管区域的名称服务器重新提交针对 acme.example.com 的查询。

1. Route 53 使用 acme.example.com 托管区域中的记录响应此查询。

要配置 Route 53 使用子域的托管区域路由子域的流量并从域的托管区域中删除所有重复记录，请执行以下过程：

**配置 Route 53 使用子域的托管区域（控制台）**

1. 在 Route 53 控制台中，获取子域的托管区域的名称服务器：

   1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

   1. 在 **Hosted zones**（托管区域）页面上，选择子域的托管区域的名称。

   1. 在右侧窗格中，复制 **Hosted zones details**（托管区域详细信息）部分中 **Name servers**（名称服务器）下所列的四个服务器的名称。

1. 选择域 (example.com，而非子域) 的托管区域的名称。

1. 选择**创建记录**。

1. 选择 **Simple routing**（简单路由），然后选择 **Next**（下一步）。

1. 请选择**定义简单记录**。

1. 指定以下值：  
**Name**  
输入子域的名称（例如，`acme.example.com`）。这必须与您创建的子域托管区域的名称完全匹配。  
**值/流量路由至**  
选择 **IP address or another value depending on the record type**（IP 地址或取决于记录类型的其它值），然后粘贴您在步骤 1 中复制的名称服务器的名称。  
**记录类型**  
选择 **NS – Name servers for a hosted zone**（NS — 用于托管区域的名称服务器）。  
**TTL (秒)**  
更改为更常用的 NS 记录值，如 172800 秒。

1. 选择 **Define simple record**（定义简单记录），然后选择 **Create records**（创建记录）。

1. 如果域的托管区域包含您在子域的托管区域中重新创建的任何记录，则从域的托管区域中删除这些记录。有关更多信息，请参阅 [删除记录](resource-record-sets-deleting.md)。

   完成后，子域的所有记录应在子域的托管区域中。

## 为其他级别的子域路由流量
<a name="dns-routing-traffic-for-sub-subdomains"></a>

您可以将流量路由到子域的子域 (如 backend.acme.example.com)，采用的方式与您将流量路由到子域 (如 acme.example.com) 相同。要么在域的托管区域中创建记录；要么为更低级别的子域创建托管区域，然后在该新的托管区域中创建记录。

如果您选择为低一级子域创建单独的托管区域，请在与域名更近一级的子域的托管区域中为低一级的子域创建 NS 记录。这有助于确保将流量正确路由到您的资源。例如，假设您需要路由以下各子域的流量：
+ subdomain1.example.com
+ subdomain2.subdomain1.example.com

要使用另一个托管区域来路由 subdomain2.subdomain1.example.com 的流量，您需要执行以下操作：

1. 创建名为 subdomain2.subdomain1.example.com 的托管区域。

1. 在 subdomain2.subdomain1.example.com 的托管区域中创建记录。有关更多信息，请参阅 [在子域的托管区域中创建记录](#dns-routing-traffic-for-subdomains-creating-records)。

1. 复制 subdomain2.subdomain1.example.com 托管区域的名称服务器的名称。

1. 在 subdomain1.example.com 托管区域中，创建一个名为 subdomain2.subdomain1.example.com 的 NS 记录，并粘贴 subdomain2.subdomain1.example.com 托管区域的名称服务器的名称。

   此外，删除 subdomain1.example.com 中的任何重复记录。有关更多信息，请参阅 [更新域的托管区域](#dns-routing-traffic-for-subdomains-delegating-responsibility)。

   创建此 NS 记录后，Route 53 开始使用 subdomain2.subdomain1.example.com 托管区域来路由 subdomain2.subdomain1.example.com 子域的流量。

# 使用托管区域
<a name="hosted-zones-working-with"></a>

托管区是一个记录容器，记录中包含的信息说明您希望如何路由特定域（如 example.com）及其子域（acme.example.com、zenith.example.com）的流量。托管区与相应域具有相同的名称。有两种类型的托管区：
+ *公有托管区* 包含指定了如何路由 Internet 流量的记录。有关更多信息，请参阅 [使用公有托管区](AboutHZWorkingWith.md)。
+ *私有托管区* 包含指定了如何在 Amazon VPC 中路由流量的记录。有关更多信息，请参阅 [使用私有托管区](hosted-zones-private.md)。

# 使用公有托管区
<a name="AboutHZWorkingWith"></a>

公有托管区域是一个容器，其中包含的信息说明您希望如何路由特定域（如 example.com）及其子域（acme.example.com 和 zenith.example.com）的 Internet 流量。您可以通过两种方式获取公有托管区域：
+ 在 Route 53 中注册域时，我们会自动为您创建一个托管区域。
+ 在将一个现有域的 DNS 服务转移到 Route 53 时，您会首先为该域创建托管区域。有关更多信息，请参阅 [将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。

在这两种情况下，之后都要在托管区域中创建记录，以指定希望如何路由该域及其子域的流量。例如，您可以创建一条记录，将 www.example.com 的流量路由到 CloudFront 分配或数据中心内的 Web 服务器。有关记录的更多信息，请参阅 [使用记录](rrsets-working-with.md)。

本主题介绍了如何使用 Amazon Route 53 控制台创建、列出和删除公有托管区域。

**注意**  
您还可以使用 Route 53 *私有*托管区域在您通过 Amazon VPC 服务创建的一个或多个 VPCs 内路由流量。有关更多信息，请参阅 [使用私有托管区](hosted-zones-private.md)。

**Topics**
+ [使用公有托管区域的注意事项](hosted-zone-public-considerations.md)
+ [创建公有托管区域](CreatingHostedZone.md)
+ [获取公有托管区域的名称服务器](GetInfoAboutHostedZone.md)
+ [列出公有托管区域](ListInfoOnHostedZone.md)
+ [查看公有托管区域的 DNS 查询指标](hosted-zone-public-viewing-query-metrics.md)
+ [删除公有托管区域](DeleteHostedZone.md)
+ [检查来自 Route 53 的 DNS 响应](dns-test.md)
+ [配置白标签名称服务器](white-label-name-servers.md)
+ [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)
+ [为管理公有 DNS 记录启用加速恢复](accelerated-recovery.md)

# 使用公有托管区域的注意事项
<a name="hosted-zone-public-considerations"></a>

使用公有托管区域时，请注意以下注意事项：

**NS 和 SOA 记录**  
创建托管区域时，Amazon Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。NS 记录会识别您提供给注册商或 DNS 服务的四个名称服务器，以便系统将 DNS 查询路由到 Route 53 名称服务器。有关 NS 和 SOA 记录的更多信息，请参阅 [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)。

**拥有相同名称的多个托管区域**  
您可以创建具有相同名称的多个托管区域，然后为每个托管区域添加不同的记录。Route 53 会为每个托管区域分配四个名称服务器，而且每个托管区域的名称服务器各不相同。在更新注册商的名称服务器记录时，请务必为正确的托管区域 (其中包含您希望 Route 53 在响应域的查询时所使用的记录) 使用 Route 53 名称服务器。对于名称相同的其它托管区域中的记录，Route 53 从不会返回其值。

**可重用的委派集**  
默认情况下，Route 53 会为您创建的每个托管区域分配一组唯一的四个名称服务器（统称为委托集）。如果您要创建大量的托管区域，可以通过编程方式创建可重用的委托集。(可重用的委托集在 Route 53 控制台中不可用。) 然后，可以通过编程方式创建托管区域，并为每个托管区域分配同一个可重用委托集，即相同的四个名称服务器。  
可重用委托集会简化将 DNS 服务迁移到 Route 53 的过程，因为您可以指示域名注册商为所有您希望使用 Route 53 作为其 DNS 服务的域使用相同的四个名称服务器。有关更多信息，请参阅[CreateReusableDelegationSet](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html)《*亚马逊 Route 53 API 参考*》。

# 创建公有托管区域
<a name="CreatingHostedZone"></a>

公有托管区域是一个容器，其中包含的信息说明您希望如何路由特定域（如 example.com）及其子域（acme.example.com 和 zenith.example.com）的 Internet 流量。创建托管区域后，创建记录以指定希望如何路由该域及其子域的流量。

**限制**  
请注意使用 Route 53 创建托管区的以下限制。  
您只能为您有权管理的域创建托管区域。通常，这意味着您拥有该域，但您还可以为域的注册商开发应用程序。
您只能为域和子域创建托管区。Route 53 不支持托管顶级域（TLD），例如 `.com`。

**使用 Route 53 控制台创建公有托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 如果您不熟悉 Route 53，请在 **DNS Management**（DNS 管理）下选择 **Get started**（入门）。

   如果您已经在使用 Route 53，请在导航窗格中选择 **Hosted zones**（托管区域）。

1. 选择 **Create Hosted Zone**（创建托管区域）。

1. 在**创建托管区域**窗格中，输入希望为其路由流量的域的名称。您也可以根据需要输入注释。

   有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

1. 对于 **Type**，接受 **Public Hosted Zone** 的默认值。

1. 选择**创建**。

1. 创建记录，指定您希望如何路由该域及其子域的流量。有关更多信息，请参阅 [使用记录](rrsets-working-with.md)。

1. 要使用新托管区域中的记录路由域的流量，请参阅适用的主题：
   + 如果您要让 Route 53 成为向另一个域注册商注册的域的 DNS 服务，请参阅 [将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。
   + 如果此域已向 Route 53 注册，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)。

# 获取公有托管区域的名称服务器
<a name="GetInfoAboutHostedZone"></a>

如果要更改用于域注册的 DNS 服务，您可以获取公有托管区域的名称服务器。有关如何更改 DNS 服务的信息，请参阅[将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。

**注意**  
某些注册商仅允许使用 IP 地址指定名称服务器；不允许您指定完全限定的域名。如果注册商要求您使用 IP 地址，则您可以使用 dig 实用工具 (适用于 Mac、Unix 或 Linux) 或 nslookup 实用工具 (适用于 Windows) 来获取名称服务器的 IP 地址。我们很少更改名称服务器的 IP 地址；如果需要更改 IP 地址，我们会提前通知您。

**使用 Route 53 控制台获取托管区域的名称服务器**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域）。

1. 在 **Hosted zones**（托管区域）页面上，选择托管区域的单选按钮（不是名称），然后选择 **View details**（查看详细信息）。

1. 在托管区域的详细信息页面上，选择 **Hosted zone details**（托管区域详细信息）。

1. 记下针对 **Name servers**（名称服务器）列出的四个名称。

# 列出公有托管区域
<a name="ListInfoOnHostedZone"></a>

您可以使用 Amazon Route 53 控制台列出您使用当前 AWS 账户创建的所有托管区域。有关如何使用 Route 53 API 列出托管区域的信息，请参阅*亚马逊 Route 53 API 参考[ListHostedZones](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZones.html)*中的。

**使用 Route 53 控制台列出与 AWS 账户关联的公共托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。该页面显示与您当前登录的 AWS 账户关联的托管区域列表。

1.  要筛选托管区域，请使用表顶部的搜索栏。

   搜索行为取决于托管区域是最多包含 2000 个记录，还是包含 2000 个以上记录：

   **最多 2,000 个托管区域**
   + 要显示具有特定值的记录，请单击搜索栏，在下拉列表中选择一个属性，然后输入一个值。您也可以直接在搜索栏中输入一个值，然后按 Enter 键。例如，要显示名称以 **abc** 开头的托管区域，请在搜索栏中输入该值，然后按 Enter 键。
   + 要仅显示具有相同托管区域类型的托管区域，请在下拉列表中选择该类型，然后输入类型。

   **2,000 个以上托管区域**
   + 您可以根据确切的域名、所有属性和类型搜索属性。
   + 使用确切的域名进行搜索，以获得更快的搜索结果。

# 查看公有托管区域的 DNS 查询指标
<a name="hosted-zone-public-viewing-query-metrics"></a>

您可以查看 Route 53 对指定的公有托管区域或公有托管区域组合所响应的 DNS 查询总数。指标显示在中 CloudWatch，允许您查看图表，选择要查看的时间段，并以其他各种方式自定义指标。您还可以创建告警和配置通知，以便在指定时间段内 DNS 查询数量超过或低于指定级别时收到通知。

**注意**  
Route 53 会自动向发送所有公共托管区域的 DNS 查询数量，因此您无需进行任何配置即可查看查询指标。 CloudWatch DNS 查询指标不收费。

**哪些 DNS 查询计算在内？**  
指标仅包括 DNS 解析器转发到 Route 53 的查询。如果 DNS 解析程序已缓存对查询 (如 example.com 的负载均衡器的 IP 地址) 的响应，则解析程序将继续返回缓存的响应而不将查询转发到 Route 53，直到相应记录的 TTL 到期为止。  
根据为域名 (example.com) 或子域名称 (www.example.com) 提交的 DNS 查询的数量、用户正在使用的解析程序以及记录的 TTL，DNS 查询指标可能只包含提交到 DNS 解析程序的数千个查询中的一个查询的信息。有关 DNS 的工作方式的更多信息，请参阅[Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

**托管区域的查询指标何时开始显示在 CloudWatch 中？**  
在您创建托管区域后，托管区域最长可能需要经过几个小时，才会显示在 CloudWatch 中。此外，您必须为托管区域中的记录提交 DNS 查询来显示数据。

**指标仅适用于美国东部（弗吉尼亚北部）**  
要获取控制台指标，您必须将区域指定为美国东部（弗吉尼亚北部）。要使用 AWS CLI 获取指标，您必须不指定该 AWS 区域，或者指定`us-east-1`为区域。如果您选择任何其它区域，则 Route 53 指标将不可用。

**CloudWatch DNS 查询的指标和维度**  
有关 DNS 查询的 CloudWatch 指标和维度的信息，请参阅[使用 Amazon 监控托管区域 CloudWatch](monitoring-hosted-zones-with-cloudwatch.md)。有关 CloudWatch 指标的信息，请参阅[亚马逊* CloudWatch 用户指南中的使用亚马逊 CloudWatch *指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。

**获取有关 DNS 查询的更详细数据**  
要获取有关 Route 53 响应的每个 DNS 查询的更多详细信息，包括以下值，可以配置查询日志记录：  
+ 请求的域名或子域名
+ 请求的日期和时间
+ DNS 记录类型（例如 A 或 AAAA）
+ 响应 DNS 查询的 53 号路边缘站点
+ DNS 响应代码，例如 `NoError` 或 `ServFail`
有关更多信息，请参阅 [公有 DNS 查询日志记录](query-logs.md)。

**如何获取 DNS 查询指标**  
创建托管区域后不久，Amazon Route 53 开始每分钟向发送一次指标和维度 CloudWatch。您可以使用以下过程在 CloudWatch 控制台上查看指标或使用 AWS Command Line Interface (AWS CLI) 查看这些指标。

**Topics**
+ [在 CloudWatch 控制台中查看公共托管区域的 DNS 查询指标](#hosted-zone-public-viewing-query-metrics-console)
+ [使用获取 DNS 查询指标 AWS CLI](#hosted-zone-public-viewing-query-metrics-cli)

## 在 CloudWatch 控制台中查看公共托管区域的 DNS 查询指标
<a name="hosted-zone-public-viewing-query-metrics-console"></a>

要在 CloudWatch 控制台中查看公共托管区域的 DNS 查询指标，请执行以下步骤。<a name="hosted-zone-public-viewing-query-metrics-console-procedure"></a>

**在 CloudWatch 控制台上查看公共托管区域的 DNS 查询指标**

1. 登录 AWS 管理控制台 并打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，选择**指标**。

1. 在控制台右上角的 AWS 区域列表中，选择**美国东部（弗吉尼亚北部）**。如果您选择任何其他 AWS 区域，则 Route 53 指标不可用。

1. 在 **All metrics (所有指标)** 选项卡上，选择 **Route 53**。

1. 选择 **Hosted Zone Metrics (托管区域指标)**。

1. 选中一个或多个具有指标名称的托管区域的复选框**DNSQueries**。

1. 在 **Graphed metrics (图形化指标)** 选项卡上，更改适用的值以查看所需格式的指标。

   对于**统计**数据，选择**求**和或 **SampleCount**；这两个统计数据都显示相同的值。

## 使用获取 DNS 查询指标 AWS CLI
<a name="hosted-zone-public-viewing-query-metrics-cli"></a>

要使用获取 DNS 查询指标 AWS CLI，请使用[get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html)命令。注意以下几点：
+ 您可以在单独的 JSON 文件中为命令指定大多数值。有关更多信息，请参阅 [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html)。
+ 该命令为您在 JSON 文件中为 `Period` 指定的每个间隔返回一个值。`Period` 以秒为单位，因此，如果指定五分钟的时间段并为 `Period` 指定 `60`，则会得到五个值。如果您指定一个五分钟的时间段，并为 `Period` 指定 `300`，则会得到一个值。
+ 在 JSON 文件中，您可以为 `Id` 指定任何值。
+ 要么不指定 AWS 区域，要么指定`us-east-1`为区域。如果您选择任何其它区域，则 Route 53 指标将不可用。有关更多信息，请参阅*AWS Command Line Interface 用户指南*[中的配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

以下是你用来获取 2019 年 5 月 1 日 4:01 到 4:07 之间五分钟时间段的 DNS 查询指标的 AWS CLI 命令。`metric-data-queries` 参数引用命令后面的示例 JSON 文件。

```
aws cloudwatch get-metric-data --metric-data-queries file://./metric.json --start-time 2019-05-01T04:01:00Z --end-time 2019-05-01T04:07:00Z
```

下面是示例 JSON 文件：

```
[
    {
        "Id": "my_dns_queries_id",
        "MetricStat": {
            "Metric": {
                "Namespace": "AWS/Route53",
                "MetricName": "DNSQueries",
                "Dimensions": [
                    {
                        "Name": "HostedZoneId",
                        "Value": "Z1D633PJN98FT9"
                    }
                ]
            },
            "Period": 60,
            "Stat": "Sum"
        },
        "ReturnData": true
    }
]
```

下面是此命令的输出。注意以下几点：
+ 命令中的开始时间和结束时间涵盖了七分钟的时间段，从 `2019-05-01T04:01:00Z` 到 `2019-05-01T04:07:00Z`。
+ 只有 6 个返回值。`2019-05-01T04:05:00Z` 没有值，因为该分钟内没有任何 DNS 查询。
+ JSON 文件中指定的 `Period` 值为 `60`（秒），因此以一分钟为间隔报告值。

```
{
    "MetricDataResults": [
        {
            "Id": "my_dns_queries_id",
            "StatusCode": "Complete",
            "Label": "DNSQueries",
            "Values": [
                101.0,
                115.0,
                103.0,
                127.0,
                111.0,
                120.0
            ],
            "Timestamps": [
                "2019-05-01T04:07:00Z",
                "2019-05-01T04:06:00Z",
                "2019-05-01T04:04:00Z",
                "2019-05-01T04:03:00Z",
                "2019-05-01T04:02:00Z",
                "2019-05-01T04:01:00Z"
            ]
        }
    ]
}
```

# 删除公有托管区域
<a name="DeleteHostedZone"></a>

本节介绍了如何使用 Amazon Route 53 控制台删除公有托管区域。

只有在没有任何记录 (默认 SOA 和 NS 记录除外) 时，您才可以删除托管区域。如果您的托管区域包含其他记录，则必须先将其删除，然后才能删除托管区域。这样可以防止您意外删除仍包含记录的托管区域。

**Topics**
+ [防止流量路由到您的域](#delete-public-hosted-zone-stop-routing)
+ [删除由其他服务创建的公有托管区域](#delete-public-hosted-zone-created-by-another-service)
+ [使用 Route 53 控制台删除公有托管区域](#delete-public-hosted-zone-procedure)

## 防止流量路由到您的域
<a name="delete-public-hosted-zone-stop-routing"></a>

如果您希望保留域注册但又希望停止路由指向您网站或 Web 应用程序的 Internet 流量，我们建议您删除托管区域中的*记录* 而不是删除托管区域。

**重要**  
如果您删除托管区域，则无法取消删除它。您必须创建新的托管区域并更新域注册的名称服务器，这最多需要 48 个小时生效。此外，如果您删除托管区域，其他人可以劫持域并使用您的域名将流量路由到他们自己的资源。  
如果您将子域的责任委托给托管区域，并且要删除子托管区域，则还必须通过删除与子托管区域同名的 NS 记录来更新父托管区域。例如，如果要删除托管区域 acme.example.com，则还必须删除 example.com 托管区域中的 NS 记录 acme.example.com。我们建议您先删除 NS 记录，并等待 NS 记录上的 TTL 持续时间，然后再删除子托管区域。这可确保在 DNS 解析程序仍然缓存子托管区域的名称服务器期间，某人不能劫持子托管区域。

如果您要避免托管区域的每月费用，可以将域的 DNS 服务转移到免费 DNS 服务。在转移 DNS 服务时，您需要更新域注册的名称服务器。如果此域已向 Route 53 注册，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)，了解有关如何将 Route 53 名称服务器替换为新 DNS 服务的名称服务器的信息。如果此域已向其他注册商注册，请使用注册商提供的方法更新此域注册的名称服务器。有关更多信息，请在 Internet 上搜索“免费 DNS 服务”。

## 删除由其他服务创建的公有托管区域
<a name="delete-public-hosted-zone-created-by-another-service"></a>

如果其它服务创建了一个托管区域，您无法使用 Route 53 控制台删除它。相反，您需要使用针对其他服务的合适过程：
+ **AWS Cloud Map**— 要删除在创建公有 DNS 命名空间时 AWS Cloud Map 创建的托管区域，请删除该命名空间。 AWS Cloud Map 自动删除托管区域。有关更多信息，请参阅 *AWS Cloud Map 开发人员指南*中的[删除命名空间](https://docs.aws.amazon.com/cloud-map/latest/dg/deleting-namespaces.html)。
+ **Amazon Elastic Container Service (Amazon ECS) 服务发现** — 要删除 Amazon ECS 在您使用服务发现创建服务时创建的公有托管区域，请删除使用该命名空间的 Amazon ECS 服务，并删除该命名空间。有关更多信息，请参阅 *Amazon Elastic Container Service 开发人员指南*中的[删除服务](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/delete-service.html)。

## 使用 Route 53 控制台删除公有托管区域
<a name="delete-public-hosted-zone-procedure"></a>

要使用 Route 53 控制台删除公有托管区域，请执行以下过程。

**要使用 Route 53 控制台删除公有托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择要删除的托管区域的突出显示的链接。

1. 确认您要删除的托管区域仅包含 NS 和 SOA 记录。如果它包含其它记录，请将其删除。此外，您还需要禁用 DNSSEC 签名：
**注意**  
如果您在未完成以下要求的情况下尝试删除托管区，Route 53 将返回错误：  
如果启用 DNSSEC 签名：指定的托管区包含 DNSSEC 密钥签名密钥，因此无法删除
如果存在其他资源记录集（默认 SOA 和 NS 记录除外）：指定的托管区包含非必需的资源记录集，因此无法删除

   1. 在托管区域详细信息页面的 **Records**（记录）列表中，如果记录列表内任何记录对应的 **Type**（类型）列值不是 NS 或 SOA，请选择此行，然后选择 **Delete**（删除）。

     要选择多个连续的记录，请选择第一行，按住 **Shift** 键，然后选择最后一行。要选择多个不连续的记录，请选择第一行，按住 **Ctrl** 键，然后选择其余各行。
**注意**  
如果您为子域的托管区域创建了任何 NS 记录，请也删除此类记录。

1. 返回到 **Hosted Zones**（托管区域）页面，然后选择您要删除的托管区域所对应的那一行。

1. 选择**删除**。

1. 键入确认密钥，然后选择 **Delete**（删除）。

1. 如果您想要使域在互联网上不可用，我们建议您将 DNS 服务转移到免费的 DNS 服务，然后删除 Route 53 托管区域。这可防止以后的 DNS 查询可能被错误路由。

   如果此域已向 Route 53 注册，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)，了解有关如何将 Route 53 名称服务器替换为新 DNS 服务的名称服务器的信息。如果此域已向其他注册商注册，请使用注册商提供的方法更改此域的名称服务器。
**注意**  
如果您要删除子域 (acme.example.com) 的托管区域，则不需要更改域 (example.com) 的名称服务器。

# 检查来自 Route 53 的 DNS 响应
<a name="dns-test"></a>

如果您为域创建了 Amazon Route 53 托管区域，则可以使用控制台中的 DNS 检查工具，查看在您配置域以将 Route 53 用作 DNS 服务时 Route 53 会如何响应 DNS 查询。对于地理位置、地理位置和延迟记录，您还可以模拟来自特定 DNS 解析器 and/or 客户端 IP 地址的查询，以了解 Route 53 将返回什么响应。

**重要**  
该工具不会向域名系统提交查询，只会根据托管区域中的记录中的设置做出响应。无论托管区当前是否用于路由域的流量，该工具都会返回相同的信息。

DNS 检查工具仅适用于公有托管区域。

**注意**  
DNS 检查工具返回的信息与您期望从 `dig` 命令的答案部分得到的信息类似。因此，如果您查询子域中指向父名称服务器的名称服务器，则不会返回这些名称服务器。

**Topics**
+ [使用检查工具查看 Amazon Route 53 如何响应 DNS 查询](#dns-test-how-route-53-responds)
+ [使用检查工具模拟来自特定 IP 地址的查询（仅限于地理位置和延迟记录）](#dns-test-simulate-requests)

## 使用检查工具查看 Amazon Route 53 如何响应 DNS 查询
<a name="dns-test-how-route-53-responds"></a>

您可以使用此工具查看 Amazon Route 53 为响应记录的 DNS 查询而返回的响应。<a name="dns-test-how-route-53-responds-procedure"></a>

**使用此检查工具查看 Route 53 如何响应 DNS 查询**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择**托管区**。

1. 在 **Hosted Zones** 页面上，选择托管区域的名称。控制台会显示此托管区域的记录列表。

1. 要直接转到 **Check response from Route 53**（查看来自 Route 53 的响应）页面，请选择 **Test record**（测试记录）。

1. 指定以下值：
   + 记录的名称，其中不包括托管区域的名称。例如，要检查 **www.example.com**，请输入 **www**。要检查 **example.com**，请将**记录名称**字段留空。
   + 要检查的记录的类型，例如 **A** 或 **CNAME**（别名记录）。

1. 选择 **Get Response**。

1. **Response returned by Route 53** 部分包括以下值：  
**DNS 响应代码**  
此类代码表示查询是否有效。最常见的响应代码是 **NOERROR**，表示查询有效。如果响应无效，则 Route 53 会返回响应代码，该代码可解释无效的原因。有关可能的响应代码列表，请查看 IANA 网站上的 [DNS RCODES](http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6)。  
**协议**  
Amazon Route 53 使用此类协议 (**UDP** 或 **TCP**) 来响应查询。  
**Route 53 返回的响应**  
Route 53 会将此类值返回给 Web 应用程序。此类值可以是以下任一项：  
   + 对于非别名记录，响应会包含此类值或记录中的值。
   + 对于具有相同名称和类型 (包括加权、延迟、地理位置和故障转移) 的多个记录，响应会根据请求包含相应记录的值。
   + 对于引用其他记录以外的 AWS 资源的别名记录，响应包含 AWS 资源的 IP 地址或域名，具体取决于资源的类型。
   + 对于引用其他记录的别名记录，响应会包含此类值或引用的记录的值。

## 使用检查工具模拟来自特定 IP 地址的查询（仅限于地理位置和延迟记录）
<a name="dns-test-simulate-requests"></a>

如果您创建了延迟或地理位置记录，则可以使用检查工具模拟来自 DNS 解析程序和客户端 IP 地址的查询。<a name="dns-test-simulate-requests-procedure"></a>

**使用检查工具模拟来自指定 IP 地址的查询**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择**托管区**。

1. 在 **Hosted Zones** 页面上，选择托管区域的名称。控制台会显示此托管区域的记录列表。

1. 要直接转到 **Check response from Route 53** 页面，请选择 **Test record set**。

   要转到特定记录的 **Check response from Route 53** (检查来自 Route 53 的响应) 页面，请选中此记录对应的复选框，然后选择 **Test record set** (测试记录集)。

1. 如果您选择**测试记录集**而不先选择记录，请指定以下值：
   + 记录的名称，其中不包括托管区域的名称。例如，要检查 **www.example.com**，请输入 **www**。要检查 **example.com**，请将**记录名称**字段留空。
   + 要检查的记录的类型，例如 **A** 或 **CNAME**（别名记录）。

1. 指定适用的值：  
**解析程序 IP 地址**  
指定 IPv4 或 IPv6 地址以模拟客户端用来发出请求的 DNS 解析器的位置。这对于测试延迟和地理位置记录非常有用。如果省略此值，则该工具将使用 AWS 美国东部（弗吉尼亚北部）区域 (us-east-1) 中 DNS 解析器的 IP 地址。  
**EDNS0 客户机子网 IP**  
如果解析器支持 EDNS0，请输入相应地理位置的 IP 地址的客户端子网 IP，例如 **192.0.2.0** 或 **2001:db 8:85 a3:: 8a2e: 370:** 7334。  
**子网掩码**  
如果为**EDNS0 客户端子网 IP 指定 IP** 地址，则可以选择指定希望检查工具在 DNS 查询中包含的 IP 地址的位数。****例如，如果您为**EDNS0 客户端子网 IP 指定 **192.0.2.44**，为子网掩码**指定 **24**，则检查工具将模拟 192.0.2.0/24 中的查询。****地址的默认值为 24 位， IPv4 地址的默认值为 IPv6 64 位。

1. 选择 **Get Response**。

1. **Response returned by Route 53** 部分包括以下值：  
**发送到 Route 53 的 DNS 查询**  
此类查询采用 [BIND 格式](https://en.wikipedia.org/wiki/Zone_file)，由检查工具将其发送到 Route 53。这种格式与 Web 应用程序在发送查询时所用的格式相同。通常，三个值分别表示记录的名称、**IN** (即 Internet) 和记录的类型。  
**DNS 响应代码**  
此类代码表示查询是否有效。最常见的响应代码是 **NOERROR**，表示查询有效。如果响应无效，则 Route 53 会返回响应代码，该代码可解释无效的原因。有关可能的响应代码列表，请查看 IANA 网站上的 [DNS RCODES](http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6)。  
**协议**  
Amazon Route 53 使用此类协议 (**UDP** 或 **TCP**) 来响应查询。  
**Route 53 返回的响应**  
Route 53 会将此类值返回给 Web 应用程序。此类值可以是以下任一项：  
   + 对于非别名记录，响应会包含此类值或记录中的值。
   + 对于具有相同名称和类型 (包括加权、延迟、地理位置和故障转移) 的多个记录，响应会根据请求包含相应记录的值。
   + 对于引用其他记录以外的 AWS 资源的别名记录，响应包含 AWS 资源的 IP 地址或域名，具体取决于资源的类型。
   + 对于引用其他记录的别名记录，响应会包含此类值或引用的记录的值。

# 配置白标签名称服务器
<a name="white-label-name-servers"></a>

每个 Amazon Route 53 托管区域都与四个名称服务器 (统称为委托集) 关联。默认情况下，名称服务器具有如 ns-2048.awsdns-64.com 的名称。如果您希望名称服务器的域名与托管区域的域名相同（例如 ns1.example.com），则可以配置白标签名称服务器，也称为虚名称服务器或私有名称服务器。

以下步骤说明了如何配置一组四个白标签名称服务器，供您为多个域重用。例如，假设您拥有 example.com、example.org 和 example.net 这三个域。通过以下步骤，您可以为 example.com 配置白标签名称服务器，然后为 example.org 和 example.net 重用此类服务器。

**Topics**
+ [步骤 1：创建 Route 53 可重用委托集](#white-label-name-servers-create-reusable-delegation-set)
+ [步骤 2：创建或重新创建 Amazon Route 53 托管区域并更改 NS 和 SOA 记录的 TTL](#white-label-name-servers-create-hosted-zones)
+ [步骤 3：重新创建托管区域的记录](#white-label-name-servers-create-resource-record-sets)
+ [步骤 4：获取 IP 地址](#white-label-name-servers-get-ip-addresses)
+ [步骤 5：为白标签名称服务器创建记录](#white-label-name-servers-create-white-label-resource-record-sets)
+ [步骤 6：更新 NS 和 SOA 记录](#white-label-name-servers-update-ns-soa-records)
+ [步骤 7：创建粘附记录和更改注册商的名称服务器](#white-label-name-servers-create-glue-records)
+ [步骤 8：监控网站或应用程序的流量](#white-label-name-servers-monitor-traffic)
+ [第 9 步：更改 TTLs 回其原始值](#white-label-name-servers-change-ttls-back)
+ [步骤 10：（可选）联系递归 DNS 服务](#white-label-name-servers-contact-recursive-dns-services)

## 步骤 1：创建 Route 53 可重用委托集
<a name="white-label-name-servers-create-reusable-delegation-set"></a>

白标签名称服务器与 Route 53 可重用的委派集相关联。只有托管区域和可重复使用的委托集是由同一个 AWS 账户创建的，您才能为托管区域使用白标域名服务器。

要创建可重复使用的委托集，您可以使用 Route 53 AP AWS I、CLI 或其中一个 AWS SDKs。有关更多信息，请参阅以下文档：
+ **Route 53 API** — 参见[CreateReusableDelegationSet](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html)*亚马逊 Route 53 API 参考* 
+ **AWS CLI** — 参见[create-reusable-delegation-set](https://docs.aws.amazon.com/cli/latest/reference/route53/create-reusable-delegation-set.html)《*AWS CLI 命令参考*》
+ **AWS SDKs**请参阅文档页面上相应的 SDK [AWS 文档](https://docs.aws.amazon.com/)

## 步骤 2：创建或重新创建 Amazon Route 53 托管区域并更改 NS 和 SOA 记录的 TTL
<a name="white-label-name-servers-create-hosted-zones"></a>

创建或重新创建 Amazon Route 53 托管区域：
+ **如果您当前未将 Route 53 用作您要使用白标签名称服务器的域的 DNS 服务** — 请创建托管区域，并指定您在上一步为每个托管区域创建的可重用委托集。有关更多信息，请参阅[CreateHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)《*亚马逊 Route 53 API 参考*》。
+ **如果您将 Route 53 用作您要使用白标签名称服务器的域的 DNS 服务** — 则必须重新创建您要使用白标签名称服务器的托管区域，并指定您在上一步为每个托管区域创建的可重用委托集。
**重要**  
您无法更改与现有托管区域关联的名称服务器。您只能在创建托管区域时，才可将一个可重用委托集与托管区域相关联。

在您创建托管区域时，并在尝试访问对应域的资源之前，更改每个托管区域的以下 TTL 值：
+ 将托管区域的 NS 记录对应的 TTL 值更改为 60 秒或更低。
+ 将托管区域的 SOA 记录对应的 TTL 下限值更改为 60 秒或更低。这是 SOA 记录中的最后一个值。

如果您不小心向注册商提供了白标签名称服务器的错误 IP 地址，则您的网站将变得无法访问，并且在您更正这个问题之后的 TTL 持续时间内仍然无法访问。通过设置较低的 TTL，您可以缩短网站不可用的持续时间。

有关创建托管区域以及为托管区域的名称服务器指定可重复使用的委托集的更多信息，请参阅 *Amazon Route 53 API 参考[CreateHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)*中的。

## 步骤 3：重新创建托管区域的记录
<a name="white-label-name-servers-create-resource-record-sets"></a>

在您于步骤 2 中创建的托管区域中创建记录：
+ **如果您要将域的 DNS 服务迁移到 Amazon Route 53** – 则可通过导入现有记录的相关信息，创建记录。有关更多信息，请参阅 [通过导入区域文件来创建记录](resource-record-sets-creating-import.md)。
+ **如果您要替换现有托管区域以便使用白标签名称服务器** — 请在新的托管区域中，重新创建当前托管区域中显示的记录。Route 53 不提供从托管区域导出记录的方法，但一些第三方供应商提供。然后，您可以使用 Route 53 导入功能，导入路由策略为“简便”的非别名记录。您无法导出然后重新导入路由策略不为“简便”的别名记录或记录。

  有关使用 Route 53 API 创建记录的信息，请参阅*亚马逊 Route 53 API 参考[CreateHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)*中的。有关使用 Route 53 控制台创建记录的信息，请参阅 [使用记录](rrsets-working-with.md)。

## 步骤 4：获取 IP 地址
<a name="white-label-name-servers-get-ip-addresses"></a>

获取可重复使用的委托集中域名服务器的 IPv4 和 IPv6 地址，然后填写下表。


****  

| 可重用委托集中名称服务器的名称（示例：Ns-2048.awsdns-64.com） | IPv4 和 IPv6 地址                                             | 您要分配给白标签名称服务器的名称（示例：ns1.example.com） | 
| --- | --- | --- | 
|   | IPv4: IPv6:   |   | 
|   | IPv4: IPv6:   |   | 
|   | IPv4: IPv6:   |   | 
|   | IPv4: IPv6:   |   | 

例如，假设可重用委托集的四个名称服务器为：
+ ns-2048.awsdns-64.com
+ ns-2049.awsdns-65.net
+ ns-2050.awsdns-66.org
+ ns-2051.awsdns-67.co.uk

下方显示的是 Linux 和 Windows 命令 (您可通过运行此类命令获取四个名称服务器中第一个服务器的 IP 地址)：

**适用于 Linux 的 dig 命令**

```
% dig A ns-2048.awsdns-64.com +short
192.0.2.117
```

```
% dig AAAA ns-2048.awsdns-64.com +short
2001:db8:85a3::8a2e:370:7334
```

**适用于 Windows 的 nslookup 命令**

```
c:\> nslookup ns-2048.awsdns-64.com
Non-authoritative answer:
Name:    ns-2048.awsdns-64.com
Addresses:  2001:db8:85a3::8a2e:370:7334
          192.0.2.117
```

## 步骤 5：为白标签名称服务器创建记录
<a name="white-label-name-servers-create-white-label-resource-record-sets"></a>

在域名（如 example.com）与白标签名称服务器（如 ns1.example.com）的域名相同的托管区域中，创建八个记录：
+ 每个白标签名称服务器一个 A 记录
+ 每个白标签名称服务器一个 AAAA 记录

**重要**  
如果您为两个或更多托管区域使用相同的白标签名称服务器，请勿针对其他托管区域执行此步操作。

为每个记录指定以下值。请根据您在上一步所填写的表格，指定相应值：

**路由策略**  
指定 **Simple routing**（简单路由）。

**记录名称**  
您要分配给其中一个白标签名称服务器的名称，例如，ns1.example.com。对于前缀 (即本示例中的 ns1)，您可以使用域名中有效的任何值。

**值/流量路由至**  
您的可重复使用的委托集中其中一个 Route 53 域名服务器的 IPv4 或 IPv6 地址。  
如果您在为白标签名称服务器创建记录时指定了错误的 IP 地址，则当您执行后续步骤时，将无法通过 Internet 访问网站或 Web 应用程序。即使您立即更正 IP 地址，您的网站或 Web 应用程序在 TTL 持续时间内也仍然无法访问。

**记录类型**  
在**为IPv4 地址创建记录时指定 A**。  
在创建IPv6 地址记录时指定 **AAAA**。

**TTL (秒)**  
此值表示 DNS 解析程序在将其它 DNS 查询转发给 Route 53 之前缓存此记录中信息所用的时间量。我们建议您指定 60 秒或更短的初始值，这样，当您不小心在此类记录中指定了错误值时，可以快速恢复。

## 步骤 6：更新 NS 和 SOA 记录
<a name="white-label-name-servers-update-ns-soa-records"></a>

在您要使用白标签名称服务器的托管区域中更新 SOA 和 NS 记录。每次针对一个托管区域和对应的域执行步骤 6 到步骤 8，然后对另一个托管区域和域重复这些步骤。

**重要**  
先从域名（如 example.com）与白标签名称服务器（如 ns1.example.com）的域名相同的 Amazon Route 53 托管区域开始。

1. 将 Route 53 名称服务器的名称替换为其中一个白标签名称服务器的名称，以更新 SOA 记录

   **示例**

   将 Route 53 名称服务器的名称替换为：

   `ns-2048.awsdns-64.net. hostmaster.example.com. 1 7200 900 1209600 60`

   替换为其中一个白标签名称服务器的名称：

   `ns1.example.com. hostmaster.example.com. 1 7200 900 1209600 60`
**注意**  
您在[步骤 2：创建或重新创建 Amazon Route 53 托管区域并更改 NS 和 SOA 记录的 TTL](#white-label-name-servers-create-hosted-zones)中更改了最后一个值，即存续时间 (TTL)。

   有关使用 Route 53 控制台更新记录的信息，请参阅 [编辑记录](resource-record-sets-editing.md)。

1. 在 NS 记录中，记下域对应的当前名称服务器的名称，以便在必要时恢复为此类名称服务器。

1. 更新 NS 记录。将 Route 53 名称服务器的名称替换为四个白标签名称服务器的名称，例如 `ns1.example.com`、`ns2.example.com`、`ns3.example.com` 和 `ns4.example.com`。

## 步骤 7：创建粘附记录和更改注册商的名称服务器
<a name="white-label-name-servers-create-glue-records"></a>

使用注册商提供的方法来创建粘附记录并更改注册商的名称服务器：

1. 添加粘附记录：
   + **如果您要更新域名与白标签名称服务器的域名相同的域** — 请创建名称和 IP 地址与您在步骤 4 获取的值一致的四个粘附记录。在相应的粘合记录中同时包含白标域名服务器的IPv4 和 IPv6 地址，例如：

     **ns1.example.com** — IP 地址 = 192.0.2.117 和 2001:db8:85a3::8a2e:370:7334

     注册商会对粘附记录使用各种不同的术语。您可能还会看到有些地方将其称为注册新名称服务器或类似内容。
   + **如果您要更新其他域** – 如果 Route 53 是您的 DNS 服务，则必须先完成上一个项目符号中的步骤，然后创建与域名匹配的粘附记录。然后，跳到本过程的步骤 2。

1. 将域对应的名称服务器更改为白标签名称服务器的名称。

如果您要将 Amazon Route 53 用作 DNS 服务，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)。

## 步骤 8：监控网站或应用程序的流量
<a name="white-label-name-servers-monitor-traffic"></a>

监控您在步骤 7 中创建粘附记录和更改名称服务器的网站或应用程序的流量：
+ **如果流量停止** — 请使用注册商提供的方法，将相应域对应的名称服务器改回之前的 Route 53 名称服务器。这些是您在步骤 6b 中记下的名称服务器。然后，确定出错的位置。
+ **如果流量未受影响** — 请针对您要使用相同白标签名称服务器的其余托管区域，重复执行步骤 6 到步骤 8 操作。

## 第 9 步：更改 TTLs 回其原始值
<a name="white-label-name-servers-change-ttls-back"></a>

对于当前使用白标签名称服务器的所有托管区域，更改以下值：
+ 将托管区域的 NS 记录对应的 TTL 值更改为较典型的 NS 记录值，例如，172800 秒 (即两天)。
+ 将托管区域的 SOA 记录对应的 TTL 下限值更改为较典型的 SOA 记录值，例如，900 秒。这是 SOA 记录中的最后一个值。

## 步骤 10：（可选）联系递归 DNS 服务
<a name="white-label-name-servers-contact-recursive-dns-services"></a>

*可选*如果您使用的是 Amazon Route 53 地理定位路由，请联系支持 edns-client-subnet扩展的递归 DNS 服务 EDNS0，并向他们提供您的白标域名服务器的名称。这样可确保这些 DNS 服务会根据查询的大致来源地理位置，继续将 DNS 查询路由到最佳 Route 53 位置。

# Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录
<a name="SOA-NSrecords"></a>

Amazon Route 53 会自动为您创建的每个公有托管区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。您很少需要更改这些记录。

**Topics**
+ [名称服务器 (NS) 记录](#NSrecords)
+ [授权起始点 (SOA) 记录](#SOArecords)

## 名称服务器 (NS) 记录
<a name="NSrecords"></a>

Amazon Route 53 会自动创建名称与托管区域名称相同的名称服务器 (NS) 记录。它列出的四个名称服务器是托管区域的权威名称服务器。除了极少数情况外，我们建议您不要在此记录中添加、更改或删除名称服务器。

下面的示例展示了 Route 53 名称服务器的名称格式（这些仅为示例；请勿在您更新注册商的名称服务器记录时使用）：
+ *ns-2048.awsdns-64.com*
+ *ns-2049.awsdns-65.net*
+ *ns-2050.awsdns-66.org*
+ *ns-2051.awsdns-67.co.uk*

要获取托管区域的名称服务器列表，请执行以下操作：

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域）。

1. 在 **Hosted zones**（托管区域）页面上，选择托管区域的单选按钮（不是名称），然后选择 **View details**（查看详细信息）。

1. 在托管区域的详细信息页面上，选择 **Hosted zone details**（托管区域详细信息）。

1. 记下针对 **Name servers**（名称服务器）列出的四个名称。

有关将 DNS 服务从另一个 DNS 服务提供商迁移到 Route 53 的信息，请参阅 [将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。

## 授权起始点 (SOA) 记录
<a name="SOArecords"></a>

授权起始点 (SOA) 记录可识别有关域的基本 DNS 信息，例如：

```
1. ns-2048.awsdns-64.net. hostmaster.example.com. 1 7200 900 1209600 86400
```

SOA 记录包含以下元素：
+ 创建了 SOA 记录的 Route 53 名称服务器，例如，`ns-2048.awsdns-64.net`。
+ 管理员的电子邮件地址。将 `@` 符号替换为句点，例如，`hostmaster.example.com`。默认值是不受监控的 amazon.com 电子邮件地址。
+ 一个序列号，您可以选择在更新托管区域中的记录时递增它。Route 53 不会自动递增序列号。（序列号由支持辅助 DNS 的 DNS 服务使用。） 在示例中，此值为 `1`。
+ 辅助 DNS 服务器在查询主 DNS 服务器的 SOA 记录以检查更改之前等待的刷新时间（以秒为单位）。在示例中，此值为 `7200`。
+ 辅助服务器在重试失败区域转移之前等待的重试时间间隔（以秒为单位）。通常，重试时间小于刷新时间。在示例中，此值为 `900`（15 分钟）。
+ 以秒为单位的时间，在此之前，辅助服务器会一直尝试完成区域转移。如果在成功转移区域之前此时间结束，辅助服务器将停止响应查询，因为它认为其数据过于陈旧，不可靠。在示例中，此值为 `1209600`（两周）。
+ 最短存续时间 (TTL)。此值有助于定义递归解析器应缓存来自 Route 53: 的以下响应的时间长度：  
**NXDOMAIN**  
没有任何类型的记录具有在 DNS 查询中指定的名称，例如 example.com。也没有任何记录是在 DNS 查询中指定的名称的子级，例如 zenith.example.com。  
**NODATA**  
至少有一条记录具有在 DNS 查询中指定的名称，但这些记录均不具有在 DNS 查询中指定的类型（例如 A）。

  当 DNS 解析程序缓存 NXDOMAIN 或 NODATA 响应时，这称为*逆向缓存*。

  逆向缓存的持续时间是以下值中的较小值：
  + 此值 — SOA 记录中的最短 TTL。在示例中，此值为 `86400`（一天）。
  + SOA 记录的 TTL 的值。默认值为 900 秒。有关更改此值的信息，请参阅[编辑记录](resource-record-sets-editing.md)。

  当 Route 53 使用 NXDOMAIN 或 NODATA 响应（负面响应）响应 DNS 查询时，将向您收取标准查询的费用。（请参阅 [Amazon Route 53 定价](https://aws.amazon.com/route53/pricing/)中的“查询”）如果您担心负面响应的成本，一种选择是更改 SOA 记录的 TTL、SOA 记录中的最小 TTL（此值），或同时更改两者。请注意，增加这些 TTLs值（适用于整个托管区域的负面响应）可能会产生正面和负面影响：
  + 互联网上的 DNS 解析器会将记录的不存在状态缓存更长时间，从而减少了转发到 Route 53 的查询的数量。这可以减少 DNS 查询的 Route 53 费用。
  + 但是，如果您错误地删除了有效的记录，然后重新创建该记录，DNS 解析器将缓存负面响应（此记录不存在）达更长时间。这会延长您的客户或用户无法访问相应资源的时间，例如 acme.example.com 的 Web 服务器。<a name="get-soa-records-in-route-53-procedure"></a>

**在 Route 53 中查找 SOA 记录**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择要查看其记录的域的链接名称。

1. 在 **Records**（记录）部分，您可以看到列出的所有记录，还可以筛选记录以查找您的 SOA 值。

# 为管理公有 DNS 记录启用加速恢复
<a name="accelerated-recovery"></a>

Route 53 用于管理公有 DNS 记录的加速恢复旨在在美国东部（弗吉尼亚北部）地区出现服务不可用时实现 60 分钟的恢复时间目标 (RTO)。在 Route 53 公共托管区域上启用后，在 AWS 检测到美国东部（弗吉尼亚北部）区域的运营受损后，您将能够在大约 60 分钟内恢复对公共托管区域中的 DNS 记录进行更改。

**重要**  
加速恢复仅适用于公共托管区域。不支持私有托管区域。

**注意**  
在区域服务受损期间，来自 Route 53 数据平面的 DNS 查询解析继续正常工作。有关数据平面与控制平面操作的理解，请参阅 [Route 53 中的弹性](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/disaster-recovery-resiliency.html)。

**Topics**
+ [加速恢复公共 DNS 记录的工作原理](#accelerated-recovery-how-it-works)
+ [故障转移后重新提交 DNS 更改](#accelerated-recovery-resubmit)
+ [故障恢复到美国东部（弗吉尼亚北部）区域](#accelerated-recovery-failback)
+ [其他注意事项](#accelerated-recovery-considerations)
+ [如何为管理公有 DNS 记录启用加速恢复](#accelerated-recovery-enable)

## 加速恢复公共 DNS 记录的工作原理
<a name="accelerated-recovery-how-it-works"></a>

启用加速恢复后，Route 53 将在美国西部（俄勒冈）地区维护您的公共托管区域的副本。如果美国东部（弗吉尼亚北部）地区的服务长时间不可用，Route 53 将在 60 分钟内执行故障转移，自动将支持加速恢复的公共托管区域的控制平面操作重定向到美国西部（俄勒冈）区域。然后，您可以继续通过 CLI、SDK 和 API 以编程方式更改 DNS。请注意，故障转移期间将提供有限的 API 方法。有关更多详细信息，请参阅 “其他注意事项” 部分。区域恢复后，Route 53 将执行故障恢复程序，自动将控制飞机操作定向回美国东部（弗吉尼亚北部）区域。

**注意**  
在美国东部（弗吉尼亚北部）区域受到任何损害之前，您必须先启用加速恢复，以管理公共托管区域上的公有 DNS 记录。这可以通过控制台、CLI、SDK 或 API 来完成（参见下方本页标题为 “*如何为管理公共 DNS 记录启用加速恢复*” 的部分）。故障转移发生后，您无法启用加速恢复来管理公有 DNS 记录。

## 故障转移后重新提交 DNS 更改
<a name="accelerated-recovery-resubmit"></a>

在正常情况下，美国东部（弗吉尼亚北部）地区将接受对启用加速恢复的公共托管区域所做的更改，然后成功复制到美国西部（俄勒冈）区域。但是，当美国东部（弗吉尼亚北部）地区发生服务中断时，美国东部（弗吉尼亚北部）地区可能会接受某些更改，但可能不会复制到美国西部（俄勒冈）区域。这些飞行中的变更被称为 “搁浅变更”。故障转移完成后，Route 53 建议您在恢复 DNS 工作流程之前重新提交搁置的更改。您可以通过使用 API 或使用来实现此目的 AWS CloudFormation，如下所述。

### 使用 API 跟踪和提交 DNS 更改
<a name="accelerated-recovery-api"></a>

如果您使用 Route 53 AP AWS I、CLI 或 AWS SDKs 来管理 DNS 记录，则需要分别使用 [ChangeResourceRecordSets API](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html) 和 [GetChange API](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html) 来提交和跟踪 DNS 更改。

当您使用 ChangeResourceRecordSets API 更改 DNS 时，Route 53 会返回您所做更改的标识符 (ID)（[ChangeInfo](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeInfo.html)有关更改响应对象的详细信息，请参阅）。您可以在随后向 GetChange API 发出的请求中提供此 ID，并观察变更的状态。状态为 INSYNC 的 DNS 更改已复制到美国西部（俄勒冈）区域，并传播到所有 Route 53 DNS 服务器。在故障转移之前或之后，您无需对这些更改采取进一步的操作。但是，在美国东部（弗吉尼亚北部）地区减值期间， GetChange 可能会返回 “待定”，这表明您的更改可能尚未复制到美国西部（俄勒冈）地区。如果是这样的话，当故障转移完成时， GetChange 将返回 NoSuchChange，表示 Route 53 无法复制此 DNS 更改。因此，在故障转移之后，您可以放心地忽略这些搁浅的 DNS 更改，然后将其作为新的 DNS 更改重新提交。当 Route 53 向 Healt AWS h Dashboard 发布消息时，您将知道故障转移过程已完成。

### AWS CloudFormation 用于跟踪和提交更改
<a name="accelerated-recovery-cloudformation"></a>

AWS CloudFormation 使用 GetChange API 自动跟踪 DNS 更改的复制状态，并且只有在 DNS 更改被确认为不同步后才完成更新。如果您使用 CloudFormation 管理 DNS 记录，但美国东部（弗吉尼亚北部）区域不可用，则在不可用期间，您使用的操作 CloudFormation 将无法成功完成。但是，在 Route 53 故障转移过程完成后，您只需重试相同的操作即可重新提交 DNS 更改。 CloudFormation 

## 故障恢复到美国东部（弗吉尼亚北部）区域
<a name="accelerated-recovery-failback"></a>

区域恢复后，Route 53 会将您的公共托管区域的控制飞机运营恢复到美国东部（弗吉尼亚北部）区域。在故障恢复期间，您无需重新提交 DNS 更改，因为在此过程中不会引入任何搁置的更改。

## 其他注意事项
<a name="accelerated-recovery-considerations"></a>

还有一些与加速恢复功能相关的注意事项需要注意：

1. 在故障转移期间，您将无法创建新的托管区域、删除现有托管区域、启用 DNSSEC 签名或禁用 DNSSEC 签名。

1. AWS PrivateLink 故障转移后连接将无法正常工作，但在故障恢复到美国东部（弗吉尼亚北部）地区后连接将再次正常工作。

1. CloudFront 目前不支持@@ [统一费率计划](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/flat-rate-pricing-plan.html)。

1. 无法删除启用了加速恢复的托管区域。在尝试删除托管区域之前，必须禁用加速恢复。

1. 在故障转移期间，启用了加速恢复的公共托管区域将继续支持以下 API 方法。但是，在故障恢复发生之前，所有其他 Route 53 API 方法都无法运行。
   + `ChangeResourceRecordSets`
   + `GetChange`
   + `GetGeoLocation`
   + `GetHostedZone`
   + `GetHostedZoneCount`
   + `GetHostedZoneLimit`
   + `GetReusableDelegationSet`
   + `GetReusableDelegationSetLimit`
   + `ListGeoLocations`
   + `ListHostedZones`
   + `ListHostedZonesByName`
   + `ListResourceRecordSets`
   + `ListReusableDelegationSets`

## 如何为管理公有 DNS 记录启用加速恢复
<a name="accelerated-recovery-enable"></a>

您可以使用 Route 53 控制台、API、CLI 或 SDK 启用加速恢复以管理公有 DNS 记录。启用加速恢复所需的时间将取决于您的公共托管区域的大小和其他因素。您应该计划启用加速恢复的过程最多需要几个小时。您可以在公共托管区域的加速恢复选项卡中或通过 `GetHostedZone` API 查看启用过程的状态。流程最终确定后，将有一段短暂的时间不接受 DNS 更改，最长持续几分钟。完成后，DNS 更改可以照常进行。

**使用 Route 53 控制台启用和禁用加速恢复**

1. 打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择要为其启用加速恢复功能的公共托管区域。

1. 在 “**加速恢复**” 选项卡中，选择 “**启用**”。

1. 选择**保存更改**。

1. 监控托管区域的状态。状态显示在安装过程中**启用加速恢复**，完成后更改为**启用**。

您可以使用上述相同步骤禁用加速恢复，但可以选择**禁用**。

要启用的 CLI 示例

```
aws route53 update-hosted-zone-features --enable-accelerated-recovery --hosted-zone-id Z123456789
```

要禁用的 CLI 示例

```
aws route53 update-hosted-zone-features --no-enable-accelerated-recovery --hosted-zone-id Z123456789
```

# 使用私有托管区
<a name="hosted-zones-private"></a>

*私有托管区域*是一个容器，其中包含有关您希望 Amazon Route 53 如何响应您使用 Amazon VPC 服务创建的一个或多个 VPCs 域中的域及其子域的 DNS 查询的信息。下面是私有托管区域的工作原理：

1. 先创建私有托管区（例如 example.com），并指定要与该托管区关联的 VPC。创建托管区域后，您可以 VPCs 与其关联更多内容。

1. 您在托管区域中创建记录，用于确定 Route 53 如何响应您的 VPC 中的域及子域的 DNS 查询。例如，假设您有一个数据库服务器，该服务器在与私有托管区关联的 VPC 中的 EC2 实例上运行。您创建 A 或 AAAA 记录（如 db.example.com），并指定数据库服务器的 IP 地址。

   有关记录的更多信息，请参阅 [使用记录](rrsets-working-with.md)。有关使用私有托管区域的 Amazon VPC 要求的信息，请参阅 [Amazon VPC 用户指南](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-private-hosted-zones)中的*使用私有托管区域*。

1. 当应用程序提交 db.example.com 的 DNS 查询时，Route 53 会返回相应的 IP 地址。要从私有托管区域获得答案，您还必须在其中一个关联区域中运行 EC2 实例 VPCs （或者拥有来自混合设置的入站终端节点）。如果您尝试从外部 VPCs 或混合设置中查询私有托管区域，则查询将在互联网上以递归方式解析。

1. 应用程序使用从 Route 53 获得的 IP 地址与数据库服务器建立连接。

创建私有托管区时，将使用以下名称服务器：
+ ns-0.awsdns-00.com
+ ns-512.awsdns-00.net
+ ns-1024.awsdns-00.org
+ ns-1536.awsdns-00.co.uk

使用这些名称服务器是因为 DNS 协议要求每个托管区都必须具有 NS 记录集。这些名称服务器属于保留的服务器，Route 53 公有托管区不得使用。在已与托管区域关联的 VPC 中，您只能使用连接到私有托管区域中 VPCs 指定区域的入站终端节点，通过 VPC 解析器查询这些区域。

 虽然域名服务器在互联网上可见，但 VPC Resolver 无法连接到域名服务器地址。此外，如果您通过互联网直接查询名称服务器，不会返回私有托管区信息。相反，VPC 解析器检测到查询位于基于 VPC 与托管区域关联的私有命名空间内，并使用直接的私有连接来访问私有 DNS 服务器。

**注意**  
如果需要，您可以更改私有托管区中的 NS 记录集，私有 DNS 解析仍然有效。我们不建议这种做法，但如果您选择这样做，则应使用公有 DNS 服务器不使用的预留域名。

如果希望路由您的域的互联网流量，可使用 Route 53 *公有*托管区域。有关更多信息，请参阅 [使用公有托管区](AboutHZWorkingWith.md)。

**Topics**
+ [使用私有托管区域的注意事项](hosted-zone-private-considerations.md)
+ [创建私有托管区域](hosted-zone-private-creating.md)
+ [列出私有托管区域](hosted-zone-private-listing.md)
+ [将更多内容 VPCs 与私有托管区域关联](hosted-zone-private-associate-vpcs.md)
+ [将您使用不同 AWS 账户创建的 Amazon VPC 和私有托管区域相关联](hosted-zone-private-associate-vpcs-different-accounts.md)
+ [取消与私 VPCs 有托管区域的关联](hosted-zone-private-disassociate-vpcs.md)
+ [删除私有托管区域](hosted-zone-private-deleting.md)
+ [VPC 权限](hosted-zone-private-vpc-permissions.md)

# 使用私有托管区域的注意事项
<a name="hosted-zone-private-considerations"></a>

使用私有托管区域时请注意以下事项：
+ [Amazon VPC settings](#hosted-zone-private-considerations-vpc-settings)
+ [Route 53 health checks](#hosted-zone-private-considerations-health-checks)
+ [Supported routing policies for records in a private hosted zone](#hosted-zone-private-considerations-routing-policies)
+ [Split-view DNS](#hosted-zone-private-considerations-split-view-dns)
+ [Public and private hosted zones that have overlapping namespaces](#hosted-zone-private-considerations-public-private-overlapping)
+ [Private hosted zones that have overlapping namespaces](#hosted-zone-private-considerations-private-overlapping)
+ [Private hosted zones and Route 53 VPC Resolver rules](#hosted-zone-private-considerations-resolver-rules)
+ [Delegating responsibility for a subdomain](#hosted-zone-private-considerations-delegating-subdomain)
+ [Custom DNS servers](#hosted-zone-private-considerations-custom-dns)
+ [Required IAM permissions](#hosted-zone-private-considerations-required-permissions)

**Amazon VPC 设置**  
要使用私有托管区域，您必须将以下 Amazon VPC 设置设为 `true`：  
+ `enableDnsHostnames`
+ `enableDnsSupport`
有关更多信息，请参阅 *Amazon VPC 用户指南*中的[查看和更新 VPC 的 DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns-updating.html)。

**Route 53 运行状况检查**  
在私有托管区中，只能将 Route 53 运行状况检查与失效转移、多值应答、加权、延迟、地理位置和地理位置临近度记录相关联。有关将运行状况检查与故障转移记录关联的信息，请参阅[在私有托管区域中配置故障转移](dns-failover-private-hosted-zones.md)。

**私有托管区域中的记录支持的路由策略**  
在私有托管区域中创建记录时，可以使用以下路由策略：  
+ [路由简单](routing-policy-simple.md)
+ [故障转移路由](routing-policy-failover.md)
+ [多值应答路由](routing-policy-multivalue.md)
+ [加权路由](routing-policy-weighted.md)
+ [基于延迟的路由](routing-policy-latency.md)
+ [地理位置路由](routing-policy-geo.md)
+ [地理位置临近度路由](routing-policy-geoproximity.md)
不支持使用其他路由策略在私有托管区域中创建记录。

**拆分视图 DNS**  
可以使用 Route 53 来配置分割视图 DNS，又称作水平分割 DNS。在拆分视图 DNS 中，内部使用的域名 (accounting.example.com) 和外部使用的域名（例如，公共网站 (www.example.com)）相同 (example.com)。您可能还希望在内部和外部使用相同的子域名，但是为内部和外部用户提供不同的内容或要求不同的身份验证。  
要配置拆分视图 DNS，请执行以下步骤：  

1. 创建具有相同名称的公共和私有托管区域。（如果您在公共托管区域中使用其他 DNS 服务，则拆分视图 DNS 仍然可以使用。）

1. 将一个或多个 Amazon VPCs 与私有托管区域关联。Route 53 VPC 解析器使用私有托管区域在指定 VPCs区域中路由 DNS 查询。

1. 在每个托管区域中创建记录。公共托管区域中的记录控制互联网流量的路由方式，私有托管区域中的记录控制流量在您的 Amazon 中的路由方式。 VPCs
如果您需要对 VPC 和本地工作负载执行名称解析，则可以使用 Route 53 VPC 解析器。有关更多信息，请参阅 [什么是 Route 53 VPC 解析器？](resolver.md)。

**具有重叠命名空间的公有和私有托管区域**  
如果您的私有和公有托管区域具有重叠的命名空间，例如 example.com 和 accounting.example.com，VPC Resolver 会根据最具体的匹配项来路由流量。当用户登录到与私有托管区域关联的 Amazon VPC 中的 EC2 实例时，以下是 Route 53 VPC 解析器处理 DNS 查询的方式：  

1. VPC 解析器评估私有托管区域的名称是否与请求中的域名匹配，例如 accounting.example.com。以下任一形式均可定义为匹配：
   + 相同匹配
   + 私有托管区域的名称是请求中域名的父级。例如，假设请求中的域名如下：

     **seattle.accounting.example.com**

     以下托管区域匹配，因为它们是 seattle.accounting.example.com 的父级：
     + **accounting.example.com**
     + **example.com**

   如果没有匹配的私有托管区域，VPC Resolver 会将请求转发给公有 DNS 解析器，您的请求将作为常规 DNS 查询进行解析。

1. 如果存在与请求中的域名匹配的私有托管区域名称，则会在该托管区域中搜索与请求中的域名和 DNS 类型匹配的记录，如 accounting.example.com 的 A 记录。
**注意**  
如果有匹配的私有托管区域，但没有与请求中的域名和类型相匹配的记录，则 VPC 解析器不会将请求转发给公有 DNS 解析器。而是将 NXDOMAIN (不存在的域) 返回给客户端。

**具有重叠命名空间的私有托管区域**  
如果您有两个或更多具有重叠命名空间的私有托管区域，例如 example.com 和 accounting.example.com，VPC Resolver 会根据最具体的匹配项来路由流量。  
如果您有一个私有托管区域 (example.com) 和 Route 53 VPC 解析器规则，用于将流量路由到您的网络，则优先使用 VPC 解析器规则。请参阅[Private hosted zones and Route 53 VPC Resolver rules](#hosted-zone-private-considerations-resolver-rules)。
当用户登录到您已与所有私有托管区域关联的 Amazon VPC 中的 EC2 实例时，以下是 VPC 解析器处理 DNS 查询的方式：  

1. VPC 解析器会评估请求中的域名（例如 accounting.example.com）是否与其中一个私有托管区域的名称匹配。

1. 如果没有与请求中的域名完全匹配的托管区域，VPC Resolver 会检查是否存在名称为请求中域名的父域名的托管区域。例如，假设请求中的域名如下：

   `seattle.accounting.example.com`

   以下托管区域匹配，因为它们是 `seattle.accounting.example.com` 的父项：
   + `accounting.example.com`
   + `example.com`

   VPC 解析器`accounting.example.com`之所以选择，是因为它比`example.com`它更具体。

1. VPC Resolver 在`accounting.example.com`托管区域中搜索与请求中的域名和 DNS 类型相匹配的记录，例如 A 记录。`seattle.accounting.example.com`

   如果没有与请求中的域名和类型相匹配的记录，VPC 解析器会将 NXDOMAIN（不存在的域）返回给客户端。

**私有托管区域和 Route 53 VPC 解析器规则**  
如果您有一个私有托管区域 (example.com) 和一个 VPC 解析器规则，用于将流量路由到您的网络，则优先使用 VPC 解析器规则。  
例如，假设您有以下配置：  
+ 您有一个名为 example.com 的私有托管区域，并将其与 VPC 关联。
+ 您创建了一条 Route 53 VPC 解析器规则，该规则将 example.com 的流量转发到您的网络，然后将该规则与同一 VPC 相关联。
在此配置中，VPC 解析器规则优先于私有托管区域。DNS 查询将转发到您的网络，而不是根据私有托管区域中的记录进行解析。

**委派子域的责任**  
您现在可在私有托管区中创建 NS 记录来委托子域的责任。有关更多信息，请参阅 [解析程序委托规则教程](outbound-delegation-tutorial.md)。

**自定义 DNS 服务器**  
如果您已在 VPC 中的 Amazon EC2 实例上配置自定义 DNS 服务器，则必须对这些 DNS 服务器进行配置，将您的私有 DNS 查询路由到 Amazon 为您的 VPC 提供的 DNS 服务器的 IP 地址。此 IP 地址是 VPC 网络范围的基础上“\$12”。例如，如果您的 VPC 的 CIDR 范围为 10.0.0.0/16，则 DNS 服务器的 IP 地址为 10.0.0.2。  
如果您想在 VPCs 和您的网络之间路由 DNS 查询，可以使用 VPC 解析器。有关更多信息，请参阅 [什么是 Route 53 VPC 解析器？](resolver.md)。

**所需的 IAM 权限**  
要创建私有托管区域，您除了需要授予 Route 53 操作权限外，还需要授予 Amazon EC2 操作的 IAM 权限。有关更多信息，请参阅《服务授权参考》中的 [Route 53 的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html)。

# 创建私有托管区域
<a name="hosted-zone-private-creating"></a>

私有托管区域是您托管在一个或多个 Amazon 虚拟私有云 (VPCs) 中的域的记录容器。您为某个域（例如 example.com）创建托管区域，然后创建记录来告诉 Amazon Route 53 您希望如何将流量路由到您的域内和之间。 VPCs

**重要**  
当您创建私有托管区域时，必须将一个 VPC 与该托管区域关联，并且您指定的 VPC 与该托管区域必须是使用相同账户创建的。创建托管区域后，您可以 VPCs 与其关联其他区域 VPCs ，包括您使用其他 AWS 账户创建的托管区域。  
要 VPCs 将您使用一个账户创建的账户与使用其他账户创建的私有托管区域相关联，您必须授权该关联，然后以编程方式建立关联。有关更多信息，请参阅 [将您使用不同 AWS 账户创建的 Amazon VPC 和私有托管区域相关联](hosted-zone-private-associate-vpcs-different-accounts.md)。

有关使用 Route 53 API 创建私有托管区域的信息，请参阅 [Amazon Route 53 API 参考](https://docs.aws.amazon.com/Route53/latest/APIReference/)。

**使用 Route 53 控制台创建私有托管区域**

1. 对于要与 Route 53 托管区域关联的每个 VPC，请将以下 VPC 设置更改为 `true`：
   + `enableDnsHostnames`
   + `enableDnsSupport`

   有关更多信息，请参阅 *Amazon VPC 用户指南*中的[更新 VPC 的 DNS 支持](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 如果您不熟悉 Route 53，请选择**入门**。

   如果您已经在使用 Route 53，请在导航窗格中选择 **Hosted zones**（托管区域）。

1. 选择 **Create Hosted Zone**（创建托管区域）。

1. 在 **Create Private Hosted Zone**（创建私有托管区域）窗格中输入域名，还可以选择输入备注。

   有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

1. 在 **Type**（类型）列表中，选择 **Private hosted zone**（私有托管区域）。

1. 在 **VPC ID** 列表中，选择要与托管区域关联的 VPC。
**注意**  
如果控制台显示以下消息，则表明您尝试关联的托管区域与同一 VPC 中的另一个托管区域的命名空间相同：  
“A conflicting domain is already associated with the given VPC or Delegation Set.”（存在冲突的域已与给定 VPC 或委派集关联。）  
例如，如果托管区域 A 和托管区域 B 具有相同的域名（如 `example.com`），则无法将两个托管区域与同一 VPC 关联。

1. 选择 **Create Hosted Zone**（创建托管区域）。

# 列出私有托管区域
<a name="hosted-zone-private-listing"></a>

您可以使用 Amazon Route 53 控制台列出您使用当前 AWS 账户创建的所有托管区域。有关如何使用 Route 53 API 列出托管区域的信息，请参阅*亚马逊 Route 53 API 参考[ListHostedZones](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZones.html)*中的。

**列出与 AWS 账户关联的托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

   **托管区域**页面会自动显示使用当前 AWS 账户创建的所有托管区域的列表。**Type** 列会指明托管区域是私有还是公有。选择列标题，可将所有私有托管区域和所有公有托管区域分组。

# 将更多内容 VPCs 与私有托管区域关联
<a name="hosted-zone-private-associate-vpcs"></a>

如果您使用同一个 AWS 账户创建了托管区域，则可以使用 Amazon Route 53 控制台 VPCs 与私有托管区域进行更多关联。VPCs 

**重要**  
如果要将 VPCs 使用一个账户创建的私有托管区域与使用其他账户创建的私有托管区域相关联，则必须先授权该关联。此外，您不能使用 AWS 控制台授权关联或将其 VPCs 与托管区域关联。有关更多信息，请参阅 [将您使用不同 AWS 账户创建的 Amazon VPC 和私有托管区域相关联](hosted-zone-private-associate-vpcs-different-accounts.md)。

有关如何使用 Route 53 API VPCs 与私有托管区域进行更多关联的信息，请参阅《*Amazon Route 53 API 参考*》VPCWithHostedZone中的 “[关联](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)”。

**使用 Route 53 控制台将其它 VPCs 与私有托管区域关联**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择要 VPCs 与之关联的私有托管区域的单选按钮。

1. 选择**编辑**。

1. 选择 **Add VPC**（添加 VPC）。

1. 选择区域以及要与托管区域关联的 VPC 的 ID。

1. 要将更多内容 VPCs 与该托管区域关联，请重复步骤 5 和 6。

1. 选择**保存更改**。

# 将您使用不同 AWS 账户创建的 Amazon VPC 和私有托管区域相关联
<a name="hosted-zone-private-associate-vpcs-different-accounts"></a>

如果您想将使用一个账户创建的 VPC 与使用其他 AWS 账户创建的私有托管区域相关联，请执行以下步骤：

**将您使用不同 AWS 账户创建的 Amazon VPC 和私有托管区域关联**

1. 使用创建托管区域的账户，通过以下方法之一授权将 VPC 与私有托管区域关联：
   + **AWS CLI**— 参见[create-vpc-association-authorization](https://docs.aws.amazon.com/cli/latest/reference/route53/create-vpc-association-authorization.html)《*AWS CLI 命令参考*》
   + ** AWS SDK** 或 **AWS Tools for Windows PowerShell**— 参见 “文档” 页面上的相应[AWS文档](https://docs.aws.amazon.com/) 
   + **亚马逊 Route 53 API** — 参见*亚马逊 Route 53 API 参考*中的[创建VPCAssociation授权](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateVPCAssociationAuthorization.html)

   注意以下几点：
   + 如果您想将通过一个账户创建 VPCs 的多个托管区域与使用其他账户创建的托管区域相关联，则必须为每个 VPC 提交一份授权请求。
   + 在授权关联时，您必须指定托管区域 ID，因此私有托管区域必须已存在。
   + 您不能使用 Route 53 控制台来授权将 VPC 与私有托管区域关联，或直接进行关联。

1. 使用创建 VPC 的账户将 VPC 与托管区域关联。与授权关联一样，你可以使用 AWS SDK、适用于 Windows 的工具 PowerShell AWS CLI、或 Route 53 API。如果您使用的是 API，请使用 “[关联 VPCWith HostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)” 操作。

1. *推荐* — 删除将 VPC 与托管区域关联的授权。删除授权不会影响关联，只是禁止您以后将 VPC 与该托管区域重新关联。如果要将 VPC 与托管区域重新关联，您需要重复执行此过程的步骤 1 和 2。
**重要**  
`ListHostedZonesByVPC`返回给定 VPC 的托管区域，`GetHostedZone`API 返回与托管区域 VPCs 关联的区域。这些 APIs 仅考虑由 `AssociateVPCWithHostedZone` API 创建或创建私有托管区域时创建的托管区域与 VPC 的关联。如果您想要托管区域与 VPC 关联的完整列表，也可以致电[ListProfileResourceAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_ListProfileResourceAssociations.html)。
**注意**  
有关可创建的最大授权数，请参阅[实体的配额](DNSLimitations.md#limits-api-entities)。

# 取消与私 VPCs 有托管区域的关联
<a name="hosted-zone-private-disassociate-vpcs"></a>

您可以使用 Amazon Route 53 控制台取消与私 VPCs 有托管区域的关联。这将导致 Route 53 停止使用托管区域中的记录对在 VPC 中发起的 DNS 查询进行路由通信。例如，如果 example.com 托管区域与 VPC 关联，并且您取消了托管区域与该 VPC 的关联，则 Route 53 会停止解析针对 example.com 或 example.com 托管区域中任何其它记录的 DNS 查询。

**注意**  
您无法取消最后一个 VPC 与私有托管区域的关联。如果要取消该 VPC 的关联，必须先将另一个 VPC 与托管区域关联。

**取消与私 VPCs 有托管区域的关联**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择要取消与一个或多个托管区域关联的私有托管区域 VPCs 的单选按钮。

1. 选择**编辑**。

1. 在要与此托管区域解除关联的 VPC 旁边选择 **Remove VPC**（删除 VPC）。

1. 选择**保存更改**。

# 删除私有托管区域
<a name="hosted-zone-private-deleting"></a>

本节介绍了如何使用 Amazon Route 53 控制台删除私有托管区域。

只有在没有任何记录 (默认 SOA 和 NS 记录除外) 时，您才可以删除私有托管区域。如果您的托管区域包含其他记录，则必须先将其删除，然后才能删除托管区域。这样可以防止您意外删除仍包含记录的托管区域。

**Topics**
+ [删除由其他服务创建的私有托管区域](#delete-private-hosted-zone-created-by-another-service)
+ [使用 Route 53 控制台删除私有托管区域](#delete-private-hosted-zone-procedure)

## 删除由其他服务创建的私有托管区域
<a name="delete-private-hosted-zone-created-by-another-service"></a>

如果其它服务创建了一个私有托管区域，您将无法使用 Route 53 控制台删除它。相反，您需要使用针对其他服务的合适过程：
+ **AWS Cloud Map**— 要删除在创建私有 DNS 命名空间时 AWS Cloud Map 创建的托管区域，请删除该命名空间。 AWS Cloud Map 自动删除托管区域。有关更多信息，请参阅 *AWS Cloud Map 开发人员指南*中的[删除命名空间](https://docs.aws.amazon.com/cloud-map/latest/dg/deleting-namespaces.html)。
+ **Amazon Elastic Container Service (Amazon ECS) 服务发现** — 要删除 Amazon ECS 在您使用服务发现创建服务时创建的私有托管区域，请删除使用该命名空间的 Amazon ECS 服务，并删除该命名空间。有关更多信息，请参阅 *Amazon Elastic Container Service 开发人员指南*中的[删除服务](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/delete-service.html)。

## 使用 Route 53 控制台删除私有托管区域
<a name="delete-private-hosted-zone-procedure"></a>

要使用 Route 53 控制台删除私有托管区域，请执行以下过程。

**要使用 Route 53 控制台删除私有托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 确认您要删除的托管区域仅包含 NS 和 SOA 记录。如果它包含其他记录，请将其删除：

   1. 选择要删除的托管区域的名称。

   1. 在 **Record**（记录）页面，如果记录列表内任何记录对应的 **Type**（类型）列值不是 **NS** 或 **SOA**，请选择此行，然后选择 **Delete**（删除）。

      要选择多个连续的记录，请选择第一行，按住 **Shift** 键，然后选择最后一行。要选择多个不连续的记录，请选择第一行，按住 **Ctrl** 键，然后选择其余各行。

1. 在“Hosted Zones”页面上，选择您要删除的托管区域所对应的那一行。

1. 选择**删除**。

1. 键入确认密钥，然后选择 **Delete**（删除）。

# VPC 权限
<a name="hosted-zone-private-vpc-permissions"></a>

[VPC 权限使用身份和访问管理 (IAM) 策略条件，允许您在使用 “关联”、“[取消VPCFromHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DisassociateVPCFromHostedZone.html)[关联](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)”、“[创建VPCAssociation授权” VPCWith HostedZone、[“删除VPCAssociation授](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteVPCAssociationAuthorization.html)权](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateVPCAssociationAuthorization.html)” 和 “VPCListHostedZonesBy” VPCs 时设置精细权限。[CreateHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZonesByVPC.html) APIs

通过 IAM 策略条件`route53:VPCs`，您可以向其他 AWS 用户授予精细的管理权限。这允许您向某个人授予将托管区关联至以下对象、取消其与托管区的关联、为其创建 VPC 关联授权、删除其 VPC 关联授权、创建托管区或列出其托管区的权限：
+ 单个 VPC。
+ 同一区域 VPCs 内的任何一个。
+ 多个 VPCs。

有关 VPC 权限的更多信息，请参阅 [使用 IAM 策略条件进行精细访问控制](specifying-conditions-route53.md)。

要了解如何对 AWS 用户进行身份验证，请参阅[使用身份进行身份验证](security-iam.md#security_iam_authentication)；要了解如何控制对 Route 53 资源的访问权限，请参阅[访问控制](security-iam.md#access-control)。

# 将托管区域迁移到其他 AWS 账户
<a name="hosted-zones-migrating"></a>

将托管区域迁移到其他区域时 AWS 账户，请按照以下建议步骤操作。

这些步骤最适合记录更改频率较低的托管区。对于记录频繁更新的托管区，请考虑以下事项：
+ 迁移期间不要更新任何资源记录。
+ 转移委托后，在旧托管区和新托管区中发布资源记录更改。

**先决条件**  
安装或升级 AWS CLI：

有关下载、安装和配置的信息 AWS CLI，请参阅《[AWS Command Line Interface 用户指南》](https://docs.aws.amazon.com/cli/latest/userguide/)。

**注意**  
配置 CLI，以便您能在同时使用创建了托管区域的账户和要将托管区域迁移到的账户时使用它。有关更多信息，请参阅 *AWS Command Line Interface 用户指南*中的[配置](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 。

如果您已经在使用 AWS CLI，我们建议您升级到最新版本的 CLI，以便 CLI 命令支持最新的 Route 53 功能。

**Topics**
+ [步骤 1：准备迁移](#hosted-zones-migrating-prepare)
+ [步骤 2：创建新的托管区](#hosted-zones-migrating-create-hosted-zone)
+ [步骤 3：（可选）迁移运行状况检查](#hosted-zones-migrating-health-checks)
+ [步骤 4：将记录从旧托管区迁移到新的托管区](#hosted-zones-migrating-old-to-new)
+ [步骤 5：比较新旧托管区域中的记录](#hosted-zones-migrating-compare)
+ [步骤 6：更新域名注册以使用新的托管区域的域名服务器](#hosted-zones-migrating-update-domain)
+ [步骤 7：将 NS 记录的 TTL 更改回更高的值](#hosted-zones-migrating-change-ttl)
+ [步骤 8：重新启用 DNSSEC 签名并建立信任链（如果需要）](#hosted-zones-migrating-enable-dnssec)
+ [步骤 9：（可选）删除旧的托管区域](#hosted-zones-migrating-delete-old-hosted-zone)

## 步骤 1：准备迁移
<a name="hosted-zones-migrating-prepare"></a>

准备步骤可帮助您最大限度地降低与迁移托管区相关的风险。

**1. 监控区域可用性**  
您可以监控区域以了解域名的可用性。这可以帮助您解决可能导致回滚迁移的任何问题。您可以使用 CloudWatch 或查询日志来监控流量最大的域名。有关设置查询日志记录的更多信息，请参阅 [监控 Amazon Route 53](monitoring-overview.md)。

可以通过 Shell 脚本或第三方服务来完成监控。但是，其不应作为确定是否需要回滚的唯一信号，因为由于域不可用，您也可能会从客户处获得反馈。

**2. 降低 TTL 设置值**  
记录的 TTL（生存时间）设置指定您希望 DNS 解析程序缓存记录和使用缓存信息的时间。当 TTL 过期时，解析程序会向域的 DNS 服务提供商发送另一个查询以获取最新信息。

NS 记录的典型 TTL 设置为 172800 秒或两天。NS 记录列出了域名系统 (DNS) 可用来获取有关如何路由域流量的信息的名称服务器。通过为当前 DNS 服务提供商和 Route 53 减小 NS 记录的 TTL，可在您将 DNS 迁移至 Route 53 的过程中发现问题时缩短域的停机时间。如果您不减小 TTL，则您的域可能会在出现问题时最多两天内在 Internet 上不可用。

**降低 TTL**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中选择**托管区**。

1. 选择托管区域的名称。

1. 选择 NS 记录，然后在**记录详细信息**窗格中选择**编辑记录**。

1. 更改 **TTL（秒）**的值。我们建议您指定一个介于 60 秒和 900 秒 (15 分钟) 之间的值。

1. 选择**保存**。

**3. 从父区域中移除 DS 记录（如果您已配置 DNSSEC）**  
如果已为域配置 DNSSEC，请在将域迁移到 Route 53 之前从父区域中删除 Delegation Signer (DS) 记录。

如果父区域通过 Route 53 进行托管，请参阅 [删除域的公有密钥](domain-configure-dnssec.md#domain-configure-dnssec-deleting-keys) 以获取更多信息。如果父区域在另一个注册商处进行托管，请联系他们移除 DS 记录。

Route 53 目前不支持迁移 DNSSEC 设置。因此，您需要通过从父区域中移除 DS 记录来禁用在迁移之前对您的域执行的 DNSSEC 验证。迁移完成后，您可以通过在新托管区上配置 DNSSEC 并将相应 DS 记录添加到父区域来重新启用 DNSSEC 验证。

**4. 确保没有其他依赖迁移托管区的持续操作**  
某些操作将依赖于迁移托管区域中的 DNS 解析，例如， TLS/SSL 证书续订过程可能需要更改 DNS 记录，而提供商会尝试将 DNS 记录解析为验证方法。在迁移之前，应确保没有其他操作发生，以避免托管区迁移造成意外影响。

## 步骤 2：创建新的托管区
<a name="hosted-zones-migrating-create-hosted-zone"></a>

在要将托管区迁移到的目标账户中创建新的托管区。

选择选项卡，查看 AWS CLI 或控制台的说明。
+ [CLI](#migrate-hz-cli)
+ [控制台](#migrate-hz-console)

------
#### [ CLI ]

输入以下命令：

```
aws route53 create-hosted-zone \ 
            --name $hosted_zone_name \ 
            --caller-reference $unique_string
```

有关更多信息，请参阅 [create-hosted-zone](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/create-hosted-zone.html)。

------
#### [ Console ]<a name="hosted-zones-migrating-create-hosted-zone-procedure"></a>

**使用其他账户创建新的托管区域**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   使用要将托管区域迁移到的账户的账户凭证登录。

1. 创建一个托管区域。有关更多信息，请参阅 [创建公有托管区域](CreatingHostedZone.md)。

1. 记下托管区域 ID。在某些情况下，您在此过程的后面需要使用此信息。

1. 从 Route 53 控制台注销。

在新区域中也要降低 NS TTL，类似于准备“步骤 1：降低 TTL 设置值”中的“降低 TTL”设置。

------

## 步骤 3：（可选）迁移运行状况检查
<a name="hosted-zones-migrating-health-checks"></a>

您可以将新账户中的 DNS 记录与要从中迁移的账户中的 Route 53 运行状况检查相关联。要迁移 Route 53 运行状况检查，您需要使用与现有账户相同的配置，在新账户中创建新的运行状况检查。有关更多信息，请参阅 [创建 Amazon Route 53 运行状况检查](dns-failover.md)。

## 步骤 4：将记录从旧托管区迁移到新的托管区
<a name="hosted-zones-migrating-old-to-new"></a>

您可以使用控制台或将记录从迁移 AWS 账户 到另一个 AWS CLI。

------
#### [ Console ]

如果您的区域仅包含几条记录，则可以考虑使用 Route 53 控制台列出旧区域中的记录，记下这些记录，然后在新区域中创建这些记录。如果您已在 [步骤 3：（可选）迁移运行状况检查](#hosted-zones-migrating-health-checks) 中迁移运行状况检查，则在新的托管区中创建记录时，应指定新的运行状况检查 ID。有关更多信息，请参阅以下主题：
+ [列出记录](resource-record-sets-listing.md)
+ [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)
+ [配置 DNS 故障转移](dns-failover-configuring.md)

您还应该降低新区域中的 NS TTL，类似于步骤 1 中的降低 TTL 设置。

------
#### [ CLI ]

如果您的区域包含大量记录，则可以导出要迁移到文件的记录，编辑此文件，然后使用编辑后的文件在新的托管区中创建记录。以下过程使用 AWS CLI 命令，但也有第三方工具可用于此目的。<a name="hosted-zones-migrating-create-file-procedure"></a>

****

1. 运行如下命令：

   ```
   aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id > path-to-output-file
   ```

   注意以下几点：
   + 对于*hosted-zone-id*，请指定包含要迁移的记录的旧托管区域的 ID。
   + 对于 *path-to-output-file*，指定要在其中保存输出的目录路径和文件名。
   + `>` 字符将输出发送到指定文件。
   + 会 AWS CLI 自动处理包含超过 100 条记录的托管区域的分页。有关更多信息，请参阅[《*AWS Command Line Interface 用户指南*》中的使用 AWS 命令行界面的分页选项](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html)。

     如果您使用其他编程方法列出记录（例如其中一个） AWS SDKs，则每页结果最多可以获得 100 条记录。如果托管区域包含 100 条以上的记录，您必须提交多个请求才能列出所有记录。

   创建此输出的副本。在新托管区域中创建记录后，我们建议您在新的托管区域上运行 AWS CLI `list-resource-record-sets`命令并比较两个输出，以确保所有记录均已创建。

1. 编辑要迁移的记录

   编辑导出的文件，然后才能将其与 `change-resource-record-sets` 命令结合使用。您可以使用文本编辑器中的“搜索并替换”功能来进行这些更改。
**注意**  
以下步骤描述使用文本编辑器进行手动编辑。高级用户可以使用 jq、Python 或其他脚本语言等编程工具自动执行这些转换。

   打开您在本过程步骤 1 中创建的包含要迁移记录的文件副本，然后进行以下更改：
   + 将文件顶部的 ResourceRecordSets 元素替换为`Changes`元素。
   + 可选 — 添加 `Comment` 元素。
   + 删除与托管区名称的 NS 和 SOA 记录相关的行。新的托管区域已具有这些记录。
   + 为每条记录添加 `Action` 和 `ResourceRecordSets` 元素，根据需要添加左方括号和右方括号（`{ }`）以使 JSON 代码有效。
**注意**  
您可以使用 JSON 验证程序来验证所有大括号和方括号是否位于正确的位置。要查找在线 JSON 验证器，请在浏览器中搜索“JSON 验证器”。
   + 如果托管区域包含任何引用同一托管区域中的其他记录的别名，请进行以下更改：
     + 将托管区域 ID 更改为新托管区域的 ID。
**重要**  
如果别名记录指向另一个资源（例如负载均衡器），请勿将托管区 ID 更改为域的托管区 ID。如果意外更改了托管区 ID，需将托管区 ID 回滚为资源本身的托管区 ID，而不是域的托管区 ID。资源托管区域 ID 可以在创建资源的 AWS 控制台中找到。
     + 将别名记录移至文件的底部。Route 53 必须先创建别名记录引用的记录，然后才能创建别名记录。
**重要**  
如果一条或多条别名记录引用其他别名记录，则作为别名目标的记录在文件中必须位于引用别名记录之前。例如，如果 `alias.example.com` 为 `alias.alias.example.com` 的别名目标，则 `alias.example.com` 必须在文件中出现在后者之前。
     + 删除将流量路由到流量策略实例的任何别名记录。记下这些记录，以便您稍后能重新创建它们。
   + 如果您已将运行状况检查迁移到中[步骤 3：（可选）迁移运行状况检查](#hosted-zones-migrating-health-checks)，请更改记录以与新创建的运行状况检查关联 IDs。

   以下示例显示了 example.com 托管区域的记录被编辑后的版本。红色的斜体文本是新版本：

   ```
   {
       "Comment": "string",
       "Changes": [
           {
               "Action": "CREATE",
               "ResourceRecordSet":{
                   "ResourceRecords": [
                       {
                           "Value": "192.0.2.4"
                       }, 
                       {
                           "Value": "192.0.2.5"
                       }, 
                       {
                           "Value": "192.0.2.6"
                       }
                   ], 
                   "Type": "A", 
                   "Name": "route53documentation.com.", 
                   "TTL": 300
               }
           },
           {
               "Action": "CREATE",
               "ResourceRecordSet":{
                   "AliasTarget": {
                       "HostedZoneId": "Z3BJ6K6RIION7M",
                       "EvaluateTargetHealth": false,
                       "DNSName": "s3-website-us-west-2.amazonaws.com."
                   },
                   "Type": "A",
                   "Name": "www.route53documentation.com."
               }
           }
       ]
   }
   ```

1. 将大文件拆分成多个小文件

   如果您有大量记录或者您的记录包含大量值 (例如，大量 IP 地址)，您可能需要将文件拆分为多个小文件。最大值为：
   + 每个文件最多可包含 1000 条记录。
   + 所有 `Value` 元素中的值的最大组合长度为 32000 个字节。

1. 在新托管区中创建记录

   输入以下 CLI：

   ```
   aws route53 change-resource-record-sets \
               --hosted-zone-id new-hosted-zone-id \
               --change-batch file://path-to-file-that-contains-records
   ```

   指定以下值：
   + 对于 `new-hosted-zone-id`，指定新托管区的 ID。
   + 对于 `path-to-file-that-contains-records`，请指定您在前面步骤中编辑的目录路径和文件名。

   如果您已删除将流量路由到流量策略实例的任何别名记录，请使用 Route 53 控制台重新创建它们。有关更多信息，请参阅 [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)。

------

## 步骤 5：比较新旧托管区域中的记录
<a name="hosted-zones-migrating-compare"></a>

要确认您已在新托管区中成功创建所有记录，请输入如下 CLI 命令以列出新托管区中的记录，并将输出与旧托管区中的记录列表进行比较。

```
aws route53 list-resource-record-sets \
            --hosted-zone-id new-hosted-zone-id \
            --output json > path-to-output-file
```

指定以下值：
+ 对于 `new-hosted-zone-id`，指定新托管区的 ID。
+ 对于 `path-to-output-file`，指定要在其中保存输出的目录路径和文件名。使用与您在步骤 4 中使用的不同文件名。

  `>` 字符将输出发送到指定文件。

将此输出与来自步骤 4 的输出进行比较。除了 NS 和 SOA 记录的值以及您在步骤 4 中所做的任何更改（例如不同的托管区域 IDs 或域名）之外，两个输出应相同。

如果新托管区中的记录与旧托管区中的记录不匹配，执行下列操作之一：
+ 使用 Route 53 控制台进行少量纠正。有关更多信息，请参阅 [编辑记录](resource-record-sets-editing.md)。
+ 从新托管区中删除 NS 和 SOA 记录之外的所有记录，然后重复步骤 4 中的过程。

## 步骤 6：更新域名注册以使用新的托管区域的域名服务器
<a name="hosted-zones-migrating-update-domain"></a>

完成将记录迁移到新托管区之后，将域注册的名称服务器更改为使用新托管区的名称服务器。有关更多信息，请参阅将 Amazon Route 53 作为现有域的 DNS 服务。

如果您的托管区正在使用中（例如，如果您的用户正在使用该域名浏览网站或访问 Web 应用程序），则应继续监控托管区的流量和可用性，包括网站或应用程序流量、电子邮件等。
+ **如果流量慢或停止** - 请将域注册的名称服务改回旧托管区中的名称服务器。然后，确定出错的位置。
+ **如果流量未受影响** - 继续至下一步。

## 步骤 7：将 NS 记录的 TTL 更改回更高的值
<a name="hosted-zones-migrating-change-ttl"></a>

在新托管区中，将 NS 记录对应的 TTL 更改为更典型的值，例如，172800 秒 (两天)。这减少用户的延迟，因为他们不必像 DNS 解析程序一样通常需要等待为您的域的名称服务器发送查询。<a name="change-ttl-back-procedure"></a>

**更改 TTL**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中选择**托管区**。

1. 选择托管区域的名称。

1. 选择 NS 记录，然后在**记录详细信息**窗格中选择**编辑记录**。

1. 将 **TTL（秒）**的值更改为您希望 DNS 解析程序缓存您的域的名称服务器的名称的秒数。我们建议的值为 172800 秒。

1. 选择**保存**。

## 步骤 8：重新启用 DNSSEC 签名并建立信任链（如果需要）
<a name="hosted-zones-migrating-enable-dnssec"></a>

您可以通过两个步骤重新启用 DNSSEC 签名：

1.  为 Route 53 启用 DNSSEC 签名，并请求 Route 53 根据客户托管密钥在 AWS Key Management Service中创建密钥签名密钥（KSK）。

1. 通过向父区域添加 Delegation Signer（DS）记录，为托管区创建信任链，以便使用受信任的加密签名对 DNS 响应进行身份验证。

有关说明，请参阅[启用 DNSSEC 签名并建立信任链。](dns-configuring-dnssec-enable-signing.md)。

## 步骤 9：（可选）删除旧的托管区域
<a name="hosted-zones-migrating-delete-old-hosted-zone"></a>

如果您确信您不再需要旧托管区域，则可选择将其删除。有关说明，请参阅[删除公有托管区域](DeleteHostedZone.md)。

**重要**  
在将域注册更新为使用新托管区域的名称服务器后的至少 48 小时内，不要删除旧托管区域或该托管区域中的任何记录。如果在 DNS 解析程序停止使用旧托管区域中的记录之前删除该托管区域，则在解析程序开始使用新托管区域之前，您的域在 Internet 上不可用。

# 使用记录
<a name="rrsets-working-with"></a>

为您的域创建托管区域 (例如 example.com) 之后，您需要创建记录以告知域名系统 (DNS) 您希望如何路由该域的流量。

例如，您可以创建记录来使 DNS 执行以下操作：
+ 将 example.com 的 Internet 流量路由到您数据中心中某个主机的 IP 地址。
+ 将该域的电子邮件 (ichiro@example.com) 路由到邮件服务器 (mail.example.com)。
+ 将名为 operations.tokyo.example.com 的子域的流量路由到另一台主机的 IP 地址。

每个记录都包括域或子域的名称、记录类型 (例如，具有 MX 路由电子邮件类型的记录) 以及适用于该记录类型的其他信息 (对于 MX 记录，其他信息可能包括一个或多个邮件服务器的主机名、每个服务器的优先级等)。有关不同记录类型的信息，请参阅[支持的 DNS 记录类型](ResourceRecordTypes.md)。

托管区域中每个记录的名称必须以托管区域的名称结尾。例如，example.com 托管区域可以包含 www.example.com 和 accounting.tokyo.example.com 子域的记录，但不能包含 www.example.ca 子域的记录。

**注意**  
要为复杂的路由配置创建记录，您也可以使用 Traffic Flow 可视化编辑器，并将配置保存为流量策略。然后，您可以将流量策略关联至同一托管区域或多个托管区域中的一个或多个域名 (例如 example.com) 或子域名 (例如 www.example.com)。此外，如果新配置无法正常工作，您还可以回滚更新。有关更多信息，请参阅 [使用 Traffic Flow 来路由 DNS 流量](traffic-flow.md)。

对于您添加到托管区域的记录，Amazon Route 53 不收取费用。有关可在托管区域中创建的最大记录数的信息，请参阅 [配额](DNSLimitations.md)。

**Topics**
+ [选择路由策略](routing-policy.md)
+ [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)
+ [支持的 DNS 记录类型](ResourceRecordTypes.md)
+ [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)
+ [资源记录集权限](resource-record-sets-permissions.md)
+ [在您创建或编辑 Amazon Route 53 记录时指定的值](resource-record-sets-values.md)
+ [通过导入区域文件来创建记录](resource-record-sets-creating-import.md)
+ [编辑记录](resource-record-sets-editing.md)
+ [删除记录](resource-record-sets-deleting.md)
+ [列出记录](resource-record-sets-listing.md)

# 选择路由策略
<a name="routing-policy"></a>

要创建记录，需要先选择一个路由策略，它决定了 Amazon Route 53 响应查询的方式：
+ **简单路由策略** - 对于为您的域执行给定功能的单一资源（例如为 example.com 网站提供内容的 Web 服务器），可以使用该策略。在私有托管区域中，可以使用简单的路由创建记录。
+ **故障转移路由策略** - 如果您想要配置主动-被动故障转移，则可以使用该策略。在私有托管区域中，可以使用失效转移路由创建记录。
+ **地理位置路由策略** - 如果您想要根据用户的位置来路由流量，则可以使用该策略。在私有托管区域中，可以使用地理位置路由创建记录。
+ **地理位置临近度路由策略** - 用于根据资源的位置来路由流量，以及（可选）将流量从一个位置中的资源转移到另一个位置中的资源。在私有托管区中，可以使用地理位置临近度路由创建记录。
+ **延迟路由策略**-当您有多个资源 AWS 区域 并且想要将流量路由到延迟最佳的区域时使用。在私有托管区域中，可以使用延迟路由创建记录。
+ **基于 IP 的路由策略** – 如果您希望根据用户的位置来路由流量，并且获得流量来源的 IP 地址，则可以使用该策略。
+ **多值应答路由策略** - 如果您想要让 Route 53 用随机选择的正常记录（最多八条）响应 DNS 查询，则可以使用该策略。在私有托管区域中，可以使用多值应答路由创建记录。
+ **加权路由策略** - 用于按照您指定的比例将流量路由到多个资源。在私有托管区域中，可以使用加权路由创建记录。

**Topics**
+ [路由简单](routing-policy-simple.md)
+ [故障转移路由](routing-policy-failover.md)
+ [地理位置路由](routing-policy-geo.md)
+ [地理位置临近度路由](routing-policy-geoproximity.md)
+ [基于延迟的路由](routing-policy-latency.md)
+ [基于 IP 的路由](routing-policy-ipbased.md)
+ [多值应答路由](routing-policy-multivalue.md)
+ [加权路由](routing-policy-weighted.md)
+ [亚马逊 Route 53 EDNS0 如何用来估算用户的位置](routing-policy-edns0.md)

# 路由简单
<a name="routing-policy-simple"></a>

简单路由让您可以配置标准 DNS 记录，无需特殊 Route 53 路由，例如加权或延迟。使用简单路由，您通常将流量路由到单个资源，例如，路由到您网站的 Web 服务器。

可以对私有托管区中的记录使用简单路由策略。

如果您在 Route 53 控制台中选择简单路由策略，就无法创建具有相同名称和类型的多个记录，但您可在相同记录中指定多个值，例如多个 IP 地址。（如果您为别名记录选择简单路由策略，则只能在当前托管区域中指定一个 AWS 资源或一条记录。） 如果您在记录中指定多个值，则 Route 53 将所有值以随机顺序返回到递归解析程序，解析程序将值返回到提交 DNS 查询的客户端（例如，Web 浏览器）。然后，客户端选择值并重新提交查询。使用简单路由策略时，您可以指定多个 IP 地址，但这些 IP 地址不会进行运行状况检查。

有关您在使用简单路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [简单记录的特定值](resource-record-sets-values-basic.md)
+ [简单别名记录的特定值](resource-record-sets-values-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

# 故障转移路由
<a name="routing-policy-failover"></a>

故障转移路由允许您将流量路由到某个资源 (如果该资源正常) 或路由到其他资源 (如果第一个资源不正常)。主和辅助记录可以将流量路由到从配置为网站的 Amazon S3 存储桶到复杂记录树的任何目的地。有关更多信息，请参阅 [主动/被动故障转移](dns-failover-types.md#dns-failover-types-active-passive)。

可以对私有托管区中的记录使用失效转移路由策略。

有关您在使用故障转移路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [故障转移记录的特定值](resource-record-sets-values-failover.md)
+ [故障转移别名记录的特定值](resource-record-sets-values-failover-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

# 地理位置路由
<a name="routing-policy-geo"></a>

地理位置路由允许您根据用户的地理位置 (即 DNS 查询的来源位置) 选择提供流量的资源。例如，您可能想要将来自欧洲的所有查询全部路由到位于法兰克福区域的 Elastic Load Balancing 负载均衡器。

使用地理位置路由时，您可以对您的内容进行本地化，以用户使用的语言显示您网站的部分或全部。您还可以使用地理位置路由，以便仅向您拥有分配权限的位置分配内容。另一种可能的用途是以可预测 easy-to-manage的方式在端点之间平衡负载，以便每个用户位置始终如一地路由到同一个端点。

您可以按大陆、按国家/地区或者按美国各州指定地理位置。如果您为重叠的地理区域创建了单独的记录（例如，北美一个记录，加拿大一个记录），则最小的地理区域具有更高的优先级。这允许您将某个大陆的部分查询路由到一个资源，并将该大陆上选定国家/地区的查询路由到另一个资源。(有关每个大陆上的国家/地区的列表，请参阅[位置](resource-record-sets-values-geo.md#rrsets-values-geo-location)。)

地理位置路由的工作原理是将 IP 地址映射到位置。但是，有些 IP 地址无法映射到地理位置，因此即使您创建了覆盖全部七大洲的地理位置记录，Amazon Route 53 仍会收到一些来自其无法识别的位置的 DNS 查询。您可以创建一条默认记录，用以处理来自未映射到任何位置的 IP 地址的查询，以及来自您未创建地理位置记录的位置的查询。如果您不创建默认记录，则对于来自上述位置的查询，Route 53 将返回“无应答”响应。

可以对共有和私有托管区中的记录使用地理位置路由。

有关更多信息，请参阅 [亚马逊 Route 53 EDNS0 如何用来估算用户的位置](routing-policy-edns0.md)。

有关您在使用地理定位路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [地理位置记录的特定值](resource-record-sets-values-geo.md)
+ [地理位置别名记录的特定值](resource-record-sets-values-geo-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

# 私有托管区中的地理位置路由
<a name="routing-policy-geo-phz"></a>

对于私有托管区域，Route 53 会根据查询来源的 VPC 响应 DNS 查询。 AWS 区域 有关列表 AWS 区域，请参阅 *Amazon EC2 用户指南*中的[区域和区域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

如果 DNS 查询源自混合网络的本地部分，则将被视为源自 VPC 所在的 AWS 区域 。

如果包括运行状况检查，您可以为以下项创建默认记录：
+ 未映射到地理位置的 IP 地址。
+ 来自您尚未为其创建地理位置记录的位置的 DNS 查询。

如果 DNS 查询所在区域的地理位置记录运行不正常，则将返回默认记录（如果它运行正常）。

在下图的示例配置中，来自 us- AWS 区域 east-1（弗吉尼亚州）的 DNS 查询将路由到 1.1.1.1 终端节点。

![\[显示私有托管区的地理位置记录的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/geolocation-phz.png)


# 地理位置临近度路由
<a name="routing-policy-geoproximity"></a>

地理位置临近度路由能让 Amazon Route 53 根据您的用户和资源的地理位置将流量路由到您的资源。它将流量路由到位置最近的可用资源。（可选）您也可以通过指定一个值来增加或减少路由到指定资源的流量，该值称为*偏差*。偏差可以增加或减少路由到某个资源的流量所来自的地理区域的大小。

为您的资源创建地理位置临近度规则并为每个规则指定以下值之一：
+ 如果您使用的是 AWS 资源，请指定您在其中创建资源的 AWS 区域 或本地区域组。
+ 如果您使用的是非AWS 资源，请指定资源的纬度和经度。

要使用 L AWS ocal Zones，必须先启用它们。有关更多信息，请参阅《AWS Local Zones 用户指南》中的 [Local Zones 入门](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)。**

要了解 AWS 区域 和 Local Zones 之间的区别，请参阅 *Amazon EC2 用户指南*中的[区域和区域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

（可选）要更改 Route 53 路由到某个资源的流量所来自的地理区域的大小，请为该偏差指定一个适用值：
+ 要扩大 Route 53 从中将流量路由到资源的地理区域的大小，请为该偏差指定一个介于 1 和 99 之间的正整数。Route 53 将缩小相邻区域的大小。
+ 要缩小 Route 53 从中将流量路由到资源的地理区域的大小，请指定一个介于 -1 和 -99 之间的负偏差。Route 53 将扩大相邻区域的大小。

**注意**  
我们正在更新 Route 53 的 Traffic Flow 控制台。在过渡期间，您可以继续使用旧控制台。

选择您正在使用的控制台的选项卡。
+ [新控制台](#traffic-flow-geoprox-routing-map-new)
+ [旧控制台](#traffic-flow-geoprox-routing-map-old)

------
#### [ New console ]

下图显示了四张 AWS 区域 （编号为 1 到 5）：

1. 美国西部（俄勒冈州）

1. 欧洲地区（法兰克福）

1. 亚太地区（东京）

1. 非洲（开普敦）

1. 中东（巴林）

**注意**  
这些地图仅适用于 Traffic Flow。

![\[此世界地图显示当您拥有美国西部（俄勒冈州）、欧洲（法兰克福）、亚太地区（东京）、非洲（开普敦）和中东（巴林）等 AWS 区域 中资源的地理位置临近度时如何路由流量。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-no-bias-new.png)


以下地图显示如果您为美国西部（俄勒冈州）区域（地图上的编号为 **1**）添加了偏差值 \$125 时，将发生的情况。相比从前，来自更大面积的北美区域以及所有南美区域的流量将路由到该区域中的资源。

![\[此世界地图显示当您在美国东部（弗吉尼亚北部）区域中添加了偏差值 +25 时，如何路由流量。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-bias-plus25-new.png)


以下地图显示如果您将美国西部（俄勒冈州）区域的偏差值改为 -25 时，将发生的情况。**流量从北美和南美的较小部分路由到该区域的资源，路由到邻近区域 **2**、**3** 和 4 的资源的流量也更多。**

![\[此世界地图显示当您在美国西部（俄勒冈州）区域中添加了偏差值 -25 时，如何路由流量。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-bias-minus25-new.png)


------
#### [ Old console ]

下图显示了四个 AWS 区域 （编号为 1 到 4）以及南非约翰内斯堡的一个由纬度和经度 (5) 指定的位置。

**注意**  
这些地图仅适用于 Traffic Flow。

![\[一张世界地图，显示当你有美国西部（俄勒冈）、美国东部（弗吉尼亚北部）、欧洲（巴黎）和亚太地区（东京）的资源的地理位置记录，并且你有南非约翰内斯堡的非AWS 资源记录时，交通是如何路由的。 AWS 区域\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-map-example-no-bias.png)


以下地图显示如果您为美国东部（弗吉尼亚州北部）区域（地图上的编号为 **2**）添加了偏差值 \$125 时，将发生的情况。相比从前，来自更大面积的北美区域以及所有南美区域的流量将路由到该区域中的资源。

![\[此世界地图显示当您在美国东部（弗吉尼亚北部）区域中添加了偏差值 +25 时，如何路由流量。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-map-example-bias-plus-25.png)


以下地图显示如果您将美国东部（弗吉尼亚州北部）区域的偏差值改为 -25 时，将发生的情况。相比从前，来自较小面积的北美和南美区域的流量路由到该区域中的资源，更多流量路由到临近区域 **1**、**3** 和 **5** 中的资源。

![\[此世界地图显示当您在美国东部（弗吉尼亚州北部）区域中添加了偏差值 -25 时，如何路由流量。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/traffic-flow-geoproximity-map-example-bias-minus-25.png)


------

更改资源的偏移会造成的影响取决于多种因素，包括：
+ 您具有的资源的数量。
+ 资源彼此之间的距离。
+ 您在地理区域之间的边界区域附近拥有的用户数。例如，假设您在 AWS 区域 美国东部（弗吉尼亚北部）和美国西部（俄勒冈）拥有资源，并且在美国德克萨斯州的达拉斯、奥斯汀和圣安东尼奥市有大量用户。这些城市之间的资源距离大致相等，因此偏见的微小变化可能会导致流量从一个资源 AWS 区域 向另一个资源的大幅波动。

我们建议您以较小的增量来更改偏差，以防止由于流量的意外摆动而导致您的资源被耗尽。

有关更多信息，请参阅 [亚马逊 Route 53 EDNS0 如何用来估算用户的位置](routing-policy-edns0.md)。

## Amazon Route 53 如何使用偏差来路由流量
<a name="routing-policy-geoproximity-bias"></a>

以下是 Amazon Route 53 用于确定如何路由流量的公式：

**偏差**  
`Biased distance = actual distance * [1 - (bias/100)]`

当偏差值为正值时，Route 53 会将 DNS 查询的源和您在地理位置邻近记录中指定的资源（例如中的 EC2 实例 AWS 区域）视为它们比实际距离更近。例如，假设您具有以下地理位置临近度记录：
+ Web 服务器 A 的记录，它具有正偏差 50
+ Web 服务器 B 的记录，它没有偏差

当某个地理位置临近度记录具有正偏差 50 时，Route 53 会将查询的源与该记录的资源之间的距离减半。之后，Route 53 将计算哪一资源更接近查询的源。假设 Web 服务器 A 与查询的源相距 150 千米，而 Web 服务器 B 与查询的源相距 100 千米。如果这两个记录都没有偏差，Route 53 会将查询路由到 Web 服务器 B，因为它更近。但是，由于 Web 服务器 A 的记录具有正偏差 50，Route 53 将认为 Web 服务器 A 与查询的源相距 75 千米。因此，Route 53 会将查询路由到 Web 服务器 A。

下面是针对正偏差 50 的计算：

```
Bias = 50
Biased distance = actual distance * [1 - (bias/100)]

Biased distance = 150 kilometers * [1 - (50/100)]
Biased distance = 150 kilometers * (1 - .50)
Biased distance = 150 kilometers * (.50)
Biased distance = 75 kilometers
```

# 基于延迟的路由
<a name="routing-policy-latency"></a>

如果您的应用程序以多个方式托管 AWS 区域，则可以从提供最低延迟的用户请求中提供服务 AWS 区域 ，从而提高用户的性能。

**注意**  
有关用户与您的资源之间延迟的数据完全基于用户与 AWS 数据中心之间的流量。如果您未在中使用资源 AWS 区域，则您的用户和资源之间的实际延迟可能与 AWS 延迟数据有很大差异。即使您的资源与 AWS 区域位于同一城市，也是如此。

要使用基于延迟的路由，您可以为多个 AWS 区域中的资源创建延迟记录。当 Route 53 收到您的域或子域（example.com 或 apex.example.com）的 DNS 查询时，它确定您为哪些 AWS 区域 创建了延迟记录、哪个区域能够为用户提供最低的延迟，然后选择该区域的延迟记录。Route 53 使用所选记录的值（例如 Web 服务器的 IP 地址）进行响应。

例如，假设您在美国西部（俄勒冈州）区域和亚太地区（新加坡）区域都有 Elastic Load Balancing 负载均衡器。您为每个负载均衡器创建了延迟记录。当位于伦敦的用户在浏览器中输入您的域名时，将出现以下情况：

1. DNS 将查询路由到 Route 53 名称服务器。

1. Route 53 查询其有关伦敦与新加坡区域以及伦敦与俄勒冈州区域之间延迟的数据。

1. 如果伦敦与俄勒冈州区域之间的延迟较低，则 Route 53 使用位于俄勒冈州的负载均衡器的 IP 地址响应查询。如果伦敦与新加坡区域之间的延迟较低，则 Route 53 使用位于新加坡的负载均衡器的 IP 地址响应查询。

由于网络连接和路由的变化，Internet 上主机之间的延迟不会一成不变。基于延迟的路由所依据的是在一段时间内执行的延迟测量，这些测量会反映上述变化。这周路由到俄勒冈区域的请求下周可能会被路由到新加坡区域。

**注意**  
当浏览器或其他查看器使用支持 edns-client-subnet扩展的 DNS 解析器时，DNS 解析器会向 Route 53 发送用户 IP 地址的截断版本。 EDNS0如果您配置了基于延迟的路由，Route 53 在将流量路由到您的资源时会考虑该值。有关更多信息，请参阅 [亚马逊 Route 53 EDNS0 如何用来估算用户的位置](routing-policy-edns0.md)。

可以对私有托管区中的记录使用延迟路由策略。

有关您在使用延迟路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [延迟记录的特定值](resource-record-sets-values-latency.md)
+ [延迟别名记录的特定值](resource-record-sets-values-latency-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

# 私有托管区中基于延迟的路由
<a name="routing-policy-latency-phz"></a>

对于私有托管区域，Route 53 使用与查询来源的 VPC 相同 AWS 区域或距离最近的终端节点来回答 DNS 查询。 AWS 区域 

**注意**  
如果您将出站端点转发到入站端点，则记录将根据入站端点的位置而不是出站端点的位置进行解析。

如果包括运行状况检查，并且查询源延迟时间最短的记录运行状况不佳，则会返回延迟次低的运行状况良好的端点。

在下图的示例配置中，来自 us- AWS 区域 east-1 或最接近它的 DNS 查询将路由到 1.1.1.1 终端节点。来自 us-west-2 或最接近它的 DNS 查询将被路由到 2.2.2.2 端点。

![\[显示私有托管区的两条延迟记录的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/latency-phz.png)


# 基于 IP 的路由
<a name="routing-policy-ipbased"></a>

借助 Amazon Route 53 中基于 IP 的路由，您可以利用对网络、应用程序和客户端的了解来微调 DNS 路由，从而为最终用户做出最佳 DNS 路由决策。基于 IP 的路由通过以映射的形式将数据上传到 Route 53，使您可以精细控制以优化性能或降低网络成本。 user-IP-to-endpoint

地理位置和基于延迟的路由以 Route 53 收集并保持更新的数据为基础。这种方法适用于大多数客户，但基于 IP 的路由为您提供了额外的能力，可以根据您客户群的特定知识来优化路由。例如，全球视频内容提供商可能希望从特定互联网服务提供商（ISP）路由最终用户。

以下是基于 IP 的路由的一些常见使用案例：
+ 您希望将最终用户从某些终端节点路由 ISPs 到特定的终端节点，以便优化网络传输成本或性能。
+ 您希望根据对客户实际位置的了解，为现有 Route 53 路由类型添加覆盖，例如地理位置路由。

**管理 IP 范围并将其与资源记录集关联 () RRSet**  
 对于 IPv4，您可以使用长度介于 1 到 24 位（含）之间的 CIDR 块，而对于IPv6长度介于 1 到 48 位（含）之间的 CIDR 块。要定义零位 CIDR 块（0.0.0.0/0 或:: /0），请使用默认（“\$1”）位置。

对于 CIDR 长于 CIDR 集合中指定长度的 DNS 查询，Route 53 会将其与较短的 CIDR 进行匹配。例如，如果您在 CIDR 集合中指定 2001:0DB8:: /32 作为 CIDR 块，并且查询源自 2001:0:0000: DB8 1234:: /48，则该查询将匹配。另一方面，如果您在 CIDR 集合中指定 2001:0DB8: 0000:1234:: /48，并且查询源自 2001:0:: /32，则这将不匹配，Route 53 将使用默认（“DB8\$1”）位置的记录进行回答。

您可以将 CIDR 块（或 IP 范围）集组合到 CIDR 位置中，然后将这些区块组合为名为 CIDR 集合的可重用实体：

**CIDR 块**  
采用 CIDR 表示法的 IP 范围，例如 192.0.2.0/24 或 2001:: /32。DB8

**CIDR 位置**  
已命名的 CIDR 块列表。例如， example-isp-seattle= [192.0.2.0/24、203.0.113.0/22、198.51.100.0/24、2001:: /32]。DB8CIDR 位置列表中的块不必相邻或处于相同的范围内。  
单个位置可以同时包含 IPv4 和 IPv6 块，并且此位置可以分别与 A 和 AAAA 记录集相关联。  
例如，位置名称通常是一个位置，但也可以是任何字符串，例如，*公司-A*。

**CIDR 集合**  
已命名的位置集合。例如，我的收藏 = [example-isp-seattle， example-isp-tokyo]。  
基于 IP 的路由资源记录集会引用集合中的位置，并且具有相同记录集名称和类型的所有资源记录集必须引用同一个集合。例如，如果您在两个区域创建网站，并希望根据原始 IP 地址将 DNS 查询从两个不同的 CIDR 位置定向到特定网站，那么这两个位置都必须列在同一个 CIDR 集合中。

不能对私有托管区中的记录使用基于 IP 的路由策略。

有关您在使用基于 IP 的路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [针对基于 IP 的记录的特定值](resource-record-sets-values-ipbased.md)
+ [基于 IP 的别名记录的特定值](resource-record-sets-values-ipbased-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

**Topics**
+ [使用 CIDR 位置和 CIDR 块创建 CIDR 集合](resource-record-sets-creating-cidr-collection.md)
+ [使用 CIDR 位置和 CIDR 块](resource-record-sets-working-with-cidr-locations.md)
+ [删除 CIDR 集合](resource-record-sets-delete-cidr-collection.md)
+ [将地理位置移动到基于 IP 的路由](resource-record-sets-move-geolocation-to-cidr.md)

# 使用 CIDR 位置和 CIDR 块创建 CIDR 集合
<a name="resource-record-sets-creating-cidr-collection"></a>



要开始使用，请创建 CIDR 集合并向其添加 CIDR 块和位置。<a name="CIDR-collection-creating-procedure"></a>

**使用 Route 53 控制台创建 CIDR 集合**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **IP-based routing**（基于 IP 的路由），然后选择 **CIDR collections**（CIDR 集合）。

1. 选择 **Create CIDR collection**（创建 CIDR 集合）。

1. 在 **Create CIDR collection**（创建 CIDR 集合）窗格中，在 **Details**（详细信息）下方，输入集合的名称。

1. 选择 **Create collection**（创建集合）以创建空集合。

   –或者–

   在 **创建 CIDR 位置**部分中，于 **CIDR 位置**框中输入 CIDR 位置的名称。例如，位置名称可以是任何标识字符串，例如，**company 1** 或者 **Seattle**。它不必是实际的地理位置。
**重要**  
CIDR 位置名称的最大长度为 16 个字符。

   在 **CIDR 块**框中每行输入一个 CIDR 块。这些地址可以是 o IPv4 r IPv6 地址，范围为 /0 到 /24，对于 IPv4 /0 到 /48。 IPv6

1. 在输入 CIDR 块以后，选择 **Create CIDR collection**（创建 CIDR 集合）或 **Add another location**（添加其他位置），以继续输入位置和 CIDR 块。您可以在每个集合中输入多个 CIDR 位置。

1. 在输入 CIDR 位置后，选择 **Create CIDR collection**（创建 CIDR 集合）。

# 使用 CIDR 位置和 CIDR 块
<a name="resource-record-sets-working-with-cidr-locations"></a>

<a name="CIDR-locations-work-with-procedure"></a>

**通过 Route 53 控制台使用 CIDR 位置**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择**基于 IP 的路由**），再选择 **CIDR 集合**，然后在 **CIDR 集合**部分，在**集合名称**列表中点击 CIDR 集合的链接。

   在 **CIDR locations**（CIDR 位置）页面中，您可以创建、删除 CIDR 位置，或者编辑位置及其 CIDR 块。
   + 要创建位置，请选择 **Create CIDR location**（创建 CIDR 位置）。
   + 在 **Create CIDR location**（创建 CIDR 位置）窗格中，输入位置的名称、与该位置关联的 CIDR 块，然后选择 **Create**（创建）。
   + 要查看 CIDR 位置和其中的 CIDR 块，请选择位置旁边的单选按钮，以在 CIDR 位置窗格中显示其名称和 CIDR 块。

     在此窗格中，您也可以选择**编辑**以更新位置或其 CIDR 块的名称。完成编辑后，选择 **Save**（保存）。
   + 要删除 CIDR 位置和其中的 CIDR 块，请选择您要删除的位置旁边的单选按钮，然后选择 **Delete**（删除）。要确认删除操作，请在文本输入字段中输入位置名称，然后选择 **Delete**（删除）。
**重要**  
删除 CIDR 位置的操作无法撤消。如果您有与该位置关联的任何 DNS 记录，您的域可能会因此无法访问。

# 删除 CIDR 集合
<a name="resource-record-sets-delete-cidr-collection"></a>

<a name="CIDR-collection-delete-procedure"></a>

**要删除 CIDR 集合及其位置和块，需使用 Route 53 控制台**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **IP-based routing**（基于 IP 的路由），然后选择 **CIDR collections**（CIDR 集合）。

1. 在 **CIDR collections**（CIDR 集合）部分，点击您要删除的集合的带有链接的名称。

1. 在 **CIDR locations**（CIDR 位置）页面中，每次选择一个位置，然后选择 **Delete**（删除），并在对话框中输入其名称，然后选择 **Delete**（删除）。您必须先删除与 CIDR 集合关联的所有位置，然后才能删除该集合。

1. 删完所有 CIDR 位置后，在 **CIDR locations**（CIDR 位置）页面中，选择您要删除的集合旁边的单选按钮，然后选择 **Delete**（删除）。

# 将地理位置移动到基于 IP 的路由
<a name="resource-record-sets-move-geolocation-to-cidr"></a>

如果您使用的是地理位置或地理位置临近度路由策略，并且始终发现特定客户端路由目的地不是基于物理位置或网络拓扑的最佳端点，则可以使用基于 IP 的路由来更好地定向这些客户端的公有 IP 范围。

下表包含现有地理位置路由的示例地理位置配置，我们将针对加利福尼亚州 IP 范围进行微调。


| 记录集名称 | 路由策略和起源 | 应用程序端点的 IP 地址  | 
| --- | --- | --- | 
|  example.com  |  地理位置路由（美国）  |  `198.51.100.1`  | 
|  example.com  |  地理位置路由（欧洲）   |  `198.51.100.2`  | 

要覆盖从加利福尼亚州到新的应用程序端点的 IP 范围，请首先使用新的记录集名称重新创建地理位置路由。


| 记录集名称 | 路由策略和起源 | 应用程序端点的 IP 地址  | 
| --- | --- | --- | 
|  geo.example.com  |  地理位置路由（美国）  |  `198.51.100.1`  | 
|  geo.example.com  |  地理位置路由（欧洲）   |  `198.51.100.2`  | 

然后，创建基于 IP 的路由记录和指向您最近重新创建的地理位置路由记录集的默认记录。


| 记录集名称 | 路由策略和起源 | 应用程序端点的 IP 地址  | 
| --- | --- | --- | 
|  example.com  |  基于 IP 的路由（默认）   |  您希望设置为默认值的 geo.example.com 应用程序端点的别名记录。例如 `198.51.100.1`。  | 
|  example.com  |  基于 IP 的路由（加利福尼亚州 IP 范围）   |  `198.51.100.3`  | 

# 多值应答路由
<a name="routing-policy-multivalue"></a>

多值应答路由允许您将 Amazon Route 53 配置为返回多个值（如您的 Web 服务器的 IP 地址）来响应 DNS 查询。您可以为几乎任意记录指定多个值，但多值应答路由也允许您检查每个资源的运行状况，以便 Route 53 只返回正常资源的值。虽然它不能替代负载均衡器，但由于其具备返回多个可进行运行状况检查的 IP 地址的能力，您可以将它与 DNS 配合使用，以提高可用性和负载均衡性。

要将流量以近乎随机的方式路由到多个资源（如 Web 服务器），请为每个资源创建一条多值应答记录，并（可选）将 Route 53 运行状况检查与每条记录关联。Route 53 通过最多八条正常记录响应 DNS 查询，并向不同的 DNS 解析程序提供不同的应答。如果 Web 服务器在解析程序缓存响应后变得不可用，则客户端软件可以尝试响应中提供的其他 IP 地址。

注意以下几点：
+ 如果为多值应答记录关联了运行状况检查，则 Route 53 仅当运行状况检查正常时才使用相应的 IP 地址响应 DNS 查询。
+ 如果您没有为多值应答记录关联运行状况检查，则 Route 53 始终认为记录正常。
+ 如果您有不超过 8 条正常的记录，Route 53 将使用所有正常记录响应所有 DNS 查询。
+ 如果所有记录都不正常，Route 53 会向 DNS 查询提供最多 8 条不正常的记录。

可以对私有托管区中的记录使用多值应答路由策略。

有关您在使用多值应答路由策略创建记录时所指定值的信息，请参阅 [多值应答记录的特定值](resource-record-sets-values-multivalue.md) 和 [所有路由策略的通用值](resource-record-sets-values-shared.md)。

# 加权路由
<a name="routing-policy-weighted"></a>

加权路由允许您将多个资源关联至单个域名 (example.com) 或子域名 (acme.example.com)，并选择向每个资源路由多少流量。这可用于多种用途，例如负载均衡、测试软件新版本等。

要配置加权路由，您可以创建与每个资源同名、同类型的记录，然后根据要发送到每个资源的流量的规模为每条记录分配相对权重。Amazon Route 53 将根据您分配给记录的权重（占该组中所有记录总权重的比例）向资源发送流量：

![\[用于计算向给定资源路由多少流量的公式：指定记录的权重/所有记录的权重之和。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/WRR_calculation.png)


例如，如果您想要将极少的一部分流量发送到一个资源，并将其余流量发送到另一个资源，则可以指定权重 1 和 255。权重为 1 的资源将获得 1/256 (1/(1\$1255)) 的流量，另一个资源将获得 255/256 (255/(1\$1255)) 的流量。您可以通过更改权重来逐渐改变平衡。如果要停止向某个资源发送流量，您可以将该记录的权重更改为 0。

有关您在使加权路由策略创建记录时所指定值的信息，请参阅以下主题：
+ [加权记录的特定值](resource-record-sets-values-weighted.md)
+ [加权别名记录的特定值](resource-record-sets-values-weighted-alias.md)
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

可以对私有托管区中的记录使用加权路由策略。

## 运行状况检查和加权路由
<a name="routing-policy-weighted-healthchecks"></a>

如果为一组加权记录中的所有记录添加运行状况检查，但为部分记录指定非零权重并为其他记录指定零权重，那么运行状况检查会按照所有记录均具有非零权重的情况进行，但下列情况除外：
+ Route 53 最初仅考虑非零加权记录（如果有）。
+ 如果权重大于 0 的所有记录的运行状况都不良，Route 53 会考虑零权重的记录。

下表详细说明了 0 加权记录包含运行状况检查时的行为：


|   | 记录 1 | 记录 2 | 记录 3 | 
| --- |--- |--- |--- |
|  重量  |  1  |  1  |  0  | 
|  包括运行状况检查？  |  支持  |  是  |  是  | 
|  | 
| --- |
|  运行状态检查状态  |  运行状况不佳  |  运行状况不佳  |  正常  | 
|  DNS 查询已回答？  |  否  |  否  |  是  | 
|  | 
| --- |
|  运行状态检查状态  |  运行状况不佳  |  运行状况不佳  |  运行状况不佳  | 
| DNS 查询已回答？ |  支持  |  是  |  否  | 
|  | 
| --- |
|  运行状态检查状态  |  运行状况不佳  |  正常  |  运行状况不佳  | 
|  DNS 查询已回答？  |  否  |  是  |  否  | 
|  | 
| --- |
|  运行状态检查状态  |  正常  |  正常  |  运行状况不佳  | 
|  DNS 查询已回答？  |  支持  |  是  |  否  | 
|  | 
| --- |
|  运行状态检查状态  |  正常  |  正常  |  正常  | 
|  DNS 查询已回答？  |  支持  |  是  |  否  | 

下表详细说明了 0 加权记录不包含运行状况检查时的行为：


|   | 记录 1 | 记录 2 | 记录 3 | 
| --- |--- |--- |--- |
|  重量  |  1  |  1  |  0  | 
|  包括运行状况检查？  |  支持  |  是  |  否  | 
|  | 
| --- |
|  运行状态检查状态  |  正常  |  正常  | 不适用 | 
| DNS 查询已回答？ | 支持 |  是  | 否 | 
|  | 
| --- |
|  运行状态检查状态  |  运行状况不佳  |  运行状况不佳  |  不适用  | 
|  DNS 查询已回答？  |  否  |  否  |  是  | 
|  | 
| --- |
|  运行状态检查状态  |  运行状况不佳  |  正常  |  不适用  | 
| DNS 查询已回答？ |  否  |  是  |  否  | 

# 亚马逊 Route 53 EDNS0 如何用来估算用户的位置
<a name="routing-policy-edns0"></a>

为了提高地理定位、地理位置、基于 IP 的路由和延迟路由的准确性，Amazon Route 53 支持扩展。 edns-client-subnet EDNS0 （EDNS0 为 DNS 协议添加了多个可选扩展。） Route 53 edns-client-subnet 只能在 DNS 解析器支持的情况下使用：
+ 当浏览器或其他查看器使用不支持的 DNS 解析器时 edns-client-subnet，Route 53 会使用 DNS 解析器的源 IP 地址来估计用户的位置，并使用解析器位置的 DNS 记录来响应地理位置查询。
+ 当浏览器或其他查看器使用支持 edns-client-subnet的 DNS 解析器时，DNS 解析器会向 Route 53 发送用户 IP 地址的截断版本。Route 53 根据该截断的 IP 地址而不是 DNS 解析程序的源 IP 地址来确定用户的位置；这通常能够更准确地估计用户的位置。然后，Route 53 使用用户位置的 DNS 记录响应地理位置查询。
+ EDNS0 不适用于私有托管区域。对于私有托管区域，Route 53 使用来自私有托管区域所在的 VPC 解析器的数据来做出地理位置和延迟路由决策。 AWS 区域 

有关更多信息 edns-client-subnet，请参阅 DNS 请求中的 EDNS 客户端子网 RFC，[客户端子网](https://www.rfc-editor.org/rfc/rfc7871)。

# 在别名记录和非别名记录之间进行选择
<a name="resource-record-sets-choosing-alias-non-alias"></a>

Amazon Route 53 *别名记录*为 DNS 功能提供特定于 Route 53 的扩展。别名记录允许您将流量路由到选定 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 使用您的 API 的一个或多个 IP 地址响应。
+ **Amazon VPC 接口终端节点** - Route 53 使用您的接口终端节点的一个或多个 IP 地址响应。
+ ** CloudFront 分发** — Route 53 使用一个或多个 IP 地址作为响应，这些服务器可以提供您的内容的CloudFront 边缘服务器。
+ **App Runner 服务** - Route 53 使用一个或多个 IP 地址来响应。
+ **Elastic Beanstalk 环境** - Route 53 使用环境的一个或多个 IP 地址来响应。
+ **Elastic Load Balancing 负载均衡器** - Route 53 使用负载均衡器的一个或多个 IP 地址来响应。这包括应用程序负载均衡器、经典负载均衡器和网络负载均衡器。
+ ** AWS Global Accelerator 加速器** — Route 53 使用加速器的 IP 地址进行响应。
+ ** OpenSearch 服务 — Rout** e 53 使用 OpenSearch 服务自定义域的一个或多个 IP 地址进行响应。
+ **配置为静态网站的 Amazon S3 存储桶** - Route 53 使用 Amazon S3 存储桶的一个 IP 地址来响应。
+ **同一托管区中同类型的其他 Route 53 记录** – Route 53 会如同查询针对由别名记录所引用的记录一样做出响应（请参阅 [别名记录和 CNAME 记录的比较](#resource-record-sets-choosing-alias-non-alias-comparison)）。
+ **AWS AppSync 域名** — Route 53 使用您的接口终端节点的一个或多个 IP 地址进行响应。

有关更多信息，请参阅 [将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

当您使用别名记录将流量路由到 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 用户指南*中的[请求路由选择](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#request-routing)并搜索“ttl”。

有关使用 Route 53 控制台创建记录的更多信息，请参阅 [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)。有关为别名记录指定的值的信息，请参阅[在您创建或编辑 Amazon Route 53 记录时指定的值](resource-record-sets-values.md)中的相关主题：
+ [简单别名记录的特定值](resource-record-sets-values-alias.md)
+ [加权别名记录的特定值](resource-record-sets-values-weighted-alias.md)
+ [延迟别名记录的特定值](resource-record-sets-values-latency-alias.md)
+ [故障转移别名记录的特定值](resource-record-sets-values-failover-alias.md)
+ [地理位置别名记录的特定值](resource-record-sets-values-geo-alias.md)
+ [地理位置临近度别名记录的特定值](resource-record-sets-values-geoprox-alias.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)

## 别名记录和 CNAME 记录的比较
<a name="resource-record-sets-choosing-alias-non-alias-comparison"></a>

别名记录与 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 定价](https://aws.amazon.com/route53/pricing/)。  
**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 记录列出。

# 支持的 DNS 记录类型
<a name="ResourceRecordTypes"></a>

Amazon Route 53 支持本节中列出的 DNS 记录类型。每个记录类型还包括当您使用 API 访问 Route 53 时如何设置 `Value` 元素格式的示例。

**注意**  
对于包含域名的记录类型，请输入一个完全限定域名，例如 *www.example.com*。结尾圆点是可选的；Route 53 会假定该域名是完全限定的。这意味着，Route 53 会将 *www.example.com*（不包含结尾圆点）和 *www.example.com.*（包含结尾圆点）视为相同。

Route 53 为 DNS 功能提供了一个名为别名记录的扩展。与 CNAME 记录类似，别名记录允许您将流量路由到所选 AWS 资源，如 CloudFront 分配和 Amazon S3 存储桶。有关更多信息，包括别名记录和 CNAME 记录的比较，请参阅[在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [A 记录类型](#AFormat)
+ [AAAA 记录类型](#AAAAFormat)
+ [CAA 记录类型](#CAAFormat)
+ [CNAME 记录类型](#CNAMEFormat)
+ [DS 记录类型](#DSFormat)
+ [HTTPS 记录类型](#HTTPSFormat)
+ [MX 记录类型](#MXFormat)
+ [NAPTR 记录类型](#NAPTRFormat)
+ [NS 记录类型](#NSFormat)
+ [PTR 记录类型](#PTRFormat)
+ [SOA 记录类型](#SOAFormat)
+ [SPF 记录类型](#SPFFormat)
+ [SRV 记录类型](#SRVFormat)
+ [SSHFP 记录类型](#SSHFPFormat)
+ [SVCB 记录类型](#SVCBFormat)
+ [TLSA 记录类型](#TLSAFormat)
+ [TXT 记录类型](#TXTFormat)

## A 记录类型
<a name="AFormat"></a>

使用 A 记录将流量路由到资源（如 Web 服务器），并使用圆点分隔的十进制格式表示的 IPv4 地址。

**Amazon Route 53 控制台示例**

```
192.0.2.1
```

**Route 53 API 示例**

```
<Value>192.0.2.1</Value>
```

## AAAA 记录类型
<a name="AAAAFormat"></a>

使用 AAAA 记录将流量路由到资源（如 Web 服务器），并使用圆点分隔的十六进制格式表示的 IPv6 地址。

**Amazon Route 53 控制台示例**

```
2001:0db8:85a3:0:0:8a2e:0370:7334
```

**Route 53 API 示例**

```
<Value>2001:0db8:85a3:0:0:8a2e:0370:7334</Value>
```

## CAA 记录类型
<a name="CAAFormat"></a>

CAA 记录指定允许哪些证书颁发机构 (CA) 为域或子域颁发证书。创建 CAA 记录有助于防止错误的 CA 为您的域颁发证书。CAA 记录不能替代由您的证书颁发机构指定的安全要求，例如验证您是域所有者的要求。

您可以使用 CAA 记录指定以下内容：
+ 哪些证书颁发机构 (CA) 可以签发 SSL/TLS 证书 (如果有)
+ CA 为域或子域签发证书时要联系的电子邮件地址或 URL

当您将 CAA 记录添加到托管区域时，您可以指定由空格分隔的三个设置：

`flags tag "value"`

请注意有关 CAA 记录的格式的以下事项：
+ `tag` 的值只能包含字符 A-Z、a-z 和 0-9。
+ 始终用引号 ("") 将 `value` 引起来。
+ 一些 CA 允许或需要 `value`。以名称-值对的形式指定其他值，并以分号 (; ) 分隔，例如：

  `0 issue "ca.example.net; account=123456"`
+ 如果某个 CA 接收了对某个子域 (如 www.example.com) 的证书的请求并且该子域没有 CAA 记录，则该 CA 将提交对父域 (如 example.com) 的 CAA 记录的 DNS 查询。如果父域的记录存在，并且证书请求有效，则 CA 会为子域颁发证书。
+ 我们建议您咨询您的 CA 来确定要为 CAA 记录指定的值。
+ 您不能创建名称相同的 CAA 记录和 CNAME 记录，因为 DNS 不允许 CNAME 记录和任何其他类型的记录使用相同的名称。

**Topics**
+ [授权 CA 为域或子域颁发证书](#CAAFormat-issue)
+ [授权 CA 为域或子域颁发通配符证书](#CAAFormat-issue-wild)
+ [阻止任何 CA 为域或子域颁发证书](#CAAFormat-prevent-issue)
+ [请求任何 CA 在收到无效的证书请求时联系您](#CAAFormat-contact)
+ [使用 CA 支持的另一个设置](#CAAFormat-custom-setting)
+ [示例](#CAAFormat-examples)

### 授权 CA 为域或子域颁发证书
<a name="CAAFormat-issue"></a>

要授权 CA 为域或子域颁发证书，请创建一条与域或子域同名的记录，并指定以下设置：
+ **标签** - `0`
+ **标签** - `issue`
+ **值** - 您授权为域或子域颁发证书的 CA 的代码

例如，假设您要授权 ca.example.net 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录：

```
0 issue "ca.example.net"
```

有关如何授权 AWS Certificate Manager 颁发证书的信息，请参阅 *AWS Certificate Manager 用户指南*中的[配置 CAA 记录](https://docs.aws.amazon.com/acm/latest/userguide/setup-caa.html)。

### 授权 CA 为域或子域颁发通配符证书
<a name="CAAFormat-issue-wild"></a>

要授权 CA 为域或子域颁发通配符证书，请创建一条与域或子域同名的记录，并指定以下设置。通配符证书适用于该域或子域及其所有子域。
+ **标签** - `0`
+ **标签** - `issuewild`
+ **值** - 您授权为域或子域以及它们的子域颁发证书的 CA 的代码

例如，假设您要授权 ca.example.net 为 example.com 颁发通配符证书 (适用于 example.com 及其所有子域)。您为 example.com 创建了一条具有以下设置的 CAA 记录：

```
0 issuewild "ca.example.net"
```

当您要授权 CA 为域或子域颁发通配符证书时，请创建一条与域或子域同名的记录，并指定以下设置。通配符证书适用于该域或子域及其所有子域。

### 阻止任何 CA 为域或子域颁发证书
<a name="CAAFormat-prevent-issue"></a>

要阻止任何 CA 为域或子域颁发通配符证书，请创建一条与域或子域同名的记录，并指定以下设置：
+ **标签** - `0`
+ **标签** - `issue`
+ **值** – `";"`

例如，假设您不希望任何 CA 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录：

`0 issue ";"`

如果您不希望任何 CA 为 example.com 或其子域颁发证书，则可以为 example.com 创建一条具有以下设置的 CAA 记录：

`0 issuewild ";"`

**注意**  
如果您为 example.com 创建了 CAA 记录并指定了以下两个值，使用值 ca.example.net 的 CA 可以为 example.com 颁发证书：  

```
0 issue ";"
0 issue "ca.example.net"
```

### 请求任何 CA 在收到无效的证书请求时联系您
<a name="CAAFormat-contact"></a>

如果您希望收到对证书的无效请求的任何 CA 联系您，请指定以下设置：
+ **标签** - `0`
+ **标签** - `iodef`
+ **值** - 您希望 CA 在收到无效的证书请求时通知的 URL 或电子邮件地址。使用适用的格式：

  `"mailto:email-address"`

  `"http://URL"`

  `"https://URL"`

例如，如果您希望收到对证书的无效请求的任何 CA 向 admin@example.com 发送电子邮件，则可以创建一条具有以下设置的 CAA 记录：

```
0 iodef "mailto:admin@example.com"
```

### 使用 CA 支持的另一个设置
<a name="CAAFormat-custom-setting"></a>

如果您的 CA 支持未在 CAA 记录的 RFC 中定义的功能，请指定以下设置：
+ **标记** - 128（如果 CA 不支持指定的功能，此值会阻止 CA 颁发证书。）
+ **标签** - 您授权 CA 使用的标签
+ **值** - 与标签的值对应的值

例如，假设您的 CA 在收到无效的证书请求时支持发送文本消息。(我们不了解支持此选项的任何 CA。) 记录的设置可能如下所示：

```
128 exampletag "15555551212"
```

### 示例
<a name="CAAFormat-examples"></a>

**Route 53 控制台示例**

```
0 issue "ca.example.net"
0 iodef "mailto:admin@example.com"
```

**Route 53 API 示例**

```
<ResourceRecord>
   <Value>0 issue "ca.example.net"</Value>
   <Value>0 iodef "mailto:admin@example.com"</Value>
</ResourceRecord>
```

## CNAME 记录类型
<a name="CNAMEFormat"></a>

别名记录将当前记录的名称（例如 acme.example.com）的 DNS 查询映射到另一个域（example.com 或 example.net）或子域（acme.example.com 或 zenith.example.org）。

**重要**  
DNS 协议不允许您为 DNS 命名空间的顶端节点（也称为区域顶点）创建别名记录 (CNAME)。例如，如果您注册了 DNS 名称 example.com，则顶级域名为 example.com。您不能为 example.com 创建 CNAME 记录，但可以为 www.example.com、newproduct.example.com 等创建 CNAME 记录。  
此外，如果您为某个子域创建 CNAME 记录，则不能为该子域创建任何其他记录。例如，如果您为 www.example.com 创建别名记录，则不能创建其 **Name (名称)** 字段的值为 www.example.com 的任何其他记录。

Amazon Route 53 还支持别名记录，这使得您可以将查询路由到所选 AWS 资源，例如 CloudFront 分配和 Amazon S3 存储桶。别名在某些方面与 CNAME 记录类型类似；不过，您可以为顶级域名创建一个别名。有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Route 53 控制台示例**

```
hostname.example.com
```

**Route 53 API 示例**

```
<Value>hostname.example.com</Value>
```

## DS 记录类型
<a name="DSFormat"></a>

委派签名者 (DS) 记录引用委派子域区域的区域密钥。如果您在配置 DNSSEC 签名时建立信任链，您可能会创建 DS 记录。有关在 Route 53 中配置 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

前三个值是表示密钥标签、算法和摘要类型的十进制数。第四个值是区域密钥的摘要。有关 DS 记录格式的更多信息，请参阅 [RFC 4034](https://www.ietf.org/rfc/rfc4034.txt)。

**Route 53 控制台示例**

```
123 4 5 1234567890abcdef1234567890absdef
```

**Route 53 API 示例**

```
<Value>123 4 5 1234567890abcdef1234567890absdef</Value>
```

## HTTPS 记录类型
<a name="HTTPSFormat"></a>

HTTPS 资源记录是服务绑定（SVCB）DNS 记录的一种形式，它提供扩展的配置信息，使客户端能够通过 HTTP 协议轻松安全地连接到服务。配置信息以参数形式提供，这些参数允许在一个 DNS 查询中进行连接，而不必进行多个 DNS 查询。

HTTPS 资源记录的格式为：

`SvcPriority TargetName SvcParams(optional)`

[RFC 9460 第 9.1 节](https://www.rfc-editor.org/rfc/rfc9460.html#section-9.1)中描述了以下参数。

**SvcPriority**  
表示优先级的整数。0 优先级表示别名模式，通常用于在顶级域中设置别名。对于 Route 53，此值是整数 0-32767，其中 1-32767 是服务模式记录。优先级越低，首选项越高。

**TargetName**  
别名目标（用于别名模式）或备用端点（用于服务模式）的域名。

**SvcParams（可选）**  
 以空格分隔的列表，每个参数都由键值对或独立键组成。如果有多个值，则以逗号分隔的列表显示这些值。以下是定义的 SvcParams：  
+ `1:alpn` – 应用程序层协议协商协议 ID 默认为 HTTP/1.1，`h2` 是 TLS 上的 HTTP/2，`h3` 是 HTTP/3（QUIC 协议上的 HTTP）。
+ `2:no-default-alpn` – 不支持默认值，您必须提供 `alpn` 参数。
+ `3:port` – 替代端点或可以到达服务的端口。
+ `4:ipv4hint` – IPv4 地址提示。
+ `5:ech` – 加密的客户端 Hello。
+ `6:ipv6hint` – IPv6 地址提示。
+ `7:dohpath` – HTTPS 上的 DNS 模板
+ `8:ohttp` – 该服务运作 Oblivious HTTP 目标

**适用于别名模式的 Amazon Route 53 控制台示例**

```
0 example.com
```

**适用于服务模式的 Amazon Route 53 控制台示例**

```
16 example.com alpn="h2,h3" port=808
```

**适用于别名模式的 Amazon Route 53 API 示例**

```
<Value>0 example.com</Value>
```

**适用于服务模式的 Route 53 API 示例**

```
<Value>16 example.com alpn="h2,h3" port=808</Value>
```

有关更多信息，请参阅 [RFC 9460，通过 DNS 的服务绑定和参数规范（SVCB 和 HTTPS 资源记录）](https://datatracker.ietf.org/doc/html/rfc9460)。

**注意**  
Route 53 不支持任意的未知密钥表示格式 `keyNNNNN`

## MX 记录类型
<a name="MXFormat"></a>

MX 记录指定邮件服务器的名称，如果您有两个或多个邮件服务器，则指定优先级顺序。MX 记录的每个值都包含两个值，即优先级和域名。

**优先级**  
表示电子邮件服务器优先级的一个整数。如果只指定一个服务器，则优先级可以是 0 到 65535 之间的任意整数。如果指定多个服务器，则为优先级指定的值指示您要将邮件路由到第一个、第二个等电子邮件服务器中的哪一个。优先级值最低的服务器优先。例如，如果您有两个电子邮件服务器，并且为优先级指定值 10 和 20，则电子邮件始终会路由到优先级为 10 的服务器 (除非该服务器不可用)。如果您指定值为 10 和 10，则电子邮件会大致同等地路由到两个服务器。

**域名**  
电子邮件服务器的域名。指定 A 或 AAAA 记录的名称 (如 mail.example.com)。在 [RFC 2181, Clarifications to the DNS Specification](https://tools.ietf.org/html/rfc2181) 中，10.3 小节禁止为域名值指定 CNAME 记录的名称。（当 RFC 提到“别名”时，指的是 CNAME 记录，而不是 Route 53 别名记录。）

**Amazon Route 53 控制台示例**

```
10 mail.example.com
```

**Route 53 API 示例**

```
<Value>10 mail.example.com</Value>
```

## NAPTR 记录类型
<a name="NAPTRFormat"></a>

名称权威指针 (NAPTR) 是动态授权发现系统 (DDDS) 应用程序用于将一个值转换为另一个值或将一个值替换为另一个值的一种记录类型。例如，一个常见的用途是将电话号码转换为 SIP URI。

NAPTR 记录的 `Value` 元素包含六个以空格分隔的值：

**订单**  
当您指定多个记录时，您希望 DDDS 应用程序评估记录的顺序。有效值：0 - 65535。

**Preference**  
当您指定具有相同 **Order** 的两个或更多记录时，您评估这些记录的顺序首选项。例如，如果两个记录的 **Order** 为 1，则 DDDS 应用程序首先会评估具有较低 **Preference** 的记录。有效值：0 - 65535。

**Flags**  
特定于 DDDS 应用程序的一个设置。[RFC 3404](https://www.ietf.org/rfc/rfc3404.txt) 中当前定义的值为大写字母和小写字母 **"A"**、**"P"**、**"S"** 和 **"U"**，以及空字符串 **""**。将 **Flags** 用引号引起来。

**服务**  
特定于 DDDS 应用程序的一个设置。将 **Service** 用引号引起来。  
有关更多信息，请参阅适用的 RFC：  
+ **URI DDDS 应用程序** - [https://tools.ietf.org/html/rfc3404\$1section-4.4](https://tools.ietf.org/html/rfc3404#section-4.4)
+ **S-NAPTR DDDS 应用程序** - [https://tools.ietf.org/html/rfc3958\$1section-6.5](https://tools.ietf.org/html/rfc3958#section-6.5)
+ **U-NAPTR DDDS 应用程序** - [https://tools.ietf.org/html/rfc4848\$1section-4.5](https://tools.ietf.org/html/rfc4848#section-4.5)

**Regexp**  
DDDS 应用程序用于将输入值转换为输出值的一个正则表达式。例如，IP 电话系统可使用一个正则表达式将用户输入的电话号码转换为 SIP URI。将 **Regexp** 用引号引起来。为 **Regexp** 指定一个值，或者为 **Replacement** 指定一个值，但不要同时为这两者指定值。  
该正则表达式可包含以下任何可打印 ASCII 字符：  
+ a-z
+ 0-9
+ - (连字符)
+ (space)
+ \$1 \$1 \$1 % & ' ( ) \$1 \$1 , - / : ; < = > ? @ [ ] ^ \$1 ` \$1 \$1 \$1 \$1 .
+ " (引号)。要在字符串中包含引号字符，请在它前面加上 \$1 字符：\$1"。
+ \$1 (反斜杠)。要在字符串中包含反斜杠，请在它前面加上 \$1 字符：\$1\$1。
以八进制格式指定所有其他值，例如国际化域名。  
有关 **Regexp** 的语法，请参阅 [RFC 3402 的第 3.2 节“Substitution Expression Syntax”](https://tools.ietf.org/html/rfc3402#section-3.2)

**Replacement**  
您希望 DDDS 应用程序对其提交 DNS 查询的下一个域名的完全限定域名 (FQDN)。DDDS 应用程序会用您为 **Replacement** 指定的值 (如果有) 来替换输入值。为 **Regexp** 指定一个值，或者为 **Replacement** 指定一个值，但不要同时为这两者指定值。如果您为 **Regexp** 指定了一个值，请为**替换**指定一个圆点 (**.**)。  
域名可以包含 a-z、0-9 和 - (连字符)。

有关 DDDS 应用程序和 NAPTR 记录的更多信息，请参阅以下 RFC：
+ [RFC 3401](https://www.ietf.org/rfc/rfc3401.txt)
+ [RFC 3402](https://www.ietf.org/rfc/rfc3402.txt)
+ [RFC 3403](https://www.ietf.org/rfc/rfc3403.txt)
+ [RFC 3404](https://www.ietf.org/rfc/rfc3404.txt)

**Amazon Route 53 控制台示例**

```
100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" .
100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" .
100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .
```

**Route 53 API 示例**

```
<ResourceRecord>
   <Value>100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" .</Value>
   <Value>100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" .</Value>
   <Value>100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .</Value>
</ResourceRecord>
```

## NS 记录类型
<a name="NSFormat"></a>

NS 记录会标识托管区域的名称服务器。请注意以下几点：
+ NS 记录的最常见用途是控制域的 Internet 流量路由方式。要使用托管区域中的记录路由域的流量，请更新域注册设置以使用默认 NS 记录中的四个名称服务器。（这是与托管区域同名的 NS 记录。）
+ 您可以为子域 (acme.example.com) 创建单独的托管区域，并使用该托管区域为子域及其子域 (subdomain.acme.example.com) 路由 Internet 流量。您可以通过在根域的托管区域 (example.com) 中创建另一个 NS 记录来设置此配置，称为 "将子域的责任委托给托管区域"。有关更多信息，请参阅 [路由子域的流量](dns-routing-traffic-for-subdomains.md)。
+ 您还可以使用 NS 记录配置白标名称服务器。有关更多信息，请参阅 [配置白标签名称服务器](white-label-name-servers.md)。
+ NS 记录的另一个用途是私有托管区，当您创建委托规则将子域的授权委托给本地解析器时，即可使用 NS 记录。在创建委托规则之前，必须创建此 NS 记录。有关更多信息，请参阅 [解析器端点如何将您的 DNS 查询转发 VPCs 到您的网络](resolver-overview-forward-vpc-to-network.md)。

有关 NS 记录的更多信息，请参阅 [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)。

**Amazon Route 53 控制台示例**

```
ns-1.example.com
```

**Route 53 API 示例**

```
<Value>ns-1.example.com</Value>
```

## PTR 记录类型
<a name="PTRFormat"></a>

PTR 记录将 IP 地址映射到相应的域名。

**Amazon Route 53 控制台示例**

```
hostname.example.com
```

**Route 53 API 示例**

```
<Value>hostname.example.com</Value>
```

## SOA 记录类型
<a name="SOAFormat"></a>

授权起始点 (SOA) 记录会提供有关域和相应 Amazon Route 53 托管区域的信息。有关 SOA 记录中的字段的信息，请参阅 [Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录](SOA-NSrecords.md)。

**Route 53 控制台示例**

```
ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60
```

**Route 53 API 示例**

```
<Value>ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60</Value>
```

## SPF 记录类型
<a name="SPFFormat"></a>

SPF 记录以前用于验证电子邮件发件人的身份。但是，不再建议您创建记录类型为 SPF 的记录。RFC 7208 中的 *Sender Policy Framework（SPF）for Authorizing Use of Domains in Email, Version 1（在电子邮件中授权使用域的发件人策略框架（SPF），版本 1）* 已更新为：“...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues。Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.“（...在 [RFC4408] 中定义的其存在和机制已导致一些互操作性问题。因此，它已不再适合 SPF 版本 1；实施方案中不应再使用它。） 在 RFC 7208 中，请参阅第 14.1 节 [SPF DNS 记录类型](http://tools.ietf.org/html/rfc7208#section-14.1)。

建议您创建一个包含适用值的 TXT 记录，而不是 SPF 记录。有关有效值的更多信息，请参阅维基百科文章[发件人策略框架](https://en.wikipedia.org/wiki/Sender_Policy_Framework)。

**Amazon Route 53 控制台示例**

```
"v=spf1 ip4:192.168.0.1/16 -all"
```

**Route 53 API 示例**

```
<Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>
```

## SRV 记录类型
<a name="SRVFormat"></a>

SRV 记录 `Value` 元素包含四个以空格分隔的值。前三个值为分别是表示优先级、权重和端口的十进制数。第四个值为一个域名。SRV 记录用于访问服务，例如电子邮件或通信服务。有关 SRV 记录格式的信息，请参阅要连接到的服务的文档。

**Amazon Route 53 控制台示例**

```
10 5 80 hostname.example.com
```

**Route 53 API 示例**

```
<Value>10 5 80 hostname.example.com</Value>
```

## SSHFP 记录类型
<a name="SSHFPFormat"></a>

安全 Shell 指纹记录（SSHFP）可识别与域名关联的 SSH 密钥。为建立信任链，必须使用 DNSSEC 保护 SSHFP 记录。有关 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

SSHFP 资源记录的格式为：

`[Key Algorithm] [Hash Type] Fingerprint`

以下参数在 [RFC 4255](https://datatracker.ietf.org/doc/html/rfc4255) 中定义。

**密钥算法**  
算法类型：  
+ `0` – 已保留且未使用。
+ `1: RSA` – Rivest–Shamir–Adleman 算法是最早的公有密钥密码系统之一，至今仍用于安全的数据传输。
+ `2: DSA` – 数字签名算法是用于数字签名的联邦信息处理标准。DSA 基于模幂和离散对数数学模型。
+ `3: ECDSA` – 椭圆曲线数字签名算法是使用椭圆曲线密码学的 DSA 变体。
+ `4: Ed25519` – Ed25519 算法是使用 SHA-512（SHA-2）和 Curve25519 的 EdDSA 签名方案。
+ `6: Ed448` – Ed448 是使用 SHAKE256 和 Curve448 的 EdDSA 签名方案。

**哈希类型**  
用于创建公有密钥哈希的算法：  
+ `0` –已保留且未使用。
+ `1: SHA-1`
+ `2: SHA-256`

**指纹**  
哈希的十六进制表示。

**Amazon Route 53 控制台示例**

```
1 1 09F6A01D2175742B257C6B98B7C72C44C4040683
```

**Route 53 API 示例**

```
<Value>1 1 09F6A01D2175742B257C6B98B7C72C44C4040683</Value>
```

有关更多信息，请参阅 [RFC 4255：使用 DNS 安全发布 Secure Shell（SSH）密钥指纹](https://datatracker.ietf.org/doc/html/rfc4255)。

## SVCB 记录类型
<a name="SVCBFormat"></a>

您可以使用 SVCB 记录来传送访问服务端点的配置信息。SVCB 是一种通用 DNS 记录，可用于协商各种应用协议的参数。

SVCB 资源记录的格式为：

`SvcPriority TargetName SvcParams(optional)`

[RFC 9460 第 2.3 节](https://www.rfc-editor.org/rfc/rfc9460.html#section-2.3)中描述了以下参数。

**SvcPriority**  
表示优先级的整数。0 优先级表示别名模式，通常用于在顶级域中设置别名。优先级越低，首选项越高。

**TargetName**  
别名目标（用于别名模式）或备用端点（用于服务模式）的域名。

**SvcParams（可选）**  
 以空格分隔的列表，每个参数都由键值对或独立键组成。如果有多个值，则以逗号分隔的列表显示这些值。对于 Route 53，此值是整数 0-32767，其中 1-32767 是服务模式记录。以下是定义的 SvcParams：  
+ `1:alpn` – 应用程序层协议协商协议 ID 默认为 HTTP/1.1，`h2` 是 TLS 上的 HTTP/2，`h3` 是 HTTP/3（QUIC 协议上的 HTTP）。
+ `2:no-default-alpn` – 不支持默认值，您必须提供 `alpn` 参数。
+ `3:port` – 可以访问服务的替代端点的端口。
+ `4:ipv4hint` – IPv4 地址提示。
+ `5:ech` – 加密的客户端 Hello。
+ `6:ipv6hint` – IPv6 地址提示。
+ `7:dohpath` – HTTPS 上的 DNS 模板
+ `8:ohttp` – 该服务运作 Oblivious HTTP 目标

**适用于别名模式的 Amazon Route 53 控制台示例**

```
0 example.com
```

**适用于服务模式的 Amazon Route 53 控制台示例**

```
16 example.com alpn="h2,h3" port=808
```

**适用于别名模式的 Amazon Route 53 API 示例**

```
<Value>0 example.com</Value>
```

**适用于服务模式的 Route 53 API 示例**

```
<Value>16 example.com alpn="h2,h3" port=808</Value>
```

有关更多信息，请参阅 [RFC 9460，通过 DNS 的服务绑定和参数规范（SVCB 和 HTTPS 资源记录）](https://datatracker.ietf.org/doc/html/rfc9460)。

**注意**  
Route 53 不支持任意的未知密钥表示格式 `keyNNNNN`

## TLSA 记录类型
<a name="TLSAFormat"></a>

您可以借助 TLSA 记录来使用基于 DNS 的命名实体身份验证（DANE）。TLSA 记录将证书/公有密钥与传输层安全性协议（TLS）端点相关联，客户端可以使用以 DNSSEC 签名的 TLSA 记录来验证证书/公有密钥。

只有在您的域上启用 DNSSEC 后，才可信任 TLSA 记录。有关 DNSSEC 的更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

TLSA 资源记录的格式为：

`[Certificate usage] Selector [Matching type] [Certificate association data]`

以下参数在 [RFC 6698 的第 3 节](https://datatracker.ietf.org/doc/html/rfc6698#section-3)中指定。

**证书用量**  
指定提供的关联，该关联将用于与 TLS 握手中展示的证书相匹配：  
+ 0：CA 约束 – 必须在服务器在 TLS 中提供的端点实体证书的任意公有密钥基础设施（PKIX）认证路径中找到证书或公有密钥。此约束限制哪些 CA 可用于为指定的服务颁发证书。
+ 1：服务证书约束 – 指定端点实体证书（或公有密钥），该证书必须与服务器在 TLS 中提供的端点实体证书相匹配。此认证限制主机上的指定服务可以使用的端点实体证书。
+ 2：信任锚断言 – 指定在验证服务器在 TLS 中提供的端点实体证书时必须用作“信任锚”的证书（或公有密钥）。允许域管理员指定信任锚。
+ 3：域颁发的证书 – 指定必须与服务器在 TLS 中提供的端点实体证书相匹配的证书（或公有密钥）。该认证允许域管理员在不涉及第三方 CA 的情况下为域颁发证书。此证书不需要通过 PKIX 验证。

**选择器**  
指定服务器在握手中所提供证书的哪一部分与关联值相匹配：  
+ 0：必须匹配整个证书。
+ 1：必须匹配主题公有密钥或 DER 编码的二进制结构。

**匹配类型**  
指定证书匹配项的显示方式（由“选择器”字段确定）：  
+ 0：内容完全匹配。
+ 1：SHA-256 哈希。
+ 2：SHA-512 哈希。

**证书关联数据**  
要根据其他字段的设置进行匹配的数据。

**Amazon Route 53 控制台示例**

```
0 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971
```

**Route 53 API 示例**

```
<Value>0 0 1 d2abde240d7cd3ee6b4b28c54df034b97983a1d16e8a410e4561cb106618e971</Value>
```

有关更多信息，请参阅 [RFC 6698，基于 DNS 的命名实体身份验证（DANE）传输层安全性协议（TLS）协议：TLSA](https://datatracker.ietf.org/doc/html/rfc6698)。

## TXT 记录类型
<a name="TXTFormat"></a>

TXT 记录包含一个或多个用双引号 (`"`) 引起的字符串。当您使用简单[路由策略](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)时，请将域 (example.com) 或子域 (www.example.com) 的所有值包含在同一 TXT 记录中。

**Topics**
+ [输入 TXT 记录值](#TXTformat-limits)
+ [TXT 记录值中的特殊字符](#TXTformat-special-characters)
+ [TXT 记录值中的大写字符和小写字符](#TXTformat-case)
+ [示例](#TXTformat-examples)

### 输入 TXT 记录值
<a name="TXTformat-limits"></a>

单个字符串最多可包含 255 个字符，包括以下内容：
+ a-z
+ A-Z
+ 0-9
+ 空格
+ - (连字符)
+ \$1 " \$1 \$1 % & ' ( ) \$1 \$1 , - / : ; < = > ? @ [ \$1 ] ^ \$1 ` \$1 \$1 \$1 \$1 . 

如果您需要输入长度大于 255 个字符的值，请将该值分解为包含 255 个字符或更少字符的字符串，并将每个字符串用双引号 (`"`) 括起来。在控制台中的同一行上，列出所有字符串：

```
"String 1" "String 2" "String 3"
```

对于 API，在同一 `Value` 元素中包含所有字符串：

```
<Value>"String 1" "String 2" "String 3"</Value>
```

TXT 记录中的值的最大长度为 4000 个字符。

要输入多个 TXT 值，请每行输入一个值。

### TXT 记录值中的特殊字符
<a name="TXTformat-special-characters"></a>

如果您的 TXT 记录包含以下任意字符，则必须使用 `\`*三位八进制代码*格式的转义码指定字符：
+ 八进制字符 000 到 040 (十进制 0 到 32，十六进制 0x00 到 0x20)
+ 八进制字符 177 到 377 (十进制 127 到 255，十六进制 0x7F 到 0xFF)

例如，如果您的 TXT 记录的值为 `"exämple.com"`，则应指定 `"ex\344mple.com"`。

有关 ASCII 字符和八进制代码之间的映射，请在 Internet 上搜索“ASCII 八进制代码”。一个有用的参考是 [ASCII 代码 – 扩展 ASCII 表](https://www.ascii-code.com/)。

要将引号 (`"`) 包含在字符串中，请在引号前面放置反斜杠 (`\`) 字符：`\"`。

### TXT 记录值中的大写字符和小写字符
<a name="TXTformat-case"></a>

大小写将被保留，因此 `"Ab"` 和 `"aB"` 是不同的值。

### 示例
<a name="TXTformat-examples"></a>

**Amazon Route 53 控制台示例**

在单独的行中放置每个值：

```
"This string includes \"quotation marks\"."
"The last character in this string is an accented e specified in octal format: \351"
"v=spf1 ip4:192.168.0.1/16 -all"
```

**Route 53 API 示例**

在单独的 `Value` 元素中放置每个值：

```
<Value>"This string includes \"quotation marks\"."</Value>
<Value>"The last character in this string is an accented e specified in octal format: \351"</Value>
<Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>
```

# 通过使用 Amazon Route 53 控制台创建记录
<a name="resource-record-sets-creating"></a>

以下步骤介绍如何使用 Amazon Route 53 控制台创建记录。有关如何使用 Route 53 API 创建记录的信息，请参阅*亚马逊 Route 53 API 参考[ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)*中的。

**注意**  
要为复杂的路由配置创建记录，您也可以使用 Traffic Flow 可视化编辑器，并将配置保存为流量策略。然后，您可以将流量策略关联至同一托管区域或多个托管区域中的一个或多个域名 (例如 example.com) 或子域名 (例如 www.example.com)。此外，如果新配置无法正常工作，您还可以回滚更新。有关更多信息，请参阅 [使用 Traffic Flow 来路由 DNS 流量](traffic-flow.md)。<a name="resource-record-sets-creating-procedure"></a>

**使用 Route 53 控制台创建记录**

1. 如果您不打算创建别名记录，请转至步骤 2。

   如果您要创建别名记录，将 DNS 流量路由到 Elastic Load Balancing 负载均衡器或其他 Route 53 记录以外的 AWS 资源，则还要转到步骤 2。

   如果您打算创建别名记录以将流量路由到 Elastic Load Balancing 负载均衡器，并且已使用不同账户创建了托管区和负载均衡器，则执行过程 [获取 Elastic Load Balancing 负载均衡器的 DNS 名称](#resource-record-sets-elb-dns-name-procedure) 以获取负载均衡器的 DNS 名称。

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 如果您的域已有托管区域，则跳至步骤 5。如果没有，请执行相关步骤以创建托管区域：
   + 要将 Internet 流量路由到您的资源，例如 Amazon S3 存储桶或 Amazon EC2 实例，请参阅 [创建公有托管区域](CreatingHostedZone.md)。
   + 要路由 VPC 中的流量，请参阅[创建私有托管区域](hosted-zone-private-creating.md)。

1. 在 **Hosted Zones（托管区域）**页面上，选择您要在其中创建记录的托管区域的名称。

1. 选择**创建记录**。

1. 选择并定义适用的路由策略和值。有关更多信息，请参阅关于您要创建的记录类别的主题：
   + [所有路由策略的通用值](resource-record-sets-values-shared.md)
   + [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)
   + [简单记录的特定值](resource-record-sets-values-basic.md)
   + [简单别名记录的特定值](resource-record-sets-values-alias.md)
   + [故障转移记录的特定值](resource-record-sets-values-failover.md)
   + [故障转移别名记录的特定值](resource-record-sets-values-failover-alias.md)
   + [地理位置记录的特定值](resource-record-sets-values-geo.md)
   + [地理位置别名记录的特定值](resource-record-sets-values-geo-alias.md)
   + [地理位置临近度记录的特定值](resource-record-sets-values-geoprox.md)
   + [地理位置临近度别名记录的特定值](resource-record-sets-values-geoprox-alias.md)
   + [延迟记录的特定值](resource-record-sets-values-latency.md)
   + [延迟别名记录的特定值](resource-record-sets-values-latency-alias.md)
   + [针对基于 IP 的记录的特定值](resource-record-sets-values-ipbased.md)
   + [基于 IP 的别名记录的特定值](resource-record-sets-values-ipbased-alias.md)
   + [多值应答记录的特定值](resource-record-sets-values-multivalue.md)
   + [加权记录的特定值](resource-record-sets-values-weighted.md)
   + [加权别名记录的特定值](resource-record-sets-values-weighted-alias.md)

1. 选择**创建记录**。
**注意**  
您的新记录需要一定时间才会传播到 Route 53 DNS 服务器。目前，验证更改是否已传播的唯一方法是使用 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API 操作。更改通常在 60 秒内传播到所有 Route 53 名称服务器。

1. 如果您要创建多个记录，则重复步骤 7 至 8。<a name="resource-record-sets-elb-dns-name-procedure"></a>

**获取 Elastic Load Balancing 负载均衡器的 DNS 名称**

1.  AWS 管理控制台 使用用于创建您想要为其创建别名记录的 Classic、Application 或 Network Load Balancer 的 AWS 账户登录。

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 在负载均衡器列表中，选择您要为其创建别名记录的负载均衡器。

1. 在 **Description** 选项卡上，获得 **DNS name** 的值。

1. 如果要为其他 Elastic Load Balancing 负载均衡器创建别名记录，则重复步骤 4 和 5。

1. 退出 AWS 管理控制台.

1. 使用您用于创建 Route 53 托管区域的 AWS 帐户 AWS 管理控制台 再次登录。

1. 返回到过程 [通过使用 Amazon Route 53 控制台创建记录](#resource-record-sets-creating) 的步骤 3。

# 资源记录集权限
<a name="resource-record-sets-permissions"></a>

资源记录集权限使用身份和访问管理 (IAM) 策略条件来允许您为 Route 53 控制台上的操作或使用 [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)API 设置精细权限。

资源记录集定义为具有相同名称和类型（和类，但对于大多数用途，类始终为 IN 或 internet）的多个资源记录，但它们包含不同的数据。例如，如果您选择地理位置路由，则可以让多条 A 或 AAAA 记录指向同一个域的不同端点。所有这些 A 或 AAAA 记录组合构成资源记录集。有关 DNS 术语的更多信息，请参阅 [RFC 7719](https://datatracker.ietf.org/doc/html/rfc7719)。

通过 IAM 策略条件、`route53:ChangeResourceRecordSetsNormalizedRecordNames``route53:ChangeResourceRecordSetsRecordTypes``route53:ChangeResourceRecordSetsActions`、和，您可以向任何其他 AWS 账户中的其他 AWS 用户授予精细的管理权限。这样便可授予某人以下权限：
+ 单个资源记录集。
+ 特定 DNS 记录类型的所有资源记录集。
+ 名称包含特定字符串的资源记录集。
+ 使用 [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)API 或 Route 53 控制台时，执行任何或全部`CREATE | UPSERT | DELETE `操作。

您还可以创建结合任何 Route 53 策略条件的访问权限。例如，您可以授予某人修改 marketing-example.com 的 A 记录数据的权限，但不允许该用户删除任何记录。

有关资源记录集权限的更多信息，以及如何使用这些权限的示例，请参阅 [使用 IAM 策略条件进行精细访问控制](specifying-conditions-route53.md)。

要了解如何对 AWS 用户进行身份验证，请参阅[使用身份进行身份验证](security-iam.md#security_iam_authentication)；要了解如何控制对 Route 53 资源的访问权限，请参阅[访问控制](security-iam.md#access-control)。

# 在您创建或编辑 Amazon Route 53 记录时指定的值
<a name="resource-record-sets-values"></a>

使用 Amazon Route 53 控制台创建记录时，您指定的值取决于您要使用的路由策略以及您是否在创建将流量路由到 AWS 资源的别名记录。

别名记录将流量路由到您为其指定目标 AWS 资源的某些资源（例如 Elastic Load Balancing、 CloudFront 分配、Amazon S3 存储桶）。您也可以选择关联运行状况检查，并配置目标运行状况评估。以下主题提供了每种路由策略和记录类型所需值的详细信息，可帮助您有效地配置 Route 53 记录。

**Topics**
+ [所有路由策略的通用值](resource-record-sets-values-shared.md)
+ [所有路由策略的别名记录的通用值](resource-record-sets-values-alias-common.md)
+ [简单记录的特定值](resource-record-sets-values-basic.md)
+ [简单别名记录的特定值](resource-record-sets-values-alias.md)
+ [故障转移记录的特定值](resource-record-sets-values-failover.md)
+ [故障转移别名记录的特定值](resource-record-sets-values-failover-alias.md)
+ [地理位置记录的特定值](resource-record-sets-values-geo.md)
+ [地理位置别名记录的特定值](resource-record-sets-values-geo-alias.md)
+ [地理位置临近度记录的特定值](resource-record-sets-values-geoprox.md)
+ [地理位置临近度别名记录的特定值](resource-record-sets-values-geoprox-alias.md)
+ [延迟记录的特定值](resource-record-sets-values-latency.md)
+ [延迟别名记录的特定值](resource-record-sets-values-latency-alias.md)
+ [针对基于 IP 的记录的特定值](resource-record-sets-values-ipbased.md)
+ [基于 IP 的别名记录的特定值](resource-record-sets-values-ipbased-alias.md)
+ [多值应答记录的特定值](resource-record-sets-values-multivalue.md)
+ [加权记录的特定值](resource-record-sets-values-weighted.md)
+ [加权别名记录的特定值](resource-record-sets-values-weighted-alias.md)

# 所有路由策略的通用值
<a name="resource-record-sets-values-shared"></a>

以下是您在创建或编辑 Amazon Route 53 记录时可以指定的通用值。所有路由策略都使用这些值。



**Topics**
+ [记录名称](#rrsets-values-common-name)
+ [值/流量路由至](#rrsets-values-common-value)
+ [TTL（秒）](#rrsets-values-common-ttl)

## 记录名称
<a name="rrsets-values-common-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

**CNAME 记录**  
如果您要创建 **Record type（记录类型）**值为 **CNAME** 的记录，则该记录的名称不能与托管区域的名称相同。

**特殊字符**  
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

**通配符**  
您可以在名称中使用星号 (\$1) 字符。DNS 会根据 \$1 字符出现在名称中的位置将它作为通配符或作为 \$1 字符 (ASCII 42) 来处理。有关更多信息，请参阅 [在托管区域和记录的名称中使用星号 (\$1)](DomainNameFormat.md#domain-name-format-asterisk)。  
对于类型为 **NS** 的资源记录集，不能使用 \$1 通配符。

## 值/流量路由至
<a name="rrsets-values-common-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

**A — IPv4 地址**  
 IPv4 格式为 IP 地址，例如 **192.0.2.235**。

**AAAA — 地址 IPv6 **  
 IPv6 格式为 IP 地址，例如 **2001:0 db 8:85 a 3:0:0:8 a2e: 0370:7334**。

**CAA - 证书颁发机构授权**  
3 个以空格分隔的值，可控制允许哪些证书颁发机构为由 **Record name（记录名称）**指定的域或子域签发证书或通配符证书。您可以使用 CAA 记录指定以下内容：  
+ 哪些证书颁发机构 (CAs) 可以颁 SSL/TLS 发证书（如果有）
+ CA 为域或子域签发证书时要联系的电子邮件地址或 URL

**CNAME - 规范名称**  
您希望 Route 53 在响应此记录的 DNS 查询时返回的完全限定域名（例如，*www.example.com*）。结尾的点是可选的；Route 53 会假定该域名是完全限定的。这意味着，Route 53 会将 *www.example.com*（不包含结尾圆点）和 *www.example.com.*（包含结尾圆点）视为相同。

**MX - 邮件交换**  
一个优先级和一个指定邮件服务器的域名，例如 **10 mailserver.example.com**。结尾圆点被视为可选。

**NAPTR - 名称权威指针**  
六个以空格分隔的设置，由动态授权发现系统 (DDDS) 应用程序用来将一个值转换为另一个值或将一个值替换为另一个值。有关更多信息，请参阅 [NAPTR 记录类型](ResourceRecordTypes.md#NAPTRFormat)。

**PTR - 指针**  
您希望 Route 53 返回的域名。

**NS – 名称服务器**  
名称服务器的域名，例如 **ns1.example.com**。  
您只能使用简单的路由策略来指定 NS 记录。

**SPF - 发件人策略框架**  
包括在引号中的 SPF 记录，例如 **"v=spf1 ip4:192.168.0.1/16-all"**。建议不要使用 SPF 记录。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

**SRV - 服务定位器**  
SRV 记录。SRV 记录用于访问服务，例如电子邮件或通信服务。有关 SRV 记录格式的信息，请参阅要连接到的服务的文档。结尾圆点将视为可选。  
SRV 记录的格式为：  
**[优先级] [权重] [端口] [服务器主机名]**  
例如：  
**1 10 5269 xmpp-server.example.com.**

**TXT - 文本**  
文本记录。包含在引号内的文本，例如 **"Sample text entry"**。

## TTL（秒）
<a name="rrsets-values-common-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

# 所有路由策略的别名记录的通用值
<a name="resource-record-sets-values-alias-common"></a>

以下是您在创建或编辑 Amazon Route 53 记录时可以指定的通用别名值。所有路由策略都使用这些值。

**Topics**
+ [记录名称](#rrsets-values-common-alias-name)
+ [值/流量路由至](#rrsets-values-alias-common-target)

## 记录名称
<a name="rrsets-values-common-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

**CNAME 记录**  
如果您要创建 **Type (类型)** 值为 **CNAME** 的记录，则该记录的名称不能与托管区域的名称相同。

** CloudFront 分配和 Amazon S3 存储桶的别名**  
您指定的值在一定程度上取决于您要将流量路由到的 AWS 资源：  
+ **CloudFront 分发**-您的分配必须包含与记录名称匹配的备用域名。例如，如果记录的名称为 **acme.example.com**，您的 CloudFront 分配必须包含 **acme.example.com**，以作为备用域名之一。有关更多信息，请参阅《*亚马逊 CloudFront 开发者指南》*中的[使用备用域名 (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)。
+ **Amazon S3 存储桶** - 记录的名称必须与您的 Amazon S3 存储桶的名称匹配。例如，如果您的存储桶的名称是 **acme.example.com**，则此记录的名称也必须是 **acme.example.com**。

  此外，您还必须配置该存储桶以用于网站托管。有关更多信息，请参阅 *Amazon Simple Storage Service 用户指南*中的[为网站托管配置存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HowDoIWebsiteConfiguration.html)。

**特殊字符**  
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

**通配符**  
您可以在名称中使用星号 (\$1) 字符。DNS 会根据 \$1 字符出现在名称中的位置将它作为通配符或作为 \$1 字符 (ASCII 42) 来处理。有关更多信息，请参阅 [在托管区域和记录的名称中使用星号 (\$1)](DomainNameFormat.md#domain-name-format-asterisk)。

## 值/流量路由至
<a name="rrsets-values-alias-common-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

**重要**  
如果您使用同一个 AWS 账户创建托管区域和要将流量路由到的资源，并且您的资源未出现在**终端节点**列表中，请检查以下内容：  
确认您为 **Record type（记录类型）**选择支持的值。支持的值特定于您要将流量路由到的资源。例如，要将流量路由到 S3 存储桶，必须为**记录类型**选择 **A — IPv4 地址**。
确认该账户具有列出适用资源所需的 IAM 权限。例如，要使 CloudFront分配显示在 E **ndpoin** t 列表中，账户必须有权执行以下操作：`cloudfront:ListDistributions`。  
有关 IAM policy 示例，请参阅 [使用 Amazon Route 53 控制台所需的权限](access-control-managing-permissions.md#console-required-permissions)。
如果您使用不同的 AWS 账户创建托管区域和资源，则**终端节点**列表不会显示您的资源。请参阅以下有关您的资源类型的文档，确定要在 **Endpoint（终端节点）**中键入的值。

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
对于 API Gateway 自定义 APIs 区域和边缘优化 APIs，请执行以下任一操作：  
+ **如果您使用相同账户来创建您的 Route 53 托管区域和 API** - 选择 **Endpoint（终端节点）**，然后从列表中选择一个 API。如果您有很多 APIs，则可以输入 API 端点的前几个字符来筛选列表。
**注意**  
此记录的名称必须与 API 的自定义域名匹配，例如 **api.example.com**。
+ **如果您使用了不同的账户来创建您的 Route 53 托管区域和 API** - 输入 API 的 API 终端节点，如 **api.example.com**。

  如果您使用一个 AWS 账户创建当前托管区域，使用另一个账户创建 API，则该 API 不会显示在 API Gate **w** ay 下的**终端节点**列表中 APIs。

  **如果您使用一个账户创建当前托管区域，并使用一个或多个不同的账户创建所有托管区域，则 **API Gat** eway 下的 APIs Endpoints 列表将显示**无可用目标**APIs。**有关更多信息，请参阅 [使用域名将流量路由到 Amazon API Gateway API](routing-to-api-gateway.md)。

**CloudFront 分布**  
对于 CloudFront 分配，请执行以下任一操作：  
+ **如果您使用同一个账户创建 Route 53 托管区域和 CloudFront 分配**，请选择 E **ndpoint** 并从列表中选择一个分配。如果您有很多分配，则可以输入分配域名的前几个字符，以便筛选该列表。

  如果分配未显示在列表中，请注意：
  + 此记录的名称必须与分配中的备用域名匹配。
  + 如果您刚刚在分配中添加了备用域名，则更改可能需要 15 分钟才能传播到所有 CloudFront 边缘站点。更改传播完成之前，Route 53 无法获知新的备用域名。
+ **如果您使用不同的账户创建 Route 53 托管区域和分配，请输入分配的 CloudFront 域名，例如 **d111111abcdef8.cloud** fron** t.net。

  如果您使用一个 AWS 账户创建当前托管区域，使用另一个账户创建分配，则该分配将不会显示在 Endpoints **列表**中。

  **如果您使用一个账户创建当前托管区域，并使用一个或多个不同的账户创建所有分配，则 Endpoints 列表将在**CloudFront 分配**下显示**无可用目标**。**
请勿将查询路由到尚未传播到所有边缘站点的 CloudFront 分配，否则您的用户将无法访问适用的内容。
您的 CloudFront 分配必须包含与记录名称相匹配的备用域名。例如，如果记录的名称是 **acme.example.com，则您的 CloudFront 分配必须包含 **acme.examp** le.com** 作为备用域名之一。有关更多信息，请参阅《*亚马逊 CloudFront 开发者指南》*中的[使用备用域名 (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（**记录类型 IPv4 **的地址**），另一条的值为 **AAAA — IPv6 地址**。有关更多信息，请参阅 [使用您的域名将流量路由到 Amazon CloudFront 分配](routing-to-cloudfront-distribution.md)。

**App Runner 服务**  
对于 App Runner 服务，执行下列操作之一：  
+ **如果您使用同一个帐户创建 Route 53 托管区域和您的 App Runner 服务** AWS 区域，请选择，然后从列表中选择要将流量路由到的环境的域名。
+ **如果您使用不同账户来创建您自己的 Route 53 托管区和 App Runner** - 输入自定义域名。有关更多信息，请参阅 [Managing custom domain names for App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/manage-custom-domains.html)（管理 App Runner 服务的自定义域名）。

  如果您使用一个 AWS 帐户创建当前托管区域，使用另一个帐户创建应用程序运行器，则该应用程序运行器将不会出现在**端点**列表中。
有关更多信息，请参阅 [配置 Amazon Route 53 以将流量路由到 App Runner 服务](routing-to-app-runner.md#routing-to-app-runner-configuring)。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果 Elastic Beanstalk 环境的域名包括您在其中部署环境的区域，则您可以创建一个将流量路由到该环境的别名记录。例如，域名 `my-environment.us-west-2.elasticbeanstalk.com` 是区域化域名。  
对于在 2016 年年初之前创建的环境，域名不包括该区域。要将流量路由到这些环境，您必须创建 CNAME 记录，而不是别名记录。请注意，不能为根域名创建 CNAME 记录。例如，如果您的域名为 example.com，则可创建一个能将 acme.example.com 的流量路由到 Elastic Beanstalk 环境的记录，但不能创建可将 example.com 的流量路由到 Elastic Beanstalk 环境的记录。
对于具有区域化子域的 Elastic Beanstalk 环境，请执行以下操作之一：  
+ **如果您使用相同账户来创建您的 Route 53 托管区域和 Elastic Beanstalk 环境** - 选择 **Endpoint（终端节点）**，然后从列表中选择一个环境。如果您有很多环境，则可以输入环境的 CNAME 属性的前几个字符，以便筛选该列表。
+ **如果您使用了不同账户来创建您的 Route 53 托管区域和 Elastic Beanstalk 环境** - 输入 Elastic Beanstalk 环境的 CNAME 属性。
有关更多信息，请参阅 [将流量路由到 AWS Elastic Beanstalk 环境](routing-to-beanstalk-environment.md)。

**ELB 负载均衡器**  
对于 ELB 负载均衡器，请执行以下操作之一：  
+ **如果您使用了相同账户来创建您的 Route 53 托管区域和负载均衡器** - 选择 **Endpoint（终端节点）**，然后从列表中选择一个负载均衡器。如果您有很多负载均衡器，您可输入 DNS 名称的前几个字符，以筛选该列表。
+ **如果您使用了不同账户来创建您的 Route 53 托管区域和负载均衡器** - 输入您在过程 [获取 Elastic Load Balancing 负载均衡器的 DNS 名称](resource-record-sets-creating.md#resource-record-sets-elb-dns-name-procedure) 中获得的值。

  如果您使用一个 AWS 账户创建当前托管区域，使用另一个账户创建负载均衡器，则该负载均衡器将不会出现在**终端节点**列表中。

  如果您使用了一个账户来创建当前托管区域，并使用一个或多个不同账户来创建您的所有负载均衡器，则 **Endpoints（终端节点）**列表在 **Elastic Load Balancers** 下显示 **No targets available（无可用目标）**。
控制台将为来自不同账户的 Application Load Balancer 和经典负载均衡器添加 **dualstack.** 前缀。当客户端（例如网络浏览器）请求您的域名 (example.com) 或子域名 (www.example.com) 的 IP 地址时，客户端可以请求地址（A 记录）、 IPv4 地址（AAAA 记录）或两者兼而有之 IPv4 和IPv6 IPv6 地址（在单独的请求中）。**dualstack.** 标识让 Route 53 能够基于客户端所请求的 IP 地址格式使用您的负载均衡器的相应 IP 地址进行响应。  
有关更多信息，请参阅 [将流量路由到 ELB 负载均衡器](routing-to-elb-load-balancer.md)。

**AWS 全球加速器加速器**  
对于 AWS 全球加速器加速器，请输入加速器的 DNS 名称。您可以输入使用当前 AWS 账户或其他账户创建的加速器的 DNS 名称。 AWS 

**Amazon S3 存储桶**  
对于配置为网站终端节点的 Amazon S3 存储桶，请执行以下操作之一：  
+ **如果您使用相同账户来创建您的 Route 53 托管区域和 Amazon S3 存储桶** - 选择 **Endpoint（终端节点）**，然后从列表中选择一个存储桶。如果您有很多存储桶，则可输入 DNS 名称的前几个字符，以筛选该列表。

  **Endpoint（终端节点）**的值变为存储桶的 Amazon S3 网站终端节点。
+ **如果您使用了不同账户来创建您的 Route 53 托管区域和 Amazon S3 存储桶** - 输入您在其中创建了 S3 存储桶的区域的名称。使用《Amazon Web Services 一般参考》中 [Amazon S3 网站端点](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)表中**网站端点**列显示的值。**

  如果您使用当前 AWS 账户以外的账户创建 Amazon S3 存储桶，则该存储桶不会出现在**终端节点**列表中。
您必须配置该存储桶以用于网站托管。有关更多信息，请参阅 *Amazon Simple Storage Service 用户指南*中的[为网站托管配置存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HowDoIWebsiteConfiguration.html)。  
记录的名称必须与您的 Amazon S3 存储桶的名称匹配。例如，如果您的 Amazon S3 存储桶的名称是 **acme.example.com**，则此记录的名称也必须是 **acme.example.com**。  
在加权别名、延迟别名、故障转移别名或地理位置别名记录组中，您可以仅创建一个将查询路由到 Amazon S3 存储桶的记录，因为该记录的名称必须与存储桶名称匹配且存储桶名称必须全局唯一。

**亚马逊 OpenSearch 服务**  
对于 OpenSearch 服务，请执行以下任一操作：  
+ **OpenSearch 服务自定义域**：记录的名称必须与自定义域名匹配。例如，如果您的自定义域名称是 test.example.com，则此记录的名称也必须是 test.example.com。
+ **如果您使用同一个帐户创建 Route 53 托管 OpenSearch 区域和服务域**，请选择 AWS 区域，然后选择域名。
+ **如果您使用不同的账户创建 Route 53 托管区域和 OpenSearch 服务域**，请输入自定义域名。有关更多信息，请参阅[创建自定义端点](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/customendpoint.html)。

  如果您使用一个 AWS 账户创建当前托管区域，使用另一个账户创建 OpenSearch 服务域，则该域将不会出现在**端点**列表中。

  如果您使用一个账户创建当前托管区域，并使用一个或多个不同的账户创建所有 OpenSearch 服务域，则**终端节点**列表将在**OpenSearch 服务**下显示**无可用目标**。
有关更多信息，请参阅 [将 Amazon Route 53 配置为将流量路由到亚马逊 OpenSearch 服务域终端节点](routing-to-open-search-service.md#routing-to-open-search-service-configuring)。

**Amazon VPC 接口终端节点**  
对于 Amazon VPC 接口终端节点，请执行以下操作之一：  
+ **如果您使用了相同账户来创建您的 Route 53 托管区域和接口终端节点** - 选择 **Endpoint（终端节点）**，然后从列表中选择一个接口终端节点。如果您有很多接口终端节点，则可输入 DNS 主机名的前几个字符，以筛选该列表。
+ **如果您使用不同的账户创建 Route 53 托管区域和接口终端节点，请输入接口终端节点**的 DNS 主机名，例如 vpce-**123456789abcdef01--1a.elasticloadbalancing.us-east-1.vpc** e.amazonaws.com。example-us-east

  如果您使用一个 AWS 账户创建当前托管区域，使用另一个账户创建接口终端节点，则该接口终端节点将不会出现在 **VPC** **终端节点下的终端节点**列表中。

  如果您使用了一个账户来创建当前托管区域，并使用一个或多个不同账户来创建您的所有接口终端节点，则 **Endpoints（终端节点）**列表在 **VPC endpoints（VPC 终端节点）**下显示 **No targets available（无可用目标）**。

  有关更多信息，请参阅 [使用域名将流量路由到 Amazon Virtual Private Cloud 接口终端节点](routing-to-vpc-interface-endpoint.md)。

**此托管区域中的记录**  
对于此托管区域中的记录，选择 **Endpoint（终端节点）**，然后选择适用的记录。如果您有很多记录，则可输入名称的前几个字符，以筛选该列表。  
如果托管区域仅包含默认 NS 和 SOA 记录，则 **Endpoints（终端节点）**列表显示 **No Targets Available（无可用目标）**。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法选择 **Record type（记录类型）**值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

# 简单记录的特定值
<a name="resource-record-sets-values-basic"></a>

创建简单记录时，请指定以下值。

**Topics**
+ [路由策略](#rrsets-values-basic-routing-policy)
+ [记录名称](#rrsets-values-basic-name)
+ [值/流量路由至](#rrsets-values-basic-value)
+ [记录类型](#rrsets-values-basic-type)
+ [TTL（秒）](#rrsets-values-basic-ttl)

## 路由策略
<a name="rrsets-values-basic-routing-policy"></a>

选择 **Simple routing（简单路由）**。

## 记录名称
<a name="rrsets-values-basic-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 值/流量路由至
<a name="rrsets-values-basic-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **NS – 名称服务器**

  名称服务器的域名，例如 **ns1.example.com**。
**注意**  
您只能使用简单的路由策略来指定 NS 记录。
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 记录类型
<a name="rrsets-values-basic-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

基于您希望 Route 53 响应 DNS 查询的方式选择 **Record type（记录类型）**的值。

## TTL（秒）
<a name="rrsets-values-basic-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

# 简单别名记录的特定值
<a name="resource-record-sets-values-alias"></a>

在创建别名记录时，请指定以下值。有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**注意**  
如果您在中使用的是 Route 53 AWS GovCloud (US) Region，则此功能有一些限制。有关更多信息，请参阅 *AWS GovCloud (US) 用户指南*中的 [Amazon Route 53 页面](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-r53.html)。

**Topics**
+ [路由策略](#rrsets-values-alias-routing-policy)
+ [记录名称](#rrsets-values-alias-name)
+ [值/流量路由至](#rrsets-values-alias-alias-target)
+ [记录类型](#rrsets-values-alias-type)
+ [评估目标运行状况](#rrsets-values-alias-evaluate-target-health)

## 路由策略
<a name="rrsets-values-alias-routing-policy"></a>

选择 **Simple routing（简单路由）**。

## 记录名称
<a name="rrsets-values-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)。

## 值/流量路由至
<a name="rrsets-values-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以定位哪些 AWS 资源的信息，请参阅流[向的 value/route 流量别名记录的常用值](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## 记录类型
<a name="rrsets-values-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

## 评估目标运行状况
<a name="rrsets-values-alias-evaluate-target-health"></a>

当**路由策略**的值为**简单**时，您可以选择**否**或默认的**是**，因为**评估目标运行状况**对**简单**路由没有影响。如果您只有一个具有给定名称和类型的记录，Route 53 将使用该记录中的值响应 DNS 查询，无论资源运行状况是否良好。

对于其他路由策略，**评估目标运行状况**可确定 Route 53 是否检查别名记录所指资源的运行状况：
+ **评估目标运行状况可带来运营优势的服务**：对于负载均衡器（ELB）和带有负载均衡器的 AWS Elastic Beanstalk 环境，将**评估目标运行状况**设置为**是**可让 Route 53 将流量路由出运行状况不佳的资源。
+ **高可用性服务**：对于 Amazon S3 存储桶、VPC 接口终端节点、Amazon API Gateway AWS Global Accelerator、Amazon S OpenSearch ervice 和 Amazon VPC Lattice 等服务，**评估目标运行状况**不会带来任何运营优势，因为这些服务专为高可用性而设计。对于这些服务的失效转移场景，请改用 [Route 53 运行状况检查](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)。

有关 Evaluate tar **get Heal** th 如何与不同 AWS 服务配合使用的详细信息，请参阅 API 参考中的[ EvaluateTargetHealth](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth)文档。

# 故障转移记录的特定值
<a name="resource-record-sets-values-failover"></a>

在创建故障转移记录时，请指定以下值。

**注意**  
有关在私有托管区域中创建故障转移记录的更多信息，请参阅[在私有托管区域中配置故障转移](dns-failover-private-hosted-zones.md)。

**Topics**
+ [路由策略](#rrsets-values-failover-routing-policy)
+ [记录名称](#rrsets-values-failover-name)
+ [记录类型](#rrsets-values-failover-type)
+ [TTL（秒）](#rrsets-values-failover-ttl)
+ [值/流量路由至](#rrsets-values-failover-value)
+ [故障转移记录类型](#rrsets-values-failover-record-type)
+ [健康检查](#rrsets-values-failover-associate-with-health-check)
+ [记录 ID](#rrsets-values-failover-set-id)

## 路由策略
<a name="rrsets-values-failover-routing-policy"></a>

选择 **Failover（故障转移）**。

## 记录名称
<a name="rrsets-values-failover-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为故障转移记录组中的两个记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-failover-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

为主辅故障转移记录选择相同的值。

## TTL（秒）
<a name="rrsets-values-failover-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

## 值/流量路由至
<a name="rrsets-values-failover-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 故障转移记录类型
<a name="rrsets-values-failover-record-type"></a>

为此记录选择适用的值。为正常进行故障转移，您必须创建一主一辅的故障转移记录。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与故障转移记录相同的非故障转移记录。

## 健康检查
<a name="rrsets-values-failover-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain Name (域名)** 的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain Name (域名)** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 记录 ID
<a name="rrsets-values-failover-set-id"></a>

输入唯一标识主和辅助记录的值。

# 故障转移别名记录的特定值
<a name="resource-record-sets-values-failover-alias"></a>

在创建故障转移别名记录时，请指定以下值。

有关更多信息，请参阅以下主题：
+ 有关在私有托管区域中创建故障转移记录的更多信息，请参阅[在私有托管区域中配置故障转移](dns-failover-private-hosted-zones.md)。
+ 有关别名记录的更多信息，请参阅[在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-failover-alias-routing-policy)
+ [记录名称](#rrsets-values-failover-alias-name)
+ [记录类型](#rrsets-values-failover-alias-type)
+ [值/流量路由至](#rrsets-values-failover-alias-alias-target)
+ [故障转移记录类型](#rrsets-values-failover-alias-failover-record-type)
+ [健康检查](#rrsets-values-failover-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-failover-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-failover-alias-set-id)

## 路由策略
<a name="rrsets-values-failover-alias-routing-policy"></a>

选择 **Failover（故障转移）**。

## 记录名称
<a name="rrsets-values-failover-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为故障转移记录组中的两个记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)。

## 记录类型
<a name="rrsets-values-failover-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值。为主辅故障转移记录选择相同的值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

## 值/流量路由至
<a name="rrsets-values-failover-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以定位哪些 AWS 资源的信息，请参阅流[向的 value/route 流量别名记录的常用值](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

**注意**  
创建主和辅助故障转移记录时，您可以选择创建一个故障转移和一个故障转移*别名*记录，它们具有相同的 **Name（名称）**和 **Record type（记录类型）**值。如果您混合使用故障转移和故障转移别名记录，则其中任意一个记录集都可以作为主记录。

## 故障转移记录类型
<a name="rrsets-values-failover-alias-failover-record-type"></a>

为此记录选择适用的值。为正常进行故障转移，您必须创建一主一辅的故障转移记录。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与故障转移记录相同的非故障转移记录。

## 健康检查
<a name="rrsets-values-failover-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain Name (域名)** 的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain Name (域名)** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 评估目标运行状况
<a name="rrsets-values-failover-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 **Endpoint（终端节点）**中指定 Elastic Beanstalk 环境，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。（如果一个环境包含多个 Amazon EC2 实例，则它会自动包含一个 ELB 负载均衡器。） 如果您将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 Amazon EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它正常运行的可用资源（如果有）。  
如果该环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** - 如果您在 **Endpoint（终端节点）**中指定 ELB 经典负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。如果将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使应用程序负载均衡器或网络负载均衡器被认为是正常运行的，包含目标的目标组必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您向 ELB 负载均衡器注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-failover-alias-set-id"></a>

输入唯一标识主和辅助记录的值。

# 地理位置记录的特定值
<a name="resource-record-sets-values-geo"></a>

在创建地理位置记录时，请指定以下值。

**Topics**
+ [路由策略](#rrsets-values-geo-routing-policy)
+ [记录名称](#rrsets-values-geo-name)
+ [记录类型](#rrsets-values-geo-type)
+ [TTL（秒）](#rrsets-values-geo-ttl)
+ [值/流量路由至](#rrsets-values-geo-value)
+ [位置](#rrsets-values-geo-location)
+ [美国各州](#rrsets-values-geo-sublocation)
+ [健康检查](#rrsets-values-geo-associate-with-health-check)
+ [记录 ID](#rrsets-values-geo-set-id)

## 路由策略
<a name="rrsets-values-geo-routing-policy"></a>

选择 **Geolocation（地理位置）**。

## 记录名称
<a name="rrsets-values-geo-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

为地理位置记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-geo-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

为地理位置记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-geo-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

## 值/流量路由至
<a name="rrsets-values-geo-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 位置
<a name="rrsets-values-geo-location"></a>

在您配置 Route 53 根据查询发起位置响应 DNS 查询时，请选择您希望 Route 53 使用此记录中的设置来响应的大洲或国家/地区。如果您希望 Route 53 响应美国各个州的 DNS 查询，请从 **Location（位置）**列表中选择 **United States（美国）**，然后选择 **Sublocation（子位置）**下的州。

对于私有托管区域，请选择最接近您的资源所在的大洲、国家或分区。 AWS 区域 例如，如果您的资源位于 us-east-1，则可以指定北美洲、美国或弗吉尼亚州。

**重要**  
建议您创建一个 **Location（位置）**值为 **Default（默认）**的地理位置记录。这涵盖您尚未创建记录的地理位置以及 Route 53 无法确定其位置的 IP 地址。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与地理位置记录相同的非地理位置记录。

有关更多信息，请参阅 [地理位置路由](routing-policy-geo.md)。

以下是 Amazon Route 53 将与每个大陆关联的国家/地区。国家/地区代码来自 ISO 3166。有关更多信息，请参阅 Wikipedia 文章 [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)：

**非洲 (AF)**  
AO、BF、BI、BJ、BW、CD、CF、CG、CI、CM、CV、DJ、DZ、EG、ER、ET、GA、GH、GM、GN、GQ、GW、KE、KM、LR、LS、LY、MA、MG、ML、MR、MU、MW、MZ、NA、NE、NG、RE、RW、SC、SD、SH、SL、SN、SO、SS、ST、SZ、TD、TG、TN、TZ、UG、YT、ZA、ZM、ZW

**南极洲 (AN)**  
AQ、GS、TF

**亚洲 (AS)**  
AE、AF、AM、AZ、BD、BH、BN、BT、CC、CN、GE、HK、ID、IL、IN、IO、IQ、IR、JO、JP、KG、KH、KP、KR、KW、KZ、LA、LB、LK、MM、MN、MO、MV、MY、NP、OM、PH、PK、PS、QA、SA、SG、SY、TH、TJ、TM、TW、UZ、VN、YE

**欧洲（EU）**  
AD、AL、AT、AX、BA、BE、BG、BY、CH、CY、CZ、DE、DK、EE、ES、FI、FO、FR、GB、GG、GI、GR、HR、HU、IE、IM、IS、IT、JE、LI、LT、LU、LV、MC、MD、ME、MK、MT、NL、NO、PL、PT、RO、RS、RU、SE、SI、SJ、SK、SM、TR、UA、VA、XK  
一些提供商认为 TR 在亚洲，IP 地址将反映出这一点。

**北美洲 (NA)**  
AG、AI、AW、BB、BL、BM、BQ、BS、BZ、CA、CR、CU、CW、DM、DO、GD、GL、GP、GT、HN、HT、JM、KN、KY、LC、MF、MQ、MS、MX、NI、PA、PM、PR、SV、SX、TC、TT、US、VC、VG、VI

**大洋洲 (OC)**  
AS、AU、CK、FJ、FM、GU、KI、MH、MP、NC、NF、NR、NU、NZ、PF、PG、PN、PW、SB、TK、TL、TO、TV、UM、VU、WF、WS

**南美洲 (SA)**  
AR、BO、BR、CL、CO、EC、FK、GF、GY、PE、PY、SR、UY、VE

**注意**  
Route 53 不支持为以下国家/地区创建地理位置记录：布维岛 (BV)、圣诞岛 (CX)、西撒哈拉 (EH) 和赫德岛和群岛 (HM)。 McDonald 没有关于这些国家/地区的 IP 地址的数据。

## 美国各州
<a name="rrsets-values-geo-sublocation"></a>

当您将 Route 53 配置为根据作为查询发起地的美国州来响应 DNS 查询时，请从 **U.S. states（美国各州）**列表中选择该州。美国领地（例如波多黎各）作为 **Location (位置)** 列表中的国家/地区列出。

**重要**  
一些 IP 地址与美国关联，但是不属于单独的州。如果您为美国的所有州创建记录，我们建议您也为美国创建一个记录，以为这些无关联的 IP 地址路由查询。如果不为美国创建记录，Route 53 将使用默认地理位置记录（如果您创建了默认记录）的设置来响应来自无关联美国 IP 地址的 DNS 查询，或者提供“无应答”响应。

## 健康检查
<a name="rrsets-values-geo-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain Name (域名)** 的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain Name (域名)** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

对于地理位置记录，如果某个终端节点的运行状况不佳，Route 53 将在记录中查找更大的关联地理区域。例如，假设您对于美国某个州、美国、北美和所有位置（**Location (位置)** 为 **Default (默认)**）都有对应的记录。如果该州记录的终端节点运行状况不佳，Route 53 将依次检查美国、北美和所有位置的记录，直到它找到具有正常终端节点的记录。如果所有适用的记录均不正常（包括所有位置的记录），则 Route 53 将使用最小地理区域的记录的值响应 DNS 查询。

## 记录 ID
<a name="rrsets-values-geo-set-id"></a>

输入在地理位置记录组中唯一标识此记录的值。

# 地理位置别名记录的特定值
<a name="resource-record-sets-values-geo-alias"></a>

在创建地理位置别名记录时，请指定以下值。

有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-geo-alias-routing-policy)
+ [记录名称](#rrsets-values-geo-alias-name)
+ [记录类型](#rrsets-values-geo-alias-type)
+ [值/流量路由至](#rrsets-values-geo-alias-alias-target)
+ [位置](#rrsets-values-geo-alias-location)
+ [美国各州](#rrsets-values-geo-alias-sublocation)
+ [健康检查](#rrsets-values-geo-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-geo-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-geo-alias-set-id)

## 路由策略
<a name="rrsets-values-geo-alias-routing-policy"></a>

选择 **Geolocation（地理位置）**。

## 记录名称
<a name="rrsets-values-geo-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为地理位置记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)。

## 记录类型
<a name="rrsets-values-geo-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值。为地理位置记录组中的所有记录选择相同值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

## 值/流量路由至
<a name="rrsets-values-geo-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以瞄准哪些 AWS 资源的信息，请参阅[值/流量路由至](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## 位置
<a name="rrsets-values-geo-alias-location"></a>

在您配置 Route 53 根据查询发起位置响应 DNS 查询时，请选择您希望 Route 53 使用此记录中的设置来响应的大洲或国家/地区。如果您希望 Route 53 响应美国各个州的 DNS 查询，请从 **Location（位置）**列表中选择 **United States（美国）**，然后从 **Sublocation（子位置）**列表中选择州。

对于私有托管区域，请选择最接近您的资源所在的大洲、国家或分区。 AWS 区域 例如，如果您的资源位于 us-east-1，则可以指定北美洲、美国或弗吉尼亚州。

**重要**  
建议您创建一个 **Location（位置）**值为 **Default（默认）**的地理位置记录。这涵盖您尚未创建记录的地理位置以及 Route 53 无法确定其位置的 IP 地址。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与地理位置记录相同的非地理位置记录。

有关更多信息，请参阅 [地理位置路由](routing-policy-geo.md)。

以下是 Amazon Route 53 将与每个大陆关联的国家/地区。国家/地区代码来自 ISO 3166。有关更多信息，请参阅 Wikipedia 文章 [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)：

**非洲 (AF)**  
AO、BF、BI、BJ、BW、CD、CF、CG、CI、CM、CV、DJ、DZ、EG、ER、ET、GA、GH、GM、GN、GQ、GW、KE、KM、LR、LS、LY、MA、MG、ML、MR、MU、MW、MZ、NA、NE、NG、RE、RW、SC、SD、SH、SL、SN、SO、SS、ST、SZ、TD、TG、TN、TZ、UG、YT、ZA、ZM、ZW

**南极洲 (AN)**  
AQ、GS、TF

**亚洲 (AS)**  
AE、AF、AM、AZ、BD、BH、BN、BT、CC、CN、GE、HK、ID、IL、IN、IO、IQ、IR、JO、JP、KG、KH、KP、KR、KW、KZ、LA、LB、LK、MM、MN、MO、MV、MY、NP、OM、PH、PK、PS、QA、SA、SG、SY、TH、TJ、TM、TW、UZ、VN、YE

**欧洲（EU）**  
AD、AL、AT、AX、BA、BE、BG、BY、CH、CY、CZ、DE、DK、EE、ES、FI、FO、FR、GB、GG、GI、GR、HR、HU、IE、IM、IS、IT、JE、LI、LT、LU、LV、MC、MD、ME、MK、MT、NL、NO、PL、PT、RO、RS、RU、SE、SI、SJ、SK、SM、TR、UA、VA、XK  
一些提供商认为 TR 在亚洲，IP 地址将反映出这一点。

**北美洲 (NA)**  
AG、AI、AW、BB、BL、BM、BQ、BS、BZ、CA、CR、CU、CW、DM、DO、GD、GL、GP、GT、HN、HT、JM、KN、KY、LC、MF、MQ、MS、MX、NI、PA、PM、PR、SV、SX、TC、TT、US、VC、VG、VI

**大洋洲 (OC)**  
AS、AU、CK、FJ、FM、GU、KI、MH、MP、NC、NF、NR、NU、NZ、PF、PG、PN、PW、SB、TK、TL、TO、TV、UM、VU、WF、WS

**南美洲 (SA)**  
AR、BO、BR、CL、CO、EC、FK、GF、GY、PE、PY、SR、UY、VE

**注意**  
Route 53 不支持为以下国家/地区创建地理位置记录：布维岛 (BV)、圣诞岛 (CX)、西撒哈拉 (EH) 和赫德岛和群岛 (HM)。 McDonald 没有关于这些国家/地区的 IP 地址的数据。

## 美国各州
<a name="rrsets-values-geo-alias-sublocation"></a>

当您将 Route 53 配置为根据作为查询发起地的美国州来响应 DNS 查询时，请从 **U.S. states（美国各州）**列表中选择该州。美国领地（例如波多黎各）作为 **Location (位置)** 列表中的国家/地区列出。

**重要**  
一些 IP 地址与美国关联，但是不属于单独的州。如果您为美国的所有州创建记录，我们建议您也为美国创建一个记录，以为这些无关联的 IP 地址路由查询。如果不为美国创建记录，Route 53 将使用默认地理位置记录（如果您创建了默认记录）的设置来响应来自无关联美国 IP 地址的 DNS 查询，或者提供“无应答”响应。

## 健康检查
<a name="rrsets-values-geo-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

对于地理位置记录，如果某个终端节点的运行状况不佳，Route 53 将在记录中查找更大的关联地理区域。例如，假设您对于美国某个州、美国、北美和所有位置（**Location (位置)** 为 **Default (默认)**）都有对应的记录。如果该州记录的终端节点运行状况不佳，Route 53 将依次检查美国、北美和所有位置的记录，直到它找到具有正常终端节点的记录。如果所有适用的记录均不正常（包括所有位置的记录），则 Route 53 将使用最小地理区域的记录的值响应 DNS 查询。

## 评估目标运行状况
<a name="rrsets-values-geo-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health**（评估目标运行状况）设置为 **Yes**（是）没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 **Endpoint（终端节点）**中指定 Elastic Beanstalk 环境，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。（如果一个环境包含多个 Amazon EC2 实例，则它会自动包含一个 ELB 负载均衡器。） 如果您将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 Amazon EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它正常运行的可用资源（如果有）。  
如果该环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** - 如果您在 **Endpoint（终端节点）**中指定 ELB 经典负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。如果将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使 Application Load Balancer 或 Network Load Balancer 被认为是正常运行的，包含目标的每个目标组都必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您向 ELB 负载均衡器注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-geo-alias-set-id"></a>

输入在地理位置记录组中唯一标识此记录的值。

# 地理位置临近度记录的特定值
<a name="resource-record-sets-values-geoprox"></a>

在创建地理位置临近度记录时，请指定以下值。

**Topics**
+ [路由策略](#rrsets-values-geoprox-routing-policy)
+ [记录名称](#rrsets-values-geoprox-name)
+ [记录类型](#rrsets-values-geoprox-type)
+ [TTL（秒）](#rrsets-values-geoprox-ttl)
+ [值/流量路由至](#rrsets-values-geoprox-value)
+ [终端节点位置](#rrsets-values-geoprox-endpoint-location)
+ [偏差](#rrsets-values-geoprox-bias)
+ [健康检查](#rrsets-values-geoprox-associate-with-health-check)
+ [记录 ID](#rrsets-values-geoprox-set-id)

## 路由策略
<a name="rrsets-values-geoprox-routing-policy"></a>

选择**地理位置临近度**。

## 记录名称
<a name="rrsets-values-geoprox-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

为地理位置临近度记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-geoprox-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

为地理位置临近度记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-geoprox-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

## 值/流量路由至
<a name="rrsets-values-geoprox-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 终端节点位置
<a name="rrsets-values-geoprox-endpoint-location"></a>

您可以使用以下方法之一指定资源端点位置：

**自定义坐标**  
指定某个地理区域的经度和纬度。

**AWS 区域**  
从**位置**列表中选择可用区域。  
有关区域的更多信息，请参见 [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。

**AWS 本地区域组**  
从**位置**列表中选择一个可用的 Local Zone 组。  
有关 Local Zones 的更多信息，请参阅*《AWS Local Zones 用户指南》*中的[可用 Local Zones](https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html)。Local Zone 组通常是指没有结尾字符的 Local Zone 区域。例如，如果 Local Zone 为 `us-east-1-bue-1a`，则 Local Zone 组为 `us-east-1-bue-1`。

您还可以使用 [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html)CLI 命令识别特定本地区域的 Local Zones 组：

```
aws ec2 describe-availability-zones --region us-west-2 --all-availability-zones --query "AvailabilityZones[?ZoneName=='us-west-2-den-1a']" | grep "GroupName"
```

此命令返回：`"GroupName": "us-west-2-den-1"`，指定 Local Zone `us-west-2-den-1a` 属于 Local Zone 组 `us-west-2-den-1`。

您不能创建**记录名称**和**记录类型**的值与地理位置临近度记录相同的非地理位置临近度记录。

您也不能创建两个为相同记录名称和记录类型指定相同位置的地理位置临近度资源记录集。

## 偏差
<a name="rrsets-values-geoprox-bias"></a>

偏差可以增大或减小 Route 53 路由到某个资源的流量所来自的地理区域。正偏差会扩大区域，负偏差会缩小区域。有关更多信息，请参阅 [Amazon Route 53 如何使用偏差来路由流量](routing-policy-geoproximity.md#routing-policy-geoproximity-bias)。

## 健康检查
<a name="rrsets-values-geoprox-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、地理位置临近度别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在**评估目标运行状况**下选择**是**。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain Name (域名)** 的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain Name (域名)** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

对于地理位置临近度记录，如果某个端点的运行状况不佳，Route 53 会查找运行状况仍然良好的最近端点。

## 记录 ID
<a name="rrsets-values-geoprox-set-id"></a>

输入在地理位置临近度记录组中唯一标识此记录的值。

# 地理位置临近度别名记录的特定值
<a name="resource-record-sets-values-geoprox-alias"></a>

在创建地理位置临近度别名记录时，请指定以下值。

有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-geoprox-alias-routing-policy)
+ [记录名称](#rrsets-values-geoprox-alias-name)
+ [记录类型](#rrsets-values-geoprox-alias-type)
+ [值/流量路由至](#rrsets-values-geoprox-alias-alias-target)
+ [终端节点位置](#rrsets-values-geoprox-alias-endpoint-location)
+ [偏差](#rrsets-values-geoprox-alias-bias)
+ [健康检查](#rrsets-values-geoprox-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-geoprox-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-geoprox-alias-set-id)

## 路由策略
<a name="rrsets-values-geoprox-alias-routing-policy"></a>

选择**地理位置临近度**。

## 记录名称
<a name="rrsets-values-geoprox-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为地理位置临近度记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)。

## 记录类型
<a name="rrsets-values-geoprox-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值。为地理位置临近度记录组中的所有记录选择相同值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

## 值/流量路由至
<a name="rrsets-values-geoprox-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以瞄准哪些 AWS 资源的信息，请参阅[值/流量路由至](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## 终端节点位置
<a name="rrsets-values-geoprox-alias-endpoint-location"></a>

您可以使用以下方法之一指定资源端点位置：

**自定义坐标**  
指定某个地理区域的经度和纬度。

**AWS 区域**  
从**位置**列表中选择可用区域。  
有关区域的更多信息，请参见 [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。

**AWS 本地区域组**  
从**位置**列表中选择一个可用的 Local Zone 区域。  
有关 Local Zones 的更多信息，请参阅*《AWS Local Zones 用户指南》*中的[可用 Local Zones](https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html)。Local Zone 组通常是指没有结尾字符的 Local Zone 区域。例如，如果 Local Zone 为 `us-east-1-bue-1a`，则 Local Zone 组为 `us-east-1-bue-1`。

您还可以使用 [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html)CLI 命令识别特定本地区域的 Local Zones 组：

```
aws ec2 describe-availability-zones --region us-west-2 --all-availability-zones --query "AvailabilityZones[?ZoneName=='us-west-2-den-1a']" | grep "GroupName"
```

此命令返回：`"GroupName": "us-west-2-den-1"`，指定 Local Zone `us-west-2-den-1a` 属于 Local Zone 组 `us-west-2-den-1`。

您不能创建**记录名称**和**记录类型**的值与地理位置临近度记录相同的非地理位置临近度记录。

您也不能创建两个为相同记录名称和记录类型指定相同位置的地理位置临近度资源记录集。

有关更多信息，请参阅 available-local-zones .html

## 偏差
<a name="rrsets-values-geoprox-alias-bias"></a>

偏差可以增大或减小 Route 53 路由到某个资源的流量所来自的地理区域。正偏差会扩大区域，负偏差会缩小区域。有关更多信息，请参阅 [Amazon Route 53 如何使用偏差来路由流量](routing-policy-geoproximity.md#routing-policy-geoproximity-bias)。

## 健康检查
<a name="rrsets-values-geoprox-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、地理位置临近度别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在**评估目标运行状况**下选择**是**。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

对于地理位置临近度记录，如果某个端点的运行状况不佳，Route 53 会查找运行状况仍然良好的最近端点。

## 评估目标运行状况
<a name="rrsets-values-geoprox-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health**（评估目标运行状况）设置为 **Yes**（是）没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 **Endpoint（终端节点）**中指定 Elastic Beanstalk 环境，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。（如果一个环境包含多个 Amazon EC2 实例，则它会自动包含一个 ELB 负载均衡器。） 如果您将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 Amazon EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它正常运行的可用资源（如果有）。  
如果该环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** - 如果您在 **Endpoint（终端节点）**中指定 ELB 经典负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。如果将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使 Application Load Balancer 或 Network Load Balancer 被认为是正常运行的，包含目标的每个目标组都必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您向 ELB 负载均衡器注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-geoprox-alias-set-id"></a>

输入在地理位置临近度记录组中唯一标识此记录的值。

# 延迟记录的特定值
<a name="resource-record-sets-values-latency"></a>

在创建延迟记录时，请指定以下值。

**Topics**
+ [路由策略](#rrsets-values-latency-routing-policy)
+ [记录名称](#rrsets-values-latency-name)
+ [记录类型](#rrsets-values-latency-type)
+ [TTL（秒）](#rrsets-values-latency-ttl)
+ [值/流量路由至](#rrsets-values-latency-value)
+ [Region](#rrsets-values-latency-region)
+ [健康检查](#rrsets-values-latency-associate-with-health-check)
+ [记录 ID](#rrsets-values-latency-set-id)

## 路由策略
<a name="rrsets-values-latency-routing-policy"></a>

选择 **Latency（延迟）**。

## 记录名称
<a name="rrsets-values-latency-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为延迟记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-latency-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

基于您希望 Route 53 响应 DNS 查询的方式选择 **Type（类型）**的值。

为延迟记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-latency-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

## 值/流量路由至
<a name="rrsets-values-latency-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## Region
<a name="rrsets-values-latency-region"></a>

您在此记录中指定的资源所在的 Amazon EC2 区域。Route 53 会根据您指定的其他值来提供 Amazon EC2 区域建议。这也适用于私有托管区。我们建议您不要更改此值。

注意以下几点：
+ 您只能为每个 Amazon EC2 区域创建一个延迟记录。
+ 您不必为所有 Amazon EC2 区域创建延迟记录。Route 53 会从您为其创建延迟记录的区域中选择延迟性能最佳的区域。
+ 您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与延迟记录相同的非延迟记录。
+ 如果您创建标记有区域 **cn-north-1** 的记录，则无论延迟如何，Route 53 始终都会使用此记录响应来自中国的查询。

有关使用延迟记录的更多信息，请参阅[基于延迟的路由](routing-policy-latency.md)。

## 健康检查
<a name="rrsets-values-latency-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 记录 ID
<a name="rrsets-values-latency-set-id"></a>

输入在延迟记录组中唯一标识此记录的值。

# 延迟别名记录的特定值
<a name="resource-record-sets-values-latency-alias"></a>

在创建延迟别名记录时，请指定以下值。

有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-latency-alias-routing-policy)
+ [记录名称](#rrsets-values-latency-alias-name)
+ [记录类型](#rrsets-values-latency-alias-type)
+ [值/流量路由至](#rrsets-values-latency-alias-alias-target)
+ [Region](#rrsets-values-latency-alias-region)
+ [健康检查](#rrsets-values-latency-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-latency-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-latency-alias-set-id)

## 路由策略
<a name="rrsets-values-latency-alias-routing-policy"></a>

选择 **Latency（延迟）**。

## 记录名称
<a name="rrsets-values-latency-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为延迟记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)

## 记录类型
<a name="rrsets-values-latency-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

为延迟记录组中的所有记录选择相同值。

## 值/流量路由至
<a name="rrsets-values-latency-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以定位哪些 AWS 资源的信息，请参阅流[向的 value/route 流量别名记录的常用值](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## Region
<a name="rrsets-values-latency-alias-region"></a>

您在此记录中指定的资源所在的 Amazon EC2 区域。Route 53 会根据您指定的其他值来提供 Amazon EC2 区域建议。这也适用于私有托管区。我们建议您不要更改此值。

注意以下几点：
+ 您只能为每个 Amazon EC2 区域创建一个延迟记录。
+ 您不必为所有 Amazon EC2 区域创建延迟记录。Route 53 会从您为其创建延迟记录的区域中选择延迟性能最佳的区域。
+ 您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与延迟记录相同的非延迟记录。
+ 如果您创建标记有区域 **cn-north-1** 的记录，则无论延迟如何，Route 53 始终都会使用此记录响应来自中国的查询。

有关使用延迟记录的更多信息，请参阅[基于延迟的路由](routing-policy-latency.md)。

## 健康检查
<a name="rrsets-values-latency-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain Name (域名)** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 评估目标运行状况
<a name="rrsets-values-latency-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 **Endpoint（终端节点）**中指定 Elastic Beanstalk 环境，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。（如果一个环境包含多个 Amazon EC2 实例，则它会自动包含一个 ELB 负载均衡器。） 如果您将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 Amazon EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它正常运行的可用资源（如果有）。  
如果该环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** - 如果您在 **Endpoint（终端节点）**中指定 ELB 经典负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。如果将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使 Application Load Balancer 或 Network Load Balancer 被认为是正常运行的，包含目标的每个目标组都必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您向 ELB 负载均衡器注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-latency-alias-set-id"></a>

输入在延迟记录组中唯一标识此记录的值。

# 针对基于 IP 的记录的特定值
<a name="resource-record-sets-values-ipbased"></a>

在创建基于 IP 的记录时，请指定以下值。

**注意**  
虽然允许在私有托管区域中创建基于 IP 的记录，但不支持这样做。

**Topics**
+ [路由策略](#rrsets-values-ipbased-routing-policy)
+ [记录名称](#rrsets-values-ibased-name)
+ [记录类型](#rrsets-values-ibased-type)
+ [TTL（秒）](#rrsets-values-ibased-ttl)
+ [值/流量路由至](#rrsets-values-ibased-value)
+ [位置](#rrsets-values-ibased-location)
+ [运行状况检查](#rrsets-values-ibased-associate-with-health-check)
+ [记录 ID](#rrsets-values-ipbased-set-id)

## 路由策略
<a name="rrsets-values-ipbased-routing-policy"></a>

选择 **IP-based**（基于 IP）。

## 记录名称
<a name="rrsets-values-ibased-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为基于 IP 的记录组中的所有记录输入相同名称。

**CNAME 记录**  
如果您要创建 **Record type（记录类型）**值为 **CNAME** 的记录，则该记录的名称不能与托管区域的名称相同。

**特殊字符**  
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

**通配符**  
您可以在名称中使用星号 (\$1) 字符。DNS 会根据 \$1 字符出现在名称中的位置将它作为通配符或作为 \$1 字符 (ASCII 42) 来处理。有关更多信息，请参阅 [在托管区域和记录的名称中使用星号 (\$1)](DomainNameFormat.md#domain-name-format-asterisk)。

## 记录类型
<a name="rrsets-values-ibased-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

基于您希望 Route 53 响应 DNS 查询的方式选择 **Type（类型）**的值。

为基于 IP 的记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-ibased-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

## 值/流量路由至
<a name="rrsets-values-ibased-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A - IPv4 地址**
+ **AAAA - IPv6 地址**
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅 [值/流量路由至](resource-record-sets-values-shared.md#rrsets-values-common-value)[“值/流量路由至”的通用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 位置
<a name="rrsets-values-ibased-location"></a>

您在此记录中指定的资源所在的 CIDR 位置的名称，由 CIDR 位置内的 CIDR 块值指定。

有关使用基于 IP 的记录的更多信息，请参阅 [基于 IP 的路由](routing-policy-ipbased.md)。

## 运行状况检查
<a name="rrsets-values-ibased-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您将检查一组具有相同的名称、类型和路由策略（例如故障转移或加权记录）的记录中所有记录的运行状况，并指定所有记录的运行状况检查 ID。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、基于 IP 的别名、延迟别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 记录 ID
<a name="rrsets-values-ipbased-set-id"></a>

输入在基于 IP 的记录组中唯一标识此记录的值。

# 基于 IP 的别名记录的特定值
<a name="resource-record-sets-values-ipbased-alias"></a>

在创建基于 IP 的别名记录时，请指定以下值。

**注意**  
虽然允许在私有托管区域创建基于 IP 的别名记录，但不支持这样做。

有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-ipbased-alias-routing-policy)
+ [记录名称](#rrsets-values-ipbased-alias-name)
+ [记录类型](#rrsets-values-ipbased-alias-type)
+ [值/流量路由至](#rrsets-values-ipbased-alias-alias-target)
+ [位置](#rrsets-values-ipbased-alias-location)
+ [健康检查](#rrsets-values-ipbased-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-ipbased-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-ipbased-alias-set-id)

## 路由策略
<a name="rrsets-values-ipbased-alias-routing-policy"></a>

选择 **IP-based**（基于 IP）。

**注意**  
虽然允许在私有托管区域创建基于 IP 的别名记录，但不支持这样做。

## 记录名称
<a name="rrsets-values-ipbased-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为基于 IP 的记录组中的所有记录输入相同名称。

**CNAME 记录**  
如果您要创建 **Record type（记录类型）**值为 **CNAME** 的记录，则该记录的名称不能与托管区域的名称相同。

** CloudFront 分配和 Amazon S3 存储桶的别名**  
您指定的值在一定程度上取决于您要将流量路由到的 AWS 资源：  
+ **CloudFront 分发**-您的分配必须包含与记录名称相匹配的备用域名。例如，如果记录的名称为 **acme.example.com**，您的 CloudFront 分配必须包含 **acme.example.com**，以作为备用域名之一。有关更多信息，请参阅《*亚马逊 CloudFront 开发者指南》*中的[使用备用域名 (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html)。
+ **Amazon S3 存储桶** - 记录的名称必须与您的 Amazon S3 存储桶的名称匹配。例如，如果您的存储桶的名称是 **acme.example.com**，则此记录的名称也必须是 **acme.example.com**。

  此外，您还必须配置该存储桶以用于网站托管。有关更多信息，请参阅 *Amazon Simple Storage Service 用户指南*中的[为网站托管配置存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HowDoIWebsiteConfiguration.html)。

**特殊字符**  
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息，请参阅[DNS 域名格式](DomainNameFormat.md)。

**通配符**  
您可以在名称中使用星号 (\$1) 字符。DNS 会根据 \$1 字符出现在名称中的位置将它作为通配符或作为 \$1 字符 (ASCII 42) 来处理。有关更多信息，请参阅 [在托管区域和记录的名称中使用星号 (\$1)](DomainNameFormat.md#domain-name-format-asterisk)。

## 记录类型
<a name="rrsets-values-ipbased-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值。为基于 IP 的记录组中的所有记录选择相同值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

## 值/流量路由至
<a name="rrsets-values-ipbased-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以定位哪些 AWS 资源的信息，请参阅流[向的 value/route 流量别名记录的常用值](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## 位置
<a name="rrsets-values-ipbased-alias-location"></a>

在您配置 Route 53 根据查询发起位置响应 DNS 查询时，请选择您希望 Route 53 使用此记录中的设置来响应的 CIDR 位置。

**重要**  
建议您创建一个 **Location**（位置）值为 **Default**（默认）的基于 IP 的记录。此纪录涵盖您尚未创建记录的位置以及 Route 53 无法确定其位置的 IP 地址。

您不能创建与基于 IP 的 non-IP-based记录具有相同的 “**记录名称**” 和 “**记录类型”** 值的记录。

有关更多信息，请参阅 [基于 IP 的路由](routing-policy-ipbased.md)。

## 健康检查
<a name="rrsets-values-ipbased-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、基于 IP 的路由别名、延迟别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

对于基于 IP 的别名记录，如果某个端点的运行状况不佳，Route 53 将在更大的关联位置中查找记录。例如，假设您对于美国某个州、美国、北美和所有位置（**Location (位置)** 为 **Default (默认)**）都有对应的记录。如果该州记录的终端节点运行状况不佳，Route 53 将依次检查美国、北美和所有位置的记录，直到它找到具有正常终端节点的记录。如果所有适用的记录均不正常（包括所有位置的记录），则 Route 53 将使用最小地理区域的记录的值响应 DNS 查询。

## 评估目标运行状况
<a name="rrsets-values-ipbased-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 Endpoint 中指定了 Elastic Beanstalk **环境**，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到在负载均衡器中注册的运行状况良好的 EC2 亚马逊实例。（如果环境包含多个 Amazon EC2 实例，则该环境会自动包含一个 ELB 负载均衡器。） 如果您将 “**评估目标运行状况**” 设置为 “**是**”，并且没有一个 Amazon EC2 实例运行状况良好，或者负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其他运行状况良好的可用资源（如果有）。  
如果环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** — 如果您在 Endpoin **t** 中指定 ELB Classic 负载均衡器，则 Elastic Load Balancing 仅将查询路由到在负载均衡器中注册的运行状况良好的亚马逊 EC2 实例。如果您将 “**评估目标运行状况**” 设置为 **“是**”，并且没有 EC2 实例运行状况良好，或者负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其他资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使 Application Load Balancer 或 Network Load Balancer 被认为是正常运行的，包含目标的每个目标组都必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您在 ELB 负载均衡器中注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-ipbased-alias-set-id"></a>

输入在基于 IP 的记录组中唯一标识此记录的值。

# 多值应答记录的特定值
<a name="resource-record-sets-values-multivalue"></a>

在创建多值应答记录时，请指定以下值。

**注意**  
不支持创建多值应答别名记录。

**Topics**
+ [路由策略](#rrsets-values-multivalue-routing-policy)
+ [记录名称](#rrsets-values-multivalue-name)
+ [记录类型](#rrsets-values-multivalue-type)
+ [TTL（秒）](#rrsets-values-multivalue-ttl)
+ [值/流量路由至](#rrsets-values-multivalue-value)
+ [健康检查](#rrsets-values-multivalue-associate-with-health-check)
+ [记录 ID](#rrsets-values-multivalue-set-identifier)

## 路由策略
<a name="rrsets-values-multivalue-routing-policy"></a>

选择 **Multivalue answer（多值应答）**。

## 记录名称
<a name="rrsets-values-multivalue-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为多值记录组中的所有记录输入相同的名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-multivalue-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

选择 **NS** 和 **CNAME** 之外的任何值。

为多值应答记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-multivalue-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

**注意**  
如果您创建两个或更多具有相同名称和类型的多值应答记录，您正在使用控制台，并且您为 **TTL** 指定了不同的值，则 Route 53 会将所有记录的 **TTL** 值更改为您上次指定的值。

## 值/流量路由至
<a name="rrsets-values-multivalue-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。如果输入多个值，请将每个值放在单独的行中。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 健康检查
<a name="rrsets-values-multivalue-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于故障转移别名、地理位置别名、延迟别名或加权别名记录组中的一个或多个别名记录，为 **Evaluate target health（评估目标运行状况）**选择 **Yes（是）**。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 记录 ID
<a name="rrsets-values-multivalue-set-identifier"></a>

输入在多值应答记录组中唯一标识此记录的值。

# 加权记录的特定值
<a name="resource-record-sets-values-weighted"></a>

在创建加权记录时，请指定以下值。

**Topics**
+ [路由策略](#rrsets-values-weighted-routing-policy)
+ [记录名称](#rrsets-values-weighted-name)
+ [记录类型](#rrsets-values-weighted-type)
+ [TTL（秒）](#rrsets-values-weighted-ttl)
+ [值/流量路由至](#rrsets-values-weighted-value)
+ [重量](#rrsets-values-weighted-weight)
+ [健康检查](#rrsets-values-weighted-associate-with-health-check)
+ [记录 ID](#rrsets-values-weighted-set-identifier)

## 路由策略
<a name="rrsets-values-weighted-routing-policy"></a>

选择 **Weighted (加权)**。

## 记录名称
<a name="rrsets-values-weighted-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Record name（记录名称）**字段中输入值（例如 @ 符号）。

为加权记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-shared.md#rrsets-values-common-name)。

## 记录类型
<a name="rrsets-values-weighted-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

为加权记录组中的所有记录选择相同值。

## TTL（秒）
<a name="rrsets-values-weighted-ttl"></a>

您希望 DNS 递归解析器缓存有关此记录的信息的时间长度 (以秒为单位)。如果您指定较长的值（例如，172800 秒，即 2 天），则可以减少 DNS 递归解析程序为获取此记录中的最新信息而必须对 Route 53 发出的调用数。这可以缩短延迟并减少您的 Route 53 服务账单费用。有关更多信息，请参阅 [Amazon Route 53 如何为您的域路由流量](welcome-dns-service.md#welcome-dns-service-how-route-53-routes-traffic)。

但是，如果您为 TTL 指定了较长的值，对记录所做的更改（例如，新的 IP 地址）需要更长时间才能生效，因为递归解析程序在向 Route 53 请求最新信息之前，会在更长时间内使用其缓存中的值。如果您更改了已在使用的域或子域的设置，我们建议您在一开始指定较短的值，例如 300 秒，在确认新设置正确后再增加该值。

如果您将此记录与运行状况检查关联，我们建议您指定 60 秒或更短的 TTL，以便让客户端快速响应运行状况的变化。

您必须为此加权记录组中的所有记录指定相同的 **TTL** 值。

**注意**  
如果您创建两个或更多具有相同名称和类型的加权记录，并且您为 **TTL** 指定不同的值，则 Route 53 会将所有记录的 **TTL** 值更改为您上次指定的值。

如果一组加权记录包含将流量路由至一个 ELB 负载均衡器的一个或多个加权别名记录，建议您为具有相同名称和类型的所有非别名加权记录指定 60 秒的 TTL。将 TTL 设置为 60 秒（负载均衡器的 TTL）之外的值将改变您为 **Weight (权重)** 指定的值的效果。

## 值/流量路由至
<a name="rrsets-values-weighted-value"></a>

选择 **IP address or another value depending on the record type（根据记录类型选择 IP 地址或其它值）**。为 **Record type（记录类型）**输入合适的值。对于除 **CNAME** 之外的所有类型，都可输入多个值。在单独的行中输入每个值。

您可以将流量路由到或指定以下值：
+ **A — IPv4 地址**
+ **AAAA — 地址 IPv6 **
+ **CAA - 证书颁发机构授权**
+ **CNAME - 规范名称**
+ **MX - 邮件交换**
+ **NAPTR - 名称权威指针**
+ **PTR - 指针**
+ **SPF - 发件人策略框架**
+ **SRV - 服务定位器**
+ **TXT - 文本**

有关上述值的更多信息，请参阅[ Value/Route 流量到的常用值](resource-record-sets-values-shared.md#rrsets-values-common-value)。

## 重量
<a name="rrsets-values-weighted-weight"></a>

确定 Route 53 使用当前记录响应的 DNS 查询的比例。Route 53 会计算具有相同 DNS 名称和类型组合的记录的权重之和。然后，Route 53 根据资源权重与总重量的比率来响应查询。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与加权记录相同的非加权记录。

输入 0 到 255 之间的整数。要禁止路由到某个资源，请将 **Weight (权重)** 设置为 0。如果将组中所有记录的 **Weight (权重)** 都设置为 0，则流量以相同的概率路由到所有资源。这将确保您不会无意中对一组加权记录禁用路由。

当您将运行状况检查与加权记录关联时，将 **Weight (权重)** 设置为 0 的效果是不同的。有关更多信息，请参阅 [Amazon Route 53 在已配置运行状况检查时如何选择记录Route 53 在已配置运行状况检查时如何选择记录](health-checks-how-route-53-chooses-records.md)。

## 健康检查
<a name="rrsets-values-weighted-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 记录 ID
<a name="rrsets-values-weighted-set-identifier"></a>

输入在加权记录组中唯一标识此记录的值。

# 加权别名记录的特定值
<a name="resource-record-sets-values-weighted-alias"></a>

在创建加权别名记录时，请指定以下值。有关更多信息，请参阅 [在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**Topics**
+ [路由策略](#rrsets-values-weighted-alias-routing-policy)
+ [记录名称](#rrsets-values-weighted-alias-name)
+ [记录类型](#rrsets-values-weighted-alias-type)
+ [值/流量路由至](#rrsets-values-weighted-alias-alias-target)
+ [重量](#rrsets-values-weighted-alias-weight)
+ [健康检查](#rrsets-values-weighted-alias-associate-with-health-check)
+ [评估目标运行状况](#rrsets-values-weighted-alias-evaluate-target-health)
+ [记录 ID](#rrsets-values-weighted-alias-set-identifier)

## 路由策略
<a name="rrsets-values-weighted-alias-routing-policy"></a>

选择 **Weighted（加权）**。

## 记录名称
<a name="rrsets-values-weighted-alias-name"></a>

输入您希望为其路由流量的域或子域的名称。默认值为托管区的名称。

**注意**  
如果您创建与托管区域同名的记录，则不要在 **Name (名称)** 字段中输入值（例如 @ 符号）。

为加权记录组中的所有记录输入相同名称。

有关记录名称的更多信息，请参阅 [记录名称](resource-record-sets-values-alias-common.md#rrsets-values-common-alias-name)

## 记录类型
<a name="rrsets-values-weighted-alias-type"></a>

DNS 记录类型。有关更多信息，请参阅 [支持的 DNS 记录类型](ResourceRecordTypes.md)。

根据您要将流量路由到的 AWS 资源选择适用的值：

**API Gateway 自定义区域 API 或边缘优化 API**  
选择 **A — IPv4 地址**。

**Amazon VPC 接口终端节点**  
选择 **A — IPv4 地址**。

**CloudFront 分布**  
选择 **A — IPv4 地址**。  
如果已 IPv6 为分配启用，则创建两条记录，一条的值为 **A（ IPv4 地址**表示**类型**），另一条的值为 **AAAA — IPv6 地址**。

**App Runner 服务**  
选择 **A — IPv4 地址**

**具有区域化子域的 Elastic Beanstalk 环境**  
选择 **A — IPv4 地址**

**ELB 负载均衡器**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**亚马逊 S3 存储桶**  
选择 **A — IPv4 地址**

**OpenSearch 服务**  
选择 **A — IPv4 地址**或 **AAAA — IPv6 ** 地址

**此托管区域中的其他记录**  
选择您要为其创建别名的记录的类型。除 **NS** 和 **SOA** 之外的所有类型都受支持。  
如果您要创建与托管区域（称为*顶级域名*）同名的别名记录，则无法将流量路由到 **Type (类型)** 值为 **CNAME** 的记录。这是因为，别名记录必须与您要将流量路由到的目标记录具有相同的类型，而为 Zone Apex（机构根网域）创建 CNAME 记录的做法不受支持，即使对于别名记录也是如此。

为加权记录组中的所有记录选择相同值。

## 值/流量路由至
<a name="rrsets-values-weighted-alias-alias-target"></a>

您从列表中选择的值或在字段中键入的值取决于您要将流量路由到的 AWS 资源。

有关您可以定位哪些 AWS 资源的信息，请参阅流[向的 value/route 流量别名记录的常用值](resource-record-sets-values-alias-common.md#rrsets-values-alias-common-target)。

有关如何配置 Route 53 以将流量路由到特定 AWS 资源的更多信息，请参阅[将互联网流量路由到您的 AWS 资源](routing-to-aws-resources.md)。

## 重量
<a name="rrsets-values-weighted-alias-weight"></a>

确定 Route 53 使用当前记录响应的 DNS 查询的比例。Route 53 会计算具有相同 DNS 名称和类型组合的记录的权重之和。然后，Route 53 根据资源权重与总重量的比率来响应查询。

您不能创建 **Record name（记录名称）**和 **Record type（记录类型）**的值与加权记录相同的非加权记录。

输入 0 到 255 之间的整数。要禁止路由到某个资源，请将 **Weight (权重)** 设置为 0。如果将组中所有记录的 **Weight (权重)** 都设置为 0，则流量以相同的概率路由到所有资源。这将确保您不会无意中对一组加权记录禁用路由。

当您将运行状况检查与加权记录关联时，将 **Weight (权重)** 设置为 0 的效果是不同的。有关更多信息，请参阅 [Amazon Route 53 在已配置运行状况检查时如何选择记录Route 53 在已配置运行状况检查时如何选择记录](health-checks-how-route-53-chooses-records.md)。

## 健康检查
<a name="rrsets-values-weighted-alias-associate-with-health-check"></a>

如果您希望 Route 53 检查指定终端节点的运行状况，并仅当该终端节点正常运行的情况下才使用此记录响应 DNS 查询，请选择运行状况检查。

Route 53 不会检查记录中指定的终端节点的运行状况，如由 **Value（值）**字段中的 IP 地址指定的终端节点。为记录选择运行状况检查时，Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。有关 Route 53 如何确定终端节点是否正常运行的信息，请参阅 [Amazon Route 53 如何确定运行状况检查是否正常Route 53 如何确定运行状况检查是否正常](dns-failover-determining-health-of-endpoints.md)。

仅当 Route 53 在两个或更多记录之间选择响应 DNS 查询的记录，而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时，将运行状况检查与记录关联才有用。仅在以下配置中使用运行状况检查：
+ 您正在检查一组具有相同名称、类型和路由策略的记录（例如故障转移或加权记录）中所有记录的运行状况，然后 IDs 为所有记录指定运行状况检查。如果记录的运行状况检查指出某个终端节点运行状况不佳，则 Route 53 将停止使用该记录的值来响应查询。
+ 对于失效转移别名、地理位置别名、延迟别名、基于 IP 的别名或加权别名记录组中的一个或多个别名记录，在 **Evaluate Target Health**（评估目标运行状况）下选择 **Yes**（是）。如果这些别名记录引用相同托管区域中的非别名记录，则还必须为所引用的记录指定运行状况检查。如果您将运行状况检查与别名记录关联，并在 **Evaluate Target Health**（评估目标运行状况）下选择了 **Yes**（是），则两者都必须评估为 true。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。

如果您的运行状况检查仅以域名来指定端点，则建议您为每个端点创建一个单独的运行状况检查。例如，为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。对于 **Domain name（域名）**的值，指定服务器的域名（例如 us-east-2-www.example.com），而不是记录的名称 (example.com)。

**重要**  
在此配置中，如果创建 **Domain name** 的值与记录名称匹配的运行状况检查，然后将该运行状况检查与记录关联，那么运行状况检查结果将无法预测。

## 评估目标运行状况
<a name="rrsets-values-weighted-alias-evaluate-target-health"></a>

如果您希望 Route 53 通过检查 **Endpoint（终端节点）**指定的资源的运行状况来确定是否使用此记录响应 DNS 查询，请选择 **Yes（是）**。

注意以下几点：

**API Gateway 自定义 APIs 区域和边缘优化 APIs**  
当终端节点为 API Gateway 自定义区域 API 或边缘优化 API 时，将 **Evaluate target health**（评估目标运行状况）设置为 **Yes**（是）没有任何特殊要求。

**CloudFront 分布**  
当终端节点是 CloudFront 分布时，您无法将 “**评估目标生命**值” 设置为 “**是**”。

**具有区域化子域的 Elastic Beanstalk 环境**  
如果您在 **Endpoint（终端节点）**中指定 Elastic Beanstalk 环境，并且该环境包含 ELB 负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。（如果一个环境包含多个 Amazon EC2 实例，则它会自动包含一个 ELB 负载均衡器。） 如果您将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 Amazon EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它正常运行的可用资源（如果有）。  
如果该环境包含单个 Amazon EC2 实例，则没有特殊要求。

**ELB 负载均衡器**  
运行状况检查行为取决于负载均衡器的类型：  
+ **经典负载均衡器** - 如果您在 **Endpoint（终端节点）**中指定 ELB 经典负载均衡器，则 Elastic Load Balancing 仅将查询路由到向负载均衡器注册的正常运行的 Amazon EC2 实例。如果将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，并且没有正常运行的 EC2 实例或负载均衡器本身运行状况不佳，则 Route 53 会将查询路由到其它资源。
+ **Application Load Balancer 和 Network Load Balancers** - 如果您指定 ELB Application Load Balancer 或 Network Load Balancers，并且将 **Evaluate Target Health（评估目标运行状况）**设置为 **Yes（是）**，Route 53 会根据与负载均衡器关联的目标组的运行状况将查询路由到负载均衡器：
  + 为使 Application Load Balancer 或 Network Load Balancer 被认为是正常运行的，包含目标的每个目标组都必须至少包含一个正常运行的目标。如果任何目标组只包含运行状况不佳的目标，则负载均衡器被认为是不正常的，并且 Route 53 会将查询路由到其他资源。
  + 没有注册目标的目标组被认为是运行状况不佳。
当您创建负载均衡器时，您需配置 Elastic Load Balancing 运行状况检查设置；这并不是 Route 53 运行状况检查，但是会执行类似的功能。请勿为您向 ELB 负载均衡器注册的 EC2 实例创建 Route 53 运行状况检查。

**S3 桶**  
当终端节点为 S3 存储桶时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**Amazon VPC 接口终端节点**  
当终端节点为 Amazon VPC 接口终端节点时，将 **Evaluate target health（评估目标运行状况）**设置为 **Yes（是）**没有任何特殊要求。

**同一托管区中的其他记录**  
如果您在 Endpo **int** 中指定的 AWS 资源是一条记录或一组记录（例如，一组加权记录），但不是其他别名记录，我们建议您将运行状况检查与终端节点中的所有记录关联起来。有关更多信息，请参阅 [忽略运行状况检查时，会出现什么情况？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-omitting)。

## 记录 ID
<a name="rrsets-values-weighted-alias-set-identifier"></a>

输入在加权记录组中唯一标识此记录的值。

# 通过导入区域文件来创建记录
<a name="resource-record-sets-creating-import"></a>

如果您要从另一个 DNS 服务提供商迁移，并且您的当前 DNS 服务提供商允许您将当前 DNS 设置导出到区域文件，则您可以通过导入区域文件来快速为 Amazon Route 53 托管区域创建所有记录。

**注意**  
区域文件使用称为 BIND 的标准格式来以文本格式表示记录。有关区域文件格式的信息，请参阅 Wikipedia 条目 [Zone file](https://en.wikipedia.org/wiki/Zone_file)。有关其他信息，请参阅 [RFC 1034, Domain Names—Concepts and Facilities](https://datatracker.ietf.org/doc/html/rfc1034) 第 3.6.1 节，以及 [RFC 1035, Domain Names—Implementation and Specification](https://datatracker.ietf.org/doc/html/rfc1035) 第 5 节。

如果要通过导入区域文件来创建记录，请注意以下事项：
+ 区域文件必须采用符合 RFC 标准的格式。
+ 区域文件中记录的域名必须与托管区域的名称相匹配。
+ Route 53 支持 `$ORIGIN` 和 `$TTL` 关键字。如果区域文件包含 `$GENERATE` 或 `$INCLUDE` 关键字，导入将失败，Route 53 将返回错误。
+ 当导入区域文件时，Route 53 会忽略区域文件中的 SOA 记录。Route 53 还会忽略与托管区域同名的任何 NS 记录。
+ 您可以导入最多 1000 条记录。
+ 如果托管区域已包含显示在区域文件中的记录，则导入过程将失败，并且不会创建任何记录。
+ 对于包含反斜杠字符的 TXT 记录，区域文件导入过程会将某些反斜杠序列解释为控制字符。要在 TXT 记录值中包含字面反斜杠字符：
  + 在区域文件中使用双反斜杠（`\\\\`）来表示最终 TXT 记录中的单个字面反斜杠。
  + 例如，如果您的 TXT 记录应包含 `\\jYTDWqH...`（带有字面反斜杠和 j），请在区域文件中指定 `\\\\jYTDWqH...`。

  这对于 ACME 质询记录和其他包含字面反斜杠字符的 TXT 记录尤其重要。
+ 对于长 TXT 记录（例如 DKIM 记录），区域文件导入过程支持将内容拆分为多个字符串。要创建包含多个字符串的 TXT 记录：
  + 在区域文件中使用具有相同记录名称和类型的单独行。  
**Example**  

    ```
    example.com. 300 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC"
    example.com. 300 IN TXT "7fCC6C13dM9tXuJmUBH7D4Vw8y1ByJ8z9QX2fvLm3pN4sR5tU6vW7xY8zA9bC0dE1f"
    example.com. 300 IN TXT "G2hI3jK4lM5nO6pQ7rS8tU9vW0xY1zA2bC3dE4fG5hI6jK7lM8nO9pQ0rS1tU2vW3x"
    ```

  导入过程会自动将它们合并到包含多个字符串的单个 TXT 记录中。每个字符串最多可以包含 65,535 个字符。不要将长字符串连接成单引号值。
+ 我们建议您查看区域文件的内容，以确认记录名称根据需要包含或排除尾随点：
  + 当区域文件中的记录的名称包含结尾圆点 (`example.com.`) 时，导入过程将该名称解释为完全限定域名，并使用该名称创建 Route 53 记录。
  + 当区域文件中的记录的名称不包含结尾圆点 (`www`) 时，导入过程将该名称与区域文件中的域名 (`example.com`) 连接起来，并使用连接起来的名称 (`www.example.com`) 创建 Route 53 记录。

  如果导出过程未向记录的完全限定域名添加结尾圆点，则 Route 53 导入过程会将域名添加到记录名称中。例如，假设您要将记录导入到托管区域 `example.com`，而区域文件中的 MX 记录的名称是 `mail.example.com`，不带尾部圆点。Route 53 导入过程会创建一个名为 `mail.example.com.example.com` 的 MX 记录。
**重要**  
对于 CNAME、MX、PTR 和 SRV 记录，此行为也适用于包含在 RDATA 值中的域名。例如，假设您有 `example.com` 的一个区域文件。如果区域文件中的 CNAME 记录（`support`，不包含结尾圆点）具有 RDATA 值 `www.example.com`（也不包含结尾圆点），则导入过程会创建名为 `support.example.com` 的 Route 53 记录来将流量路由到 `www.example.com.example.com`。在导入区域文件之前，请查看 RDATA 值并进行更新 (如适用)。对于包含反斜杠字符的 TXT 记录，请在区域文件中使用双反斜杠（`\\\\`）来表示字面反斜杠。

Route 53 不支持将记录导出到区域文件。

**注意**  
如果您创建与托管区域同名的记录，则不要在 Name (名称) 字段中输入值（例如 @ 符号）。<a name="RRSchanges_import_console_procedure"></a>

**通过导入区域文件来创建记录**

1. 从当前为域提供服务的 DNS 服务提供商那里获取区域文件。此过程和相关术语因服务提供商而异。有关将记录导出或保存到区域文件或 BIND 文件的信息，请参阅提供商的界面和文档。

   如果找不到有关此过程的信息，则试着询问您当前的 DNS 提供商的客户支持，以获取您的*记录列表*或*区域文件*信息。

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 在 **Hosted Zones（托管区域）**页面上，创建一个新的托管区域：

   1. 选择 **Create hosted zone（创建托管区域）**。

   1. 输入您的域名，并可选择输入注释。

   1. 选择**创建**。

1. 选择 **Import zone file（导入区域文件）**。

1. 在 **Import zone file（导入区域文件）**窗格中，将区域文件的内容粘贴到 **Zone file（区域文件）**文本框中。

1. 选择**导入**。
**注意**  
根据您的区域文件中记录的数量，您可能需要等待几分钟，记录才能创建完毕。

1. 如果您使用域的另一个 DNS 服务（这很常见，如果您向另一个注册商注册了该域的话），则将 DNS 服务迁移到 Route 53。在完成该步骤后，您的注册商会开始将 Route 53 识别为您的 DNS 服务，以响应对您的域的 DNS 查询，而这些查询将开始被发送到 Route 53 DNS 服务器。（通常，在 DNS 查询开始被路由到 Route 53 之前，会有一两天的延迟，因为有关您以前的 DNS 服务的信息将在 DNS 解析程序中缓存这么长时间。） 有关更多信息，请参阅 [将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。

# 编辑记录
<a name="resource-record-sets-editing"></a>

以下步骤介绍如何使用 Amazon Route 53 控制台编辑记录。有关如何使用 Route 53 API 编辑记录的信息，请参阅*亚马逊 Route 53 API 参考[ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)*中的。

**注意**  
您对记录的更改需要一定时间才会传播到 Route 53 DNS 服务器。目前，验证更改是否已传播的唯一方法是使用 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API 操作。更改通常在 60 秒内传播到所有 Route 53 名称服务器。<a name="resource-record-sets-editing-procedure"></a>

**使用 Route 53 控制台编辑记录**

1. 如果您不打算编辑别名记录，请转至步骤 2。

   如果您打算编辑别名记录以将流量路由到 Elastic Load Balancing 经典负载均衡器、应用程序负载均衡器或网络负载均衡器，并且已使用不同账户创建了 Route 53 托管区和负载均衡器，请执行过程 [获取 Elastic Load Balancing 负载均衡器的 DNS 名称](resource-record-sets-creating.md#resource-record-sets-elb-dns-name-procedure) 以获取负载均衡器的 DNS 名称。

   如果您正在编辑任何其他 AWS 资源的别名记录，请跳至步骤 2。

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 在 **Hosted Zones (托管区域)** 页面上，选择包含您要编辑的记录的托管区域对应的行。

1. 选择要编辑的记录的行，然后在 **Edit record（编辑记录）**窗格中输入您的更改。

1. 输入适用的值。有关更多信息，请参阅 [在您创建或编辑 Amazon Route 53 记录时指定的值](resource-record-sets-values.md)。

1. 选择**保存更改**。

1. 如果您要编辑多个记录，则重复步骤 5 至 7。

# 删除记录
<a name="resource-record-sets-deleting"></a>

以下步骤介绍如何使用 Route 53 控制台删除记录。有关如何使用 Route 53 API 删除记录的信息，请参阅*亚马逊 Route 53 API 参考[ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)*中的。

**注意**  
您对记录的更改需要一定时间才会传播到 Route 53 DNS 服务器。目前，验证更改是否已传播的唯一方法是使用 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API 操作。更改通常在 60 秒内传播到所有 Route 53 名称服务器。<a name="resource-record-sets-deleting-procedure"></a>

**删除记录**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在“Hosted Zones (托管区域)”页面上，选择包含您要删除的记录的托管区域所对应的那一行。

1. 在记录列表中，选择您要删除的记录。

   要选择多个连续的记录，请选择第一行，按住 **Shift** 键，然后选择最后一行。要选择多个不连续的记录，请选择第一行，按住 **Ctrl** 键，再选择其他行。

   不能删除**类型**值为 **NS**或 **SOA** 的记录。

1. 选择**删除**。

1. 选择 **Delete（删除）**以关闭对话框。

# 列出记录
<a name="resource-record-sets-listing"></a>

以下步骤介绍如何使用 Amazon Route 53 控制台列出一个托管区域中的记录。有关如何使用 Route 53 API 列出记录的信息，请参阅*亚马逊 Route 53 API 参考[ListResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResourceRecordSets.html)*中的。

**列出记录**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 在 **Hosted Zones** 页面上，选择托管区域的名称。

1. 若要更改搜索模式，请选择**记录**表右上角的齿轮图标。选择如下选项之一：
   + **自动**

     在此模式下，服务使用基于多条记录的筛选条件。“完整”模式适用于不到 2000 条记录，而“快速”模式适用于超过 2000 条记录。
   + **完整**

     在此模式下，所有搜索筛选条件均可用，但搜索性能可能会较慢。
   + **快速**

     在此模式下，某些高级功能不可用，但搜索性能会更较快。

要仅显示选定的记录，请在记录列表上方输入适用的搜索条件。在自动模式中，搜索行为取决于托管区域是最多包含 2000 条记录，还是包含 2000 条以上的记录：

**最多 2,000 条记录和完整模式**  
+ 要显示具有特定值的记录，请在搜索栏中输入一个值，然后按 **Enter**。例如，要显示 IP 地址以 **192.0** 开头的记录，请在**搜索**字段中输入该值，然后按 **Enter**。
+ 要只显示具有相同 DNS 记录类型的记录，请在下拉列表中选择 **Record type（记录类型）**，然后输入记录类型。
+ 要仅显示别名记录，请在下拉列表中选择 **Aliase**（别名），然后输入 **Yes**。
+ 要仅显示加权记录，请在下拉列表中选择 **Routing policy（路由策略）**，然后输入 **WEIGHTED**。

**超过 2,000 条记录和快速模式**  
+ 您可以仅按记录名称，而不是按记录值进行搜索。另外，不能根据记录类型、别名或加权记录筛选。

  为此，请将光标置于**筛选器**文本框中，选择**属性**，然后选择**记录名称**。
+ 对于有三个标签（三个部分由点分隔）的记录，在搜索字段中输入一个值并按 **Enter** 时，Route 53 控制台自动从记录名称右侧数起的第三个标签开始执行通配符搜索。例如，假设托管区域 example.com 包含名称为 record1.example.com 到 record100.example.com 的 100 个记录。(Record1 就是从右侧数起的第三个标签。) 看一下您搜索下列值时的结果：
  + **record1** - Route 53 控制台搜索 **record1\$1.example.com**，会返回 **record1.example.com**、**record10.example.com** 到 **record19.example.com**，还有 **record100.example.com**。
  + **record1.example.com** - 在上一个例子中，控制台搜索 **record1\$1.example.com** 并返回相同的记录。
  + **1** - 控制台搜索 **1\$1.example.com** 且没有返回记录。
  + **example** - 控制台搜索 **example\$1.example.com** 且没有返回记录。
  + **example.com** - 在本示例中，控制台不执行通配符搜索。它返回托管区域中的所有记录。
  + **自动搜索模式** - 使用此搜索模式时，必须先提供属性（例如记录名称）才能进行搜索。
**注意**  
如果右边的第三个标签包含一个或多个连字符（例如 `third-label.example.com`），并且在连字符之前搜索第三个标签的一部分（在本例中为 `third`），则 Route 53 不会返回任何记录。相反，要么包含连字符（搜索 `third-`），要么在连字符之前省略字符（搜索 `third`）。
+ 对于具有四个或多个标签的记录，必须指定确切的记录名称。不支持通配符搜索。例如，如果托管区域包含一个名为 label4.record1.example.com 的记录，那么只有在搜索字段中指定 **label4.record1.example.com** 才能找到该记录。

# 在 Amazon Route 53 中配置 DNSSEC 签名
<a name="dns-configuring-dnssec"></a>

域名系统安全扩展 (DNSSEC) 签名允许 DNS 解析程序验证来自 Amazon Route 53 且未被篡改的 DNS 响应。使用 DNSSEC 签名时，托管区域的每个响应都使用公有密钥加密技术进行签名。有关 DNSSEC 的概述，请参阅 [AWS re:Invent 2021 - Amazon Route 53：年度回顾](https://www.youtube.com/watch?v=77V23phAaAE)中的 DNSSEC 部分。

在本章中，我们将说明如何为 Route 53 启用 DNSSEC 签名、如何使用密钥签名密钥 (KSKs) 以及如何解决问题。您可以使用 DNSSEC 登录 AWS 管理控制台 或以编程方式使用 API。有关使用 CLI 或使用 Rou SDKs te 53 的更多信息，请参阅[设置 Amazon Route 53](setting-up-route-53.md)。

在启用 DNSSEC 签名之前，请注意以下事项：
+ 为了帮助防止区域中断并避免域变得不可用的问题，您必须快速解决和处理 DNSSEC 错误。我们强烈建议您设置 CloudWatch 警报，在检测到`DNSSECInternalFailure`或`DNSSECKeySigningKeysNeedingAction`错误时提醒您。有关更多信息，请参阅 [使用 Amazon 监控托管区域 CloudWatch](monitoring-hosted-zones-with-cloudwatch.md)。
+ DNSSEC 中有两种密钥：密钥签名密钥 (KSK) 和区域签名密钥 (ZSK)。在 Route 53 DNSSEC 签名中，每个 KSK 都基于您拥有的 AWS KMS 中的[非对称客户托管密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#asymmetric-keys-concept)。您负责 KSK 管理，其中包括根据需要进行轮换。ZSK 管理由 Route 53 执行。
+ 当您为托管区域启用 DNSSEC 签名时，Route 53 将 TTL 限制为一周。如果您为托管区域中的记录设置了一周以上的 TTL，则不会出现错误。但是，Route 53 对记录强制执行一周的 TTL。TTL 少于一周的记录和其它托管区域中未启用 DNSSEC 签名的记录不受影响。
+ 当您使用 DNSSEC 签名时，不支持多供应商配置。如果您配置了白标域名称服务器（也称为虚名称服务器或私有名称服务器），请确保这些名称服务器由单一 DNS 提供商提供。
+ 某些 DNS 提供商在其权威 DNS 中不支持委派签名者（DS）记录。如果您的父区域由不支持 DS 查询（未在 DS 查询响应中设置 AA 标志）的 DNS 提供商托管，则当您在其子区域中启用 DNSSEC 时，子区域将变得无法解析。确保您的 DNS 提供商支持 DS 记录。
+ 设置 IAM 权限以允许除区域拥有者之外的其他用户添加或删除区域中的记录非常有用。例如，区域拥有可以添加 KSK 并启用签名，还可能负责密钥转动。但是，其他人可能负责使用托管区域的其它记录。有关 IAM policy 示例，请参阅 [域记录所有者的权限示例](access-control-managing-permissions.md#example-permissions-record-owner)。
+ 要查看该顶级域是否支持 DNSSEC，请参阅 [可向 Amazon Route 53 注册的域。](registrar-tld-list.md)。

**Topics**
+ [启用 DNSSEC 签名并建立信任链。](dns-configuring-dnssec-enable-signing.md)
+ [禁用 DNSSEC 签名](dns-configuring-dnssec-disable.md)
+ [使用适用于 DNSSEC 的客户托管密钥](dns-configuring-dnssec-cmk-requirements.md)
+ [使用密钥签名密钥 () KSKs](dns-configuring-dnssec-ksk.md)
+ [Route 53 中的 KMS 密钥和 ZSK 管理](dns-configuring-dnssec-zsk-management.md)
+ [Route 53 中的 DNSSEC 不存在证明](dns-configuring-dnssec-proof-of-nonexistence.md)
+ [DNSSEC 签名的问题排查](dns-configuring-dnssec-troubleshoot.md)

# 启用 DNSSEC 签名并建立信任链。
<a name="dns-configuring-dnssec-enable-signing"></a>

****  
递增步骤适用于托管区域拥有者和父区域维护者。这二者可以是同一个人，但如果不是，区域拥有者应该通知父区域维护者并与其合作。

我们建议按照本文中的步骤对区域进行签名并将其纳入信任链中。以下步骤将最大限度地降低启用 DNSSEC 所存在的风险。

**注意**  
在 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md) 中开始之前，请务必阅读先决条件。

启用 DNSSEC 签名需要执行三个步骤，如以下几节所述。

**Topics**
+ [步骤 1：准备启用 DNSSEC 签名](#dns-configuring-dnssec-enable-signing-step-1)
+ [步骤 2：启用 DNSSEC 签名并创建 KSK](#dns-configuring-dnssec-enable)
+ [步骤 3：建立信任链](#dns-configuring-dnssec-chain-of-trust)

## 步骤 1：准备启用 DNSSEC 签名
<a name="dns-configuring-dnssec-enable-signing-step-1"></a>

准备步骤可通过监控区域可用性并减少启用签名与插入委派签名者 (DS) 记录之间的等待时间，帮助您最大限度地降低启用 DNSSEC 所存在的风险。

**准备启用 DNSSEC 签名**

1. 监控区域可用性。

   您可以监控区域以了解域名的可用性。这可以帮助您在启用 DNSSEC 签名后解决可能需要回滚的任何问题。您可以使用查询日志记录来监控流量最多的域名。有关设置查询日志记录的更多信息，请参阅 [监控 Amazon Route 53](monitoring-overview.md)。

   可以通过 Shell 脚本或第三方服务来完成监控。但是，其不应作为确定是否需要回滚的唯一信号。由于域名不可用，您也可能会从客户处获得反馈。

1. 降低区域的最大 TTL。

   区域的最大 TTL 是该区域中最长的 TTL 记录。在以下示例区域中，区域的最大 TTL 为 1 天（86400 秒）。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html)

   降低区域的最大 TTL 将有助于缩短启用签名与插入委派签名者 (DS) 记录之间的等待时间。我们建议将区域的最大 TTL 降低到 1 小时（3600 秒）。如果任何解析程序在缓存已签名记录时遇到问题，您可以在一个小时后回滚。

   **回滚：**撤消 TTL 更改。

1. 降低 SOA TTL 和 SOA 最小字段。

   SOA 最小字段是 SOA 记录数据中的最后一个字段。在以下 SOA 记录示例中，最小字段的值为 5 分钟（300 秒）。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/dns-configuring-dnssec-enable-signing.html)

   SOA TTL 和 SOA 最小字段决定了解析程序记住否定回答的时长。启用签名后，Route 53 名称服务器开始返回否定回答的 NSEC 记录。NSEC 包含解析程序可能用来综合否定回答的信息。如果由于 NSEC 信息导致解析程序对姓名假定否定回答而必须回滚，那么您只需等待 SOA TTL 和 SOA 最小字段的最大值，解析程序就会停止假定。

   **回滚：**撤消 SOA 更改。

1. 确保 TTL 和 SOA 最小字段更改有效。

   用于确保您[GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)到目前为止所做的更改已传播到所有 Route 53 DNS 服务器。

## 步骤 2：启用 DNSSEC 签名并创建 KSK
<a name="dns-configuring-dnssec-enable"></a>

您可以在 Route 53 控制台上使用 AWS CLI 或启用 DNSSEC 签名并创建密钥签名密钥 (KSK)。
+ [CLI](#dnssec_CLI)
+ [控制台](#dnssec_console)

当您提供或创建 KMS 密钥时，应遵循以下几个要求。有关更多信息，请参阅 [使用适用于 DNSSEC 的客户托管密钥](dns-configuring-dnssec-cmk-requirements.md)。

------
#### [ CLI ]

您可以使用已有密钥，或通过使用自己的 `hostedzone_id`、`cmk_arn`、`ksk_name` 和 `unique_string` 值运行如下 AWS CLI 命令来创建密钥（以确保请求是唯一的）：

```
aws --region us-east-1 route53 create-key-signing-key \
			--hosted-zone-id $hostedzone_id \
			--key-management-service-arn $cmk_arn --name $ksk_name \
			--status ACTIVE \
			--caller-reference $unique_string
```

有关客户托管式密钥的更多信息，请参阅 [使用适用于 DNSSEC 的客户托管密钥](dns-configuring-dnssec-cmk-requirements.md)。另请参阅[CreateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateKeySigningKey.html)。

要启用 DNSSEC 签名，请使用您自己的值运行如下 AWS CLI 命令：`hostedzone_id`

```
aws --region us-east-1 route53 enable-hosted-zone-dnssec \
			--hosted-zone-id $hostedzone_id
```

有关更多信息，请参阅[enable-hosted-zone-dnssec](https://docs.aws.amazon.com/cli/latest/reference/route53/enable-hosted-zone-dnssec.html)和 [EnableHostedZoneDNSSEC](https://docs.aws.amazon.com/Route53/latest/APIReference/API_EnableHostedZoneDNSSEC.html)。

------
#### [ Console ]<a name="dns-configuring-dnssec-enable-procedure"></a>

**要启用 DNSSEC 签名并创建 KSK**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择您要为其启用 DNSSEC 签名的托管区域。

1. 在 **DNSSEC signing**（DNSSEC 签名）选项卡上，选择 **Enable DNSSEC signing**（启用 DNSSEC 签名）。
**注意**  
如果本部分中的选项为 **Disable DNSSEC signing**（禁用 DNSSEC 签名），则表示您已完成启用 DNSSEC 签名的第一步。请确保您为 DNSSEC 的托管区域建立了信任链，或者此区域已经存在信任链，然后您便完成了操作。有关更多信息，请参阅 [步骤 3：建立信任链](#dns-configuring-dnssec-chain-of-trust)。

1. 在 **Key-signing key (KSK) creation**（密钥签名密钥 (KSK) 创建）部分，选择 **Create new KSK**（创建新的 KSK），并在 **Provide KSK name**（提供 KSK 名称）下输入 Route 53 将为您创建的 KSK 名称。名称只能包含字母、数字和下划线 (\$1)。此名称必须唯一。

1. 在 **Customer managed CMK**（客户托管 CMK）中，选择 Route 53 在为您创建 KSK 时要使用的客户管理密钥。您可以使用适用于 DNSSEC 签名的现有客户托管密钥，也可以创建新的客户托管密钥。

   当您提供或创建客户托管密钥时，有几个要求。有关更多信息，请参阅 [使用适用于 DNSSEC 的客户托管密钥](dns-configuring-dnssec-cmk-requirements.md)。

1. 输入现有客户托管密钥的别名。如果要使用新的客户托管式密钥，请输入客户托管密钥的别名，Route 53 将为您创建密钥。
**注意**  
如果您选择让 Route 53 创建客户托管密钥，请注意，每个客户托管密钥都会单独收取费用。有关更多信息，请参阅 [AWS 密钥管理服务定价](https://aws.amazon.com/kms/pricing/)。

1. 选择 **Enable DNSSEC signing**（启用 DNSSEC 签名）。

------

**启用区域签名后，请完成以下步骤**（无论是使用控制台还是 CLI）：

1. 确保区域签名有效。

   如果你使用了 AWS CLI，你可以使用`EnableHostedZoneDNSSEC()`调用输出中的操作 ID 来运行 [get-change](https://docs.aws.amazon.com/cli/latest/reference/route53/get-change.html) 或[GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)确保所有 Route 53 DNS 服务器都在签署响应（status =`INSYNC`）。

1. 至少等待前一个区域的最大 TTL 的时长。

   等待解析程序清除其缓存中的所有未签名记录。为此，等待时长至少应为前一个区域的最大 TTL。在上面的 `example.com` 区域，等待时间为 1 天。

1. 监控客户问题报告。

   启用区域签名后，客户可能会开始看到与网络设备和解析程序相关的问题。建议的监控周期为 2 周。

   下面是可能会看到的问题示例：
   + 某些网络设备可以将 DNS 响应大小限制在 512 字节以下，这对于某些签名响应来说太小。应重新配置这些网络设备，以便允许更大的 DNS 响应。
   + 一些网络设备对 DNS 响应进行深入检查并删除其无法理解的某些记录，如用于 DNSSEC 的记录。应该重新配置这些设备。
   + 一些客户的解析程序称可以接受比其网络支持的响应大小更大的 UDP 响应。您可以测试网络功能并适当配置解析程序。有关更多信息，请参阅 [DNS 回复大小测试服务器](https://www.dns-oarc.net/oarc/services/replysizetest/)。

**回滚：**调用 [DisableHostedZoneDNSSEC](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DisableHostedZoneDNSSEC.html)，然后回滚中的步骤。[步骤 1：准备启用 DNSSEC 签名](#dns-configuring-dnssec-enable-signing-step-1)

## 步骤 3：建立信任链
<a name="dns-configuring-dnssec-chain-of-trust"></a>

在 Route 53 中为托管区域启用 DNSSEC 签名后，请为托管区域建立信任链，以完成 DNSSEC 签名设置。您可以通过在*父*托管区域创建 Delegation Signer (DS) 记录，并使用 Route 53 提供的信息，以完成此操作。根据域注册的位置，您可以将记录添加到 Route 53 中的父托管区域或其它域注册商。<a name="dns-configuring-dnssec-chain-of-trust-procedure"></a>

**要建立 DNSSEC 签名信任链。**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择要为其建立 DNSSEC 信任链的托管区域。*您必须首先启用 DNSSEC 签名。*

1. 在 **DNSSEC signing**（DNSSEC 签名）选项卡，在 **DNSSEC signing**（DNSSEC 签名）中，选择 **View information to create DS record**（查看信息以创建 DS 记录）。
**注意**  
如果您没有在本部分中看到 **View information to create DS record**（查看信息以创建 DS 记录），那么在建立信任链之前，必须启用 DNSSEC 签名。选择 **Enable DNSSEC signing**（启用 DNSSEC 签名）并完成 [步骤 2：启用 DNSSEC 签名并创建 KSK](#dns-configuring-dnssec-enable) 中的所述步骤，然后回到这些步骤建立信任链。

1. 在 **Establish a chain of trust**（建立信任链）中，选择 **Route 53 registrar**（Route 53 注册商）或者 **Another domain registrar**（另一域注册商），具体取决于您的域注册位置。

1. 使用步骤 3 提供的值以在 Route 53 中为父托管区域创建 DS 记录。如果您的域未托管在 Route 53，请使用提供的值在域注册商网站上创建 DS 记录。

   要建立父区域的信任链：
   + 如果通过 Route 53 管理您的域，请执行以下步骤：

     确保配置正确的签名算法（ECDSAP256SHA256 以及类型 13）和摘要算法（SHA-256 和类型 2）。

     如果 Route 53 是您的注册商，请在 Route 53 控制台中执行以下操作：

     1. 请注意 **Key type**（密钥类型）、**Signing algorithm**（签名算法）和 **Public key**（公有密钥）的值。在导航窗格中，选择 **Registered domains**。

     1. 选择一个域，然后在 **DNSSEC 密钥**选项卡中选择**添加密钥**。

     1. 在**管理 DNSSEC 密钥**对话框中，从下拉菜单中为 **Route 53 注册商**选择适当的**密钥类型**和**算法**。

     1. 为 Route 53 注册商复制 **Public key**（公有密钥）。在 **Manage DNSSEC keys**（管理 DNSSEC 密钥）对话框中，将值粘贴到 **Public key**（公有密钥）框中。

     1. 选择**添加**。

         Route 53 会将 DS 记录从公有密钥添加到父区域。例如，如果您的域是 `example.com`，则 DS 记录会添加到 .com DNS 区域。
   + 如果您的域托管在其他注册机构处，请按照**其他域名注册商**部分中的说明进行操作。

     为确保以下步骤顺利进行，请将低 DS TTL 引入父区域。如果您需要回滚更改，我们建议将 DS TTL 设置为 5 分钟（300 秒）以加快恢复速度。
     + 要建立子区域的信任链：

       如果您的父区域由其他注册表管理，请联系注册商以引入区域的 DS 记录。通常无法调整 DS 记录的 TTL。
     + 如果您的父区域托管在 Route 53 上，请联系父区域拥有者以引入区域的 DS 记录。

       将 `$ds_record_value` 提供给父区域拥有者。您可以通过单击 “**查看信息” 在控制台中创建 DS 记录**并复制 D **S 记录**字段，或者调用 [getDNSSec](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetDNSSEC.html) API 并检索 “” 字段的值来获取它：DSRecord

       ```
       aws --region us-east-1 route53 get-dnssec 
                   --hosted-zone-id $hostedzone_id
       ```

       父区域拥有者可以通过 Route 53 控制台或 CLI 插入记录。
       +  要使用插入 DS 记录 AWS CLI，父区域所有者创建并命名了一个类似于以下示例的 JSON 文件。父区域拥有者可能会将文件命名为 `inserting_ds.json`。

         ```
         {
             "HostedZoneId": "$parent_zone_id",
             "ChangeBatch": {
                 "Comment": "Inserting DS for zone $zone_name",
                 "Changes": [
                     {
                         "Action": "UPSERT",
                         "ResourceRecordSet": {
                             "Name": "$zone_name",
                             "Type": "DS",
                             "TTL": 300,
                             "ResourceRecords": [
                                 {
                                     "Value": "$ds_record_value"
                                 }
                             ]
                         }
                     }
                 ]
             }
         }
         ```

         然后运行以下命令：

         ```
         aws --region us-east-1 route53 change-resource-record-sets 
                     --cli-input-json file://inserting_ds.json
         ```
       + 要使用控制台插入 DS 记录，

         打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

         在导航窗格中，选择 **Hosted zones**（托管区域）、托管区域的名称，然后选择 **Create record**（创建记录）按钮。确保为 **Routing policy**（路由策略）选择简单路由。

         在**记录名称**字段中输入与 `$zone_name` 相同的名称，从**记录类型**下拉菜单中选择 DS，并在**值**字段中输入 `$ds_record_value` 的值，然后选择**创建记录**。

   **回滚：**从父区域中删除 DS，等待 DS TTL，然后回滚建立信任的步骤。如果父区域托管在 Route 53 上，父区域拥有者可以将 JSON 文件中的 `Action` 从 `UPSERT` 更改为 `DELETE`，然后重新运行上面的示例 CLI。

1. 等待更新传播，具体基于域记录的 TTL。

   如果父区域使用的是 Route 53 DNS 服务，则父区域所有者可以通过 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API 确认完全传播。

   否则，您可以定期检查 DS 记录的父区域，然后再等 10 分钟，以提高完整传播 DS 记录插入的可能性。请注意，一些注册商计划了 DS 插入，例如，每天一次。

在父区域中引入委派签名者 (DS) 记录时，已获取 DS 的经验证的解析程序将开始验证来自该区域的响应。

为了确保建立信任的步骤顺利进行，请完成以下操作：

1. 找到最大 NS TTL。

   有 2 组 NS 记录与您的区域相关：
   + 委托 NS 记录 — 这是由父区域持有的您的区域的 NS 记录。您可以通过运行如下 Unix 命令找到此记录（如果区域为 example.com，则父区域为 com）：

     `dig -t NS com`

     选择一个 NS 记录，然后运行以下命令：

     `dig @one of the NS records of your parent zone -t NS example.com`

     例如：

     `dig @b.gtld-servers.net. -t NS example.com`
   + 区内 NS 记录 — 这是您的区域中的 NS 记录。您可以通过运行以下 Unix 命令找到此记录：

     `dig @one of the NS records of your zone -t NS example.com`

     例如：

     `dig @ns-0000.awsdns-00.co.uk. -t NS example.com`

     请注意两个区域的最大 TTL。

1. 等待最大 NS TTL。

   在 DS 插入之前，解析程序获得签名响应，但未验证签名。插入 DS 记录后，在区域的 NS 记录到期之前，解析程序无法看到该记录。当解析程序重新获取 NS 记录时，也将会返回 DS 记录。

   如果您的客户在时钟不同步的主机上运行解析程序，请确保时钟与正确时间相差 1 小时以内。

   完成此步骤后，所有 DNSSEC 感知解析程序将会验证您的区域。

1. 注意名称解析。

   应注意解析程序验证您的区域时没有出现问题。确保同时考虑到客户向您报告问题所需的时间。

   我们建议监控最长 2 周时间。

1. （可选）加长 DS 和 N TTLs S 的长度。

   如果对设置满意，可以保存所做的 TTL 和 SOA 更改。请注意，Route 53 将已签名区域的 TTL 限制为 1 周。有关更多信息，请参阅 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)。

   如果您可以更改 DS TTL，建议将其设置为 1 小时。

# 禁用 DNSSEC 签名
<a name="dns-configuring-dnssec-disable"></a>

在 Route 53 中禁用 DNSSEC 签名的步骤有所不同，具体取决于托管区域所属的信任链。

例如，您的托管区域可能具有包含 Delegation Signer (DS) 记录的父区域，作为信任链的一部分。托管区域本身也可能是启用 DNSSEC 签名的子区域的父区域，这是信任链的另一部分。在执行禁用 DNSSEC 签名的步骤之前，请调查并确定托管区域的完整信任链。

在禁用签名时，必须仔细撤消托管区域启用 DNSSEC 签名的信任链。要从信任链中删除托管区域，请删除包含此托管区域的信任链的所有 DS 记录。这意味着您必须按顺序执行以下操作：

1. 删除此托管区域对于属于信任链一部分的子区域具有的所有 DS 记录。

1. 从父区域删除 DS 记录。如果您具有信任岛（父区域中没有 DS 记录，此区域中的子区域没有 DS 记录），则可以跳过此步骤。

1. 如果无法删除 DS 记录，为了从信任链中删除该区域，请从父区域中删除 NS 记录。有关更多信息，请参阅 [为域添加或更改名称服务器和粘附记录](domain-name-servers-glue-records.md)。

通过以下递增步骤，您可以监控各个步骤的有效性，以避免区域中的 DNS 可用性问题。

**禁用 DNSSEC 签名**

1. 监控区域可用性。

   您可以监控区域以了解域名的可用性。这可以帮助您在启用 DNSSEC 签名后解决可能需要回滚的任何问题。您可以使用查询日志记录来监控流量最多的域名。有关设置查询日志记录的更多信息，请参阅 [监控 Amazon Route 53](monitoring-overview.md)。

   可以通过 Shell 脚本或付费服务完成监控。但是，其不应作为确定是否需要回滚的唯一信号。由于域名不可用，您也可能会从客户处获得反馈。

1. 查找当前 DS TTL。

   您可以通过运行以下 Unix 命令找到 DS TTL：

   `dig -t DS example.com example.com`

1. 找到最大 NS TTL。

   有 2 组 NS 记录与您的区域相关：
   + 委托 NS 记录 — 这是由父区域持有的您的区域的 NS 记录。您可以通过运行以下 Unix 命令找到此记录：

     首先找到父区域的 NS（如果您的区域为 example.com，则父区域为 com）：

     `dig -t NS com`

     选择一个 NS 记录，然后运行以下命令：

     `dig @one of the NS records of your parent zone -t NS example.com`

     例如：

     `dig @b.gtld-servers.net. -t NS example.com`
   + 区内 NS 记录 — 这是您的区域中的 NS 记录。您可以通过运行以下 Unix 命令找到此记录：

     `dig @one of the NS records of your zone -t NS example.com`

     例如：

     `dig @ns-0000.awsdns-00.co.uk. -t NS example.com`

     请注意两个区域的最大 TTL。

1. 从父区域删除 DS 记录。

   请与父区域拥有者联系以删除 DS 记录。

   **回滚：**重新插入 DS 记录，确认 DS 插入有效，并等待最大 NS（而不是 DS TTL），然后所有解析程序将再次开始验证。

1. 确认删除 DS 是否有效。

   如果父区域使用的是 Route 53 DNS 服务，则父区域所有者可以通过 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API 确认完全传播。

   否则，您可以定期检查 DS 记录的父区域，然后再等 10 分钟，以提高完整传播 DS 记录删除的可能性。请注意，一些注册商计划了 DS 删除，例如，每天一次。

1. 等待 DS TTL。

   等待直到所有解析程序缓存中的 DS 记录过期。

1. 禁用 DNSSEC 签名并停用密钥签名密钥 (KSK)。
   + [CLI](#CLI_dnssec_disable)
   + [控制台](#console_dnssec_disable)

------
#### [ CLI ]

   致电 [DisableHostedZoneDNSSEC 然后](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DisableHostedZoneDNSSEC.html)。[DeactivateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeactivateKeySigningKey.html) APIs

   例如：

   ```
   aws --region us-east-1 route53 disable-hosted-zone-dnssec \
               --hosted-zone-id $hostedzone_id
   
   aws --region us-east-1 route53 deactivate-key-signing-key \
               --hosted-zone-id $hostedzone_id --name $ksk_name
   ```

------
#### [ Console ]

   **禁用 DNSSEC 签名**

   1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择您要为其禁用 DNSSEC 签名的托管区域。

   1. 在 **DNSSEC signing**（DNSSEC 签名）选项卡上，选择 **Disable DNSSEC signing**（禁用 DNSSEC 签名）。

   1. 在 **Disable DNSSEC signing**（禁用 DNSSEC 签名）的页面上，根据您要禁用 DNSSEC 签名的区域，选择以下任一选项。
      + **仅限父区域** — 此区域具有带有 DS 记录的父区域。在这种情况下，您必须删除父区域的 DS 记录。
      + **仅限子区域** — 此区域具有包含一个或多个子区域的信任链的 DS 记录。在这种情况下，您必须删除区域的 DS 记录。
      + **父区域和子区域** — 此区域包含一个或多个子区域的信任链的 DS 记录*以及*具有 DS 记录的父区域。对于此场景，请执行以下操作：

        1. 删除区域的 DS 记录。

        1. 删除父区域的 DS 记录。

        如果您具有信任岛，可跳过本步骤。

   1. 确定您在步骤 4 中删除的每个 DS 记录的 TTL，请确保最长的 TTL 时间已过期。

   1. 选中复选框以确认您已按顺序执行步骤。

   1. 在字段中键入 *disable*，如图所示，然后选择 **Disable**（禁用）。

   **停用密钥签名密钥 (KSK) 的步骤**

   1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择您要为其停用密钥签名密钥的托管区域。

   1. **在 “密**钥签名密钥” (KSKs)** 部分，选择要停用的 KSK，然后在 “**操作**” 下，选择 **“编辑 KSK”，将 KSK 状态设置为 “**非活动**”，然后选择 “****保存 KSK**”。**

------

   **回滚：**呼叫[ActivateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ActivateKeySigningKey.html)和 [EnableHostedZoneDN](https://docs.aws.amazon.com/Route53/latest/APIReference/API_EnableHostedZoneDNSSEC.html) APIs SSEC。

   例如：

   ```
   aws --region us-east-1 route53 activate-key-signing-key \
               --hosted-zone-id $hostedzone_id --name $ksk_name
   
   aws --region us-east-1 route53 enable-hosted-zone-dnssec \
               --hosted-zone-id $hostedzone_id
   ```

1. 确认禁用区域签名是否有效。

   使用`EnableHostedZoneDNSSEC()`呼叫中的 ID 进行运行 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)，确保所有 Route 53 DNS 服务器都已停止对响应进行签名（状态 =`INSYNC`）。

1. 注意名称解析。

   应注意解析程序验证您的区域时没有导致问题。还要考虑 1-2 周客户向您报告问题所需的时间。

1. （可选）清除。

   如果您不想重新启用签名，则可以清 KSKs 理[DeleteKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteKeySigningKey.html)并删除相应的客户托管密钥以节省成本。

# 使用适用于 DNSSEC 的客户托管密钥
<a name="dns-configuring-dnssec-cmk-requirements"></a>

当您在 Amazon Route 53 中启用 DNSSEC 签名时，Route 53 会为您创建密钥签名密钥 (KSK)。要创建 KSK，Route 53 必须使用支持 DNSSEC AWS Key Management Service 的客户托管密钥。本节介绍了有关客户管理密钥的详细信息和要求，在您使用 DNSSEC 时能够有所帮助。

在使用适用于 DNSSEC 的客户托管密钥时，请牢记以下几点：
+ 与 DNSSEC 签名一起使用的客户托管密钥必须位于美国东部（弗吉尼亚北部）区域。
+ 客户托管密钥必须是采用 [ECC\$1NIST\$1P256 密钥规格](https://docs.aws.amazon.com//kms/latest/developerguide/asymmetric-key-specs.html#key-spec-ecc)的[非对称客户托管密钥](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks)。这些客户托管密钥仅用于签名和验证。有关创建非对称客户托管密钥的帮助，请参阅 AWS Key Management Service 开发人员指南中的[创建非对称客户托管密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-asymmetric-cmk)。要帮助查找现有客户托管密钥的加密配置，请参阅 AWS Key Management Service 开发人员[指南中的查看客户托管密钥的加密配置](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-crypto-config.html)。
+ 如果您在 Route 53 中自行创建客户托管密钥以与 DNSSEC 一起使用，则必须包含特定的密钥策略语句，以便为 Route 53 提供所需的权限。Route 53 必须能够访问您的客户托管密钥，以便它可以为您创建 KSK。有关更多信息，请参阅 [DNSSEC 签名所需的 Route 53 客户托管密钥权限](access-control-managing-permissions.md#KMS-key-policy-for-DNSSEC)。
+ Route 53 可以创建客户托管密钥供您使用 DNSSEC 签名，无需额外 AWS KMS 权限。 AWS KMS 但是，如果要在创建密钥后对其进行编辑，则必须具有特定的权限。您必须具有以下特定权限：`kms:UpdateKeyDescription`、`kms:UpdateAlias` 和 `kms:PutKeyPolicy`。
+ 请注意，无论您是创建客户托管密钥还是让 Route 53 为您创建密钥，您拥有的每个客户托管密钥都会单独收取费用。有关更多信息，请参阅[AWS Key Management Service 定价](https://aws.amazon.com/kms/pricing/)。

# 使用密钥签名密钥 () KSKs
<a name="dns-configuring-dnssec-ksk"></a>

启用 DNSSEC 签名时，Route 53 会为您创建密钥签名密钥 (KSK)。在 Route 53 中， KSKs 每个托管区域最多可以有两个。启用 DNSSEC 签名后，您可以添加、删除或编辑您的。 KSKs

使用您的设备时，请注意以下几点 KSKs：
+ 在删除 KSK 之前，您必须编辑 KSK 以将其状态设置为 **Inactive**（非活动）。
+ 当为托管区域启用 DNSSEC 签名时，Route 53 会将 TTL 限制为一周。如果将托管区域中记录的 TTL 设置为超过一周，则不会出现错误，但 Route 53 会强制执行一周的 TTL。
+ 为了帮助防止区域中断并避免域变得不可用的问题，您必须快速解决和处理 DNSSEC 错误。我们强烈建议您设置 CloudWatch 警报，在检测到`DNSSECInternalFailure`或`DNSSECKeySigningKeysNeedingAction`错误时提醒您。有关更多信息，请参阅 [使用 Amazon 监控托管区域 CloudWatch](monitoring-hosted-zones-with-cloudwatch.md)。
+ 本节中描述的 KSK 操作允许您轮换区域。 KSKs有关更多信息和 step-by-step示例，请参阅博客文章[使用 Amazon Route 53 配置 DNSSEC 签名和验证中的 DNSSEC](https://aws.amazon.com/blogs/networking-and-content-delivery/configuring-dnssec-signing-and-validation-with-amazon-route-53/) *密钥轮换*。

要 KSKs 在中使用 AWS 管理控制台，请按照以下各节中的指导进行操作。

## 添加密钥签名密钥 (KSK)
<a name="dns-configuring-dnssec-ksk-add-ksk"></a>

启用 DNSSEC 签名时，Route 53 会为您创建密钥签名密钥 (KSK)。您也可以 KSKs 单独添加。在 Route 53 中， KSKs 每个托管区域最多可以有两个。

创建 KSK 时，您必须提供或请求 Route 53 以创建用于 KSK 的客户托管密钥。当您提供或创建客户托管密钥时，有几个要求。有关更多信息，请参阅 [使用适用于 DNSSEC 的客户托管密钥](dns-configuring-dnssec-cmk-requirements.md)。

请按照以下步骤在 AWS 管理控制台中添加 KSK。<a name="dns-configuring-dnssec-ksk-add-ksk-procedure"></a>

**要添加 KSK**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择一个托管区域。

1. **在 **DNSSEC 签名**选项卡的密**钥签名密钥 (KSKs)** 下，选择**切换到高级视图**，然后在**操作**下选择添加 KSK。**

1. 在 **KSK** 项下，输入 Route 53 将为您创建的 KSK 的名称。名称只能包含字母、数字和下划线 (\$1)。此名称必须唯一。

1. 输入适用于 DNSSEC 签名的客户托管密钥，或输入 Route 53 将为您创建的新客户托管密钥的别名。
**注意**  
如果您选择让 Route 53 创建客户托管密钥，请注意，每个客户托管密钥都会单独收取费用。有关更多信息，请参阅[AWS Key Management Service 定价](https://aws.amazon.com/kms/pricing/)。

1. 选择 **Create KSK**（创建 KSK）。

## 编辑密钥签名密钥 (KSK)
<a name="dns-configuring-dnssec-ksk-edit-ksk"></a>

您可以将 KSK 的状态编辑为 **Active**（活动）或者 **Inactive**（非活动）。当 KSK 处于活动状态时，Route 53 将使用该 KSK 进行 DNSSEC 签名。在删除 KSK 之前，您必须编辑 KSK 以将其状态设置为 **Inactive**（非活动）。

按照以下步骤在 AWS 管理控制台中编辑 KSK。<a name="dns-configuring-dnssec-ksk-edit-ksk-procedure"></a>

**要编辑 KSK**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择一个托管区域。

1. **在 **DNSSEC 签名**选项卡的密**钥签名密钥 (KSKs)** 下，选择**切换到高级视图**，然后在**操作**下选择编辑 KSK。**

1. 对 KSK 进行所需的更新，然后选择 **Save**（保存）。

## 删除密钥签名密钥 (KSK)
<a name="dns-configuring-dnssec-ksk-delete-ksk"></a>

在删除 KSK 之前，您必须编辑 KSK 以将其状态设置为 **Inactive**（非活动）。

您可能删除 KSK 的原因之一是例行密钥转动的一部分。定期转动加密密钥是最佳实践。您的组织可能有关于转动密钥频率的标准指导。

请按照以下步骤在 AWS 管理控制台中删除 KSK。<a name="dns-configuring-dnssec-ksk-delete-ksk-procedure"></a>

**要删除 KSK**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones**（托管区域），然后选择一个托管区域。

1. **在 **DNSSEC 签名**选项卡的密**钥签名密钥 (KSKs)** 下，选择**切换到高级视图**，然后在**操作**下选择删除 KSK。**

1. 按照指导确认删除 KSK。

# Route 53 中的 KMS 密钥和 ZSK 管理
<a name="dns-configuring-dnssec-zsk-management"></a>

本节介绍 Route 53 用于启用 DNSSEC 签名的区域的当前做法。

**注意**  
Route 53 将使用以下规则（可能更改）。未来的任何更改都不会降低您的区域或 Route 53 的安保状况。

**Route 53 如何使用与你的 KSK AWS KMS 关联的**  
在 DNSSEC 中，KSK 用于为 DNSKEY 资源记录集生成资源记录签名（RRSIG)。所有这些`ACTIVE` KSKs 都用在 RRSIG 生成中。Route 53 通过在关联的 KMS 密钥上调用 `Sign` AWS KMS API 来生成 RRSIG。有关更多信息，请参阅 *AWS KMS API 参考指南*中的[签名](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)。这些 RRSIGs不计入区域的资源记录集限制。  
RRSIG 拥有过期期限。为防止过期，每隔一 RRSIGs 到 RRSIGs 七天对其进行一次再生，从而定期刷新。  
每次您拨打 RRSIGs 以下任一电话时，也会刷新： APIs  
+ [ActivateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ActivateKeySigningKey.html)
+ [CreateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateKeySigningKey.html)
+ [DeactivateKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeactivateKeySigningKey.html)
+ [DeleteKeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteKeySigningKey.html)
+ [DisableHostedZoneDNSSEC](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DisableHostedZoneDNSSEC.html)
+ [EnableHostedZoneDNSSEC](https://docs.aws.amazon.com/Route53/latest/APIReference/API_EnableHostedZoneDNSSEC.html)
每次 Route 53 执行刷新时，我们都会生成 15 个刷新 RRSIGs 以覆盖接下来的几天，以防关联的 KMS 密钥无法访问。对于 KMS 密钥成本估算，您可以假设每天定期刷新一次。无意中对 KMS 密钥策略进行更改可能导致无法访问 KMS 密钥。无法访问的 KMS 密钥会将关联的 KSK 状态设置为 `ACTION_NEEDED`。我们强烈建议您在检测到`DNSSECKeySigningKeysNeedingAction`错误时通过设置 CloudWatch 警报来监控这种情况，因为验证解析器将在最后一个 RRSIG 到期后开始失败查找。有关更多信息，请参阅 [使用 Amazon 监控托管区域 CloudWatch](monitoring-hosted-zones-with-cloudwatch.md)。

**Route 53 如何管理区域的 ZSK**  
每个启用 DNSSEC 签名的新托管区域都将有一个 `ACTIVE` 区域签名密钥（ZSK)。ZSK 是为每个托管区域单独生成的，为 Route 53 所有。当前的密钥算法是 ECDSAP256SHA256。  
我们将在签名开启后的 7—30 天内开始在该区域进行定期 ZSK 转动。目前，Route 53 使用“发布前密钥滚动”方法。有关更多信息，请参阅[发布前区域签名密钥滚动](https://datatracker.ietf.org/doc/html/rfc6781#section-4.1.1.1)。这种方法将向该区域引入另一个 ZSK。转动将每 7-30 天重复一次。  
如果该区域的任何一个 KSK `ACTION_NEEDED` 处于状态，Route 53 将暂停 ZSK 轮换，因为 Route 53 将无法重新生成 for DNSKEY 资源记录集以应对该区域 ZSK 的变化。 RRSIGs 清除条件后，ZSK 转动将自动恢复。

# Route 53 中的 DNSSEC 不存在证明
<a name="dns-configuring-dnssec-proof-of-nonexistence"></a>

**注意**  
Route 53 将使用以下规则（可能更改）。未来的任何更改都不会降低您的区域或 Route 53 的安保状况。

DNSSEC 中有三种不存在证明：
+ 与查询名称匹配的记录的不存在证明。
+ 与查询类型匹配的类型的不存在证明。
+ 用于生成回应记录的通配符记录的存在证明。

Route 53 使用 BL 方法执行了与查询名称匹配的记录的不存在证明。有关更多信息，请参阅 [BL](https://datatracker.ietf.org/doc/html/draft-valsorda-dnsop-black-lies-00)。这是一种能够生成证明的紧凑表示法并防止区域步行的方式。

如果有记录与查询名称匹配但与查询类型不匹配（例如查询 web.example）。 com/AAAA but there is only web.example.com/Apresent），我们返回一个包含所有支持的资源记录类型的最小 NSEC（下一个安全）记录。

当 Route 53 从通配符记录中合成答案时，响应将不会附带通配符的下一条安全记录或 NSEC 记录。在某些实施过程（通常是执行离线签名）中会使用此类 NSEC 记录，以防止响应中的资源记录签名（RRRSIG）被重新使用来欺骗不同的响应。Route 53 对非 DNSKey 记录使用在线签名来生成 RRSIGs特定于该响应的响应，这些响应不能重复用于不同的响应。

# DNSSEC 签名的问题排查
<a name="dns-configuring-dnssec-troubleshoot"></a>

本节中的信息可以帮助您解决 DNSSEC 签名问题，包括启用、禁用和密钥签名密钥 ()。KSKs

启用 DNSSEC  
在开始启用 DNSSEC 签名之前，请确保已阅读 [在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md) 中的先决条件。

禁用 DNSSEC  
为了安全地禁用 DNSSEC，Route 53 将检查目标区域是否在信任链中。它检查目标区域的父区域是否有目标区域的任何 NS 记录和 DS 记录。如果目标区域无法公开解析，例如，在查询 NS 和 DS 时获得 SERVFAIL 响应，则 Route 53 无法确定禁用 DNSSEC 是否安全。您可以联系父区域来解决这些问题，并稍后重试禁用 DNSSEC。

KSK 状态为 **Action needed**（需要操作）  
当 Route 53 DNSSEC 无法访问相应的（由于权限更改或`ACTION_NEEDED`删除）时，KSK 可以将其[KeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_KeySigningKey.html)状态更改为 “**需要操作**” AWS KMS key （或 AWS KMS key 处于状态）。  
如果 KSK 的状态是 **Action needed**（需要操作），这意味着最终会对使用 DNSSEC 验证解析程序的客户端造成区域中断，并且您必须迅速采取行动，防止生产区域变得无法解析。  
要纠正此问题，请确保您的 KSK 所基于的客户托管式密钥已启用且具有正确的权限。有关所需权限的更多信息，请参阅 [DNSSEC 签名所需的 Route 53 客户托管密钥权限](access-control-managing-permissions.md#KMS-key-policy-for-DNSSEC)。  
修复 KSK 后，使用控制台或（如所述）再次将其激活。 AWS CLI[步骤 2：启用 DNSSEC 签名并创建 KSK](dns-configuring-dnssec-enable-signing.md#dns-configuring-dnssec-enable)  
为了防止将来出现此问题，请考虑按照中的建议添加一个 Amazon CloudWatch 指标来跟踪 KSK 的状态。[在 Amazon Route 53 中配置 DNSSEC 签名](dns-configuring-dnssec.md)

KSK 状态为 **Internal failure**（内部故障）  
当 KSK 的状态为**内部故障**（或处于[KeySigningKey](https://docs.aws.amazon.com/Route53/latest/APIReference/API_KeySigningKey.html)状态）时，`INTERNAL_FAILURE`在问题得到解决之前，您无法使用任何其他 DNSSEC 实体。在使用 DNSSEC 签名（包括使用此 KSK 或其它 KSK）之前，您必须采取措施。  
要更正问题，请重试激活或停用 KSK。  
 要在使用时更正问题 APIs，请尝试启用签名 ([EnableHostedZoneDNSSEC) 或禁用签名 ([DisableHostedZoneD](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DisableHostedZoneDNSSEC.html) NSSEC](https://docs.aws.amazon.com/Route53/latest/APIReference/API_EnableHostedZoneDNSSEC.html))。  
重要的是要及时纠正 **Internal failure**（内部故障）这一问题。在解决问题之前，您无法对托管区域进行任何其它更改，除了为修复 **Internal failure**（内部故障）所进行的操作。

# 使用 AWS Cloud Map 创建记录和运行状况检查
<a name="autonaming"></a>

如果您要将互联网流量或 Amazon VPC 内的流量路由到应用程序组件或微服务，则可以使用 AWS Cloud Map 自动创建记录和（可选）运行状况检查。有关更多信息，请参见[AWS Cloud Map 开发人员指南](https://docs.aws.amazon.com/cloud-map/latest/dg/)。

# DNS 约束和行为
<a name="DNSBehavior"></a>

DNS 消息传递受若干因素约束，这些因素会影响您创建和使用托管区域及记录的方式。本节将对这些因素加以说明。

## 最大响应大小
<a name="MaxSize"></a>

为了符合 DNS 标准，通过 UDP 发送的响应大小不超过 512 字节。超过 512 字节的响应将被截断，解析程序必须通过 TCP 重新发出请求。如果解析程序支持 [RFC 2671](https://tools.ietf.org/html/rfc2671) 中定义的 EDNS0 并向 Amazon Route 53 公布了 EDNS0 选项，Route 53 将允许通过 UDP 发送的响应达到 4096 字节，而且不会截断。

## “授权”部分的处理
<a name="AuthSectionProcessing"></a>

为使查询成功，Route 53 会将相关托管区域的名称服务器 (NS) 记录附加到 DNS 响应的“授权”部分。对于找不到的名称（NXDOMAIN 响应），Route 53 会将相关托管区域的授权起始点 (SOA) 记录（如 [RFC 1035](https://tools.ietf.org/html/rfc1035) 中定义）附加到 DNS 响应的“授权”部分。

## “其他”部分的处理
<a name="SectionProcessing"></a>

Route 53 会将记录附加到“其它”部分。如果记录已知且合适，服务将为“应答”部分中引述的 MX、CNAME、NS 或 SRV 记录的任何目标附加 A 或 AAAA 记录。有关 DNS 记录类型的更多信息，请参阅[支持的 DNS 记录类型](ResourceRecordTypes.md)。

# 相关主题
<a name="dns-configuring-related-topics"></a>

有关开始将域注册（而非仅 DNS 托管）转移到 Route 53 的更多信息，请参阅以下主题：
+ [域转移的转移前核对清单](domain-transfer-checklist.md) – 在转移域注册之前请完成此核对清单，以避免常见的转移失败。
+ [将域注册转移到 Amazon Route 53](domain-transfer-to-route-53.md) – 将域注册从其他注册商转移到 Route 53 的分步流程。
+ [转移域](domain-transfer.md) – 概述所有域转移选项，包括在 AWS 账户之间的转移。