

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

# 使用公有托管区
<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
```