

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

# 主动/主动和主动/被动故障转移
<a name="dns-failover-types"></a>

可以使用 Route 53 运行状况检查来配置双活和主动/被动的故障转移配置。您可以使用故障转移以外的任何[路由策略](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) (或路由策略组合) 配置主动/被动故障转移，并使用故障转移路由策略配置主动/被动故障转移。

**Topics**
+ [主动/主动故障转移](#dns-failover-types-active-active)
+ [主动/被动故障转移](#dns-failover-types-active-passive)

## 主动/主动故障转移
<a name="dns-failover-types-active-active"></a>

如果您希望所有资源在大部分时间内都可用，可使用此故障转移配置。当某个资源不可用时，Route 53 可以检测到它运行状况不佳并且停止在响应查询时包含该资源。

在双活故障转移中，具有相同名称、相同类型（例如 A 或 AAAA）和相同路由策略（如加权或延迟）的所有记录处于活动状态，除非 Route 53 认为它们运行状况不良。Route 53 可以使用任何运行状况良好的记录响应 DNS 查询。

## 主动/被动故障转移
<a name="dns-failover-types-active-passive"></a>

如果您希望主资源或资源组在大部分时间内可用，同时希望辅助资源或资源组处于备用状态以防所有主资源均不可用，可使用主动/被动故障转移配置。响应查询时，Route 53 将只包含运行状况良好的主资源。如果所有主资源的运行状况都不佳，Route 53 将只在 DNS 查询的响应中包含运行状况良好的辅助资源。

**Topics**
+ [使用一个主资源和一个辅助资源配置主动/被动故障转移](#dns-failover-types-active-passive-one-resource)
+ [使用多个主资源和多个辅助资源配置主动/被动故障转移](#dns-failover-types-active-passive-multiple-resources)
+ [使用加权记录配置主动/被动故障转移](#dns-failover-types-active-passive-weighted)

### 使用一个主资源和一个辅助资源配置主动/被动故障转移
<a name="dns-failover-types-active-passive-one-resource"></a>

要使用一个主记录和一个辅助记录创建主动/被动故障转移配置，只需创建相应记录并指定 **Failover** (故障转移) 作为路由策略。当主资源运行状况良好时，Route 53 使用主记录响应 DNS 查询。当主资源运行状况不良时，Route 53 使用辅助记录响应 DNS 查询。

### 使用多个主资源和多个辅助资源配置主动/被动故障转移
<a name="dns-failover-types-active-passive-multiple-resources"></a>

您还可以将多个资源与主记录和/或辅助记录关联。在使用该配置时，只要有至少一个关联资源的运行状况良好，Route 53 便认为主故障转移记录的运行状况良好。有关更多信息，请参阅 [Amazon Route 53 在已配置运行状况检查时如何选择记录Route 53 在已配置运行状况检查时如何选择记录](health-checks-how-route-53-chooses-records.md)。

要使用多个资源为主记录或辅助记录配置主动/被动故障转移，请执行以下任务。

1. 为要将流量路由到其中的每个资源 (例如 EC2 实例或您数据中心中的 Web 服务器) 创建运行状况检查。
**注意**  
如果您要将流量路由到可以为其创建[别名记录](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html)的任何 AWS 资源，请不要为这些资源创建运行状况检查。在创建别名记录时，改为将 **Evaluate Target Health** (评估目标运行状况) 设置为 **Yes** (是)。

   有关更多信息，请参阅 [创建和更新运行状况检查](health-checks-creating.md)。

1. 为主资源创建记录，并指定以下值：
   + 为每个记录指定相同的名称、类型和路由策略。例如，您可以创建三个都名为 failover-primary.example.com 的 A 加权记录。
   + 如果您正在使用可以为其创建别名记录的 AWS 资源，请将 “**评估目标健康状况” 指定为 “**是**”。**

     如果您要使用不能为其创建别名记录的资源，请将第 1 步中的适用运行状况检查与每个记录关联。

   有关更多信息，请参阅 [通过使用 Amazon Route 53 控制台创建记录](resource-record-sets-creating.md)。

1. 如果适合，则为辅助资源创建记录，并指定以下值：
   + 为每个记录指定相同的名称、类型和路由策略。例如，您可以创建三个都名为 failover-secondary.example.com 的 A 加权记录。
   + 如果您正在使用可以为其创建别名记录的 AWS 资源，请将 “**评估目标健康状况” 指定为 “**是**”。**

     如果您要使用不能为其创建别名记录的资源，请将第 1 步中的适用运行状况检查与每个记录关联。
**注意**  
有些客户使用 Web 服务器作为其主资源，并将配置为网站端点的 Amazon S3 存储桶作为辅助资源。S3 存储桶包含简单的“暂时不可用”消息。如果您使用该配置，可以跳过此步骤，只需为第 4 步中的辅助资源创建一个故障转移别名记录。

1. 创建一主一辅的两个故障转移别名记录，并指定以下值：  
**主记录**  
   + **名称** — 指定希望 Route 53 用于路由流量的域名 (example.com) 或子域名 (www.example.com)。
   + **别名** — 指定 **Yes**（是）。
   + **别名目标** — 指定您在第 2 步中创建的记录的名称。
   + **路由策略** — 指定 **Failover**（故障转移）。
   + **故障转移记录类型** — 指定 **Primary**（主副本）。
   + **评估目标运行状况** — 指定 **Yes**（是）。
   + **与运行状况检查关联** — 指定 **No**（否）。  
**辅助记录**  
   + **名称** — 指定为主记录指定的相同名称。
   + **别名** — 指定 **Yes**（是）。
   + **别名目标** — 如果为您在第 3 步中创建的辅助资源创建了记录，请指定对应记录的名称。如果您使用 Amazon S3 存储桶作为辅助资源，请指定网站端点的 DNS 名称。
   + **路由策略** — 指定 **Failover**（故障转移）。
   + **故障转移记录类型** — 指定 **Secondary**（辅助）。
   + **评估目标运行状况** — 指定 **Yes**（是）。
   + **与运行状况检查关联** — 指定 **No**（否）。

### 使用加权记录配置主动/被动故障转移
<a name="dns-failover-types-active-passive-weighted"></a>

您还可以使用加权记录实现主动/被动故障转移，但需注意以下事项。如果为部分记录指定非零权重，为其它记录指定零权重，则 Route 53 仅使用具有非零权重且运行状况良好的记录响应 DNS 查询。如果权重大于 0 的所有记录的运行状况都不良，则 Route 53 将使用零权重记录响应查询。

**注意**  
具有非零权重的所有记录都必须处于运行状况不良的状态，然后 Route 53 才能开始使用零权重的记录响应 DNS 查询。在所有其他资源不可用，且最后一个运行状况良好的资源 (如 Web 服务器) 无法处理所有流量时，会导致您的 Web 应用程序或网站不可靠。