

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

# Amazon Route 53 在已配置运行状况检查时如何选择记录
<a name="health-checks-how-route-53-chooses-records"></a>

如果您配置了为具有相同名称、相同类型 (A 或 AAAA) 和相同路由策略 (如加权或故障转移) 的一组记录中的所有记录进行运行状况检查，则 Route 53 会选择运行良好的记录并返回该记录中的适用值，以响应 DNS 查询。

例如，假设您创建三个加权 A 记录，并且为所有三个记录分配运行状况检查。如果其中一个记录的运行状况检查结果是运行状况不良，则 Route 53 会使用另外两个记录之一中的 IP 地址响应 DNS 查询。

Route 53 使用以下方法来选择运行状况良好的记录：

1. Route 53 最初根据路由策略和您为每个记录指定的值来选择记录。例如，对于加权记录，Route 53 会根据您为每个记录指定的权重选择记录。

1. Route 53 会确定记录是否运行状况良好：
   + **关联运行状况检查的非别名记录** — 如果将运行状况检查与非别名记录关联，Route 53 会检查运行状况检查的当前状态。

     Route 53 会定期检查在运行状况检查中指定的端点的运行状况；当 DNS 查询到达时，它不会执行运行状况检查。

     您可以将运行状况检查与别名记录关联，但我们建议您仅将运行状况检查与非别名记录关联。有关更多信息，请参阅 [在将运行状况检查与别名记录关联时会发生什么？](dns-failover-complex-configs.md#dns-failover-complex-configs-hc-alias)。
   + **“评估目标运行状况”设置为“是”**的别名记录 — Route 53 会检查别名记录所引用资源（例如，ELB 负载均衡器或同一托管区域中的另一记录）的运行状况。

1. 如果记录的运行状况良好，Route 53 将使用适用值（如 IP 地址）响应查询。

   如果记录运行状况不良，则 Route 53 会使用相同标准选择另一记录并重复上述流程，直到找到一个运行状况良好的记录。

Route 53 将使用以下标准选择记录：

**不带运行状况检查的记录始终是运行状况良好的记录**  
如果具有相同名称和类型的一组记录中的某个记录没有关联的运行状况检查，Route 53 将始终认为其运行状况良好，并始终将其包含在可用的响应查询中。

**如果没有运行状况良好的记录，则认为所有记录均为运行状况良好**  
如果一组记录中所有记录的运行状况均不良，而 Route 53 需要返回一些内容以响应 DNS 查询，但它没有了选择记录的标准。在这种情况下，Route 53 将认为该组中所有记录的运行状况都良好，并根据路由策略和为每个记录指定的值选择记录。

**权重为 0 的加权记录**  
如果为一组加权记录中的所有记录添加运行状况检查，但为部分记录指定非零权重并为其他记录指定零权重，那么运行状况检查会按照所有记录均具有非零权重的情况进行，但下列情况除外：  
+ Route 53 最初仅考虑非零加权记录（如果有）。
+ 如果权重大于 0 的所有记录的运行状况都不良，Route 53 会考虑零权重的记录。
由于 Route 53 在某些情况下会考虑零加权记录，因此务必确保零加权目标对 DNS 查询也有可行的答案。  
有关加权记录的更多信息，请参阅 [运行状况检查和加权路由](routing-policy-weighted.md#routing-policy-weighted-healthchecks)。

**别名记录**  
还可以为每个别名记录将 **Evaluate Target Health** (评估目标运行状况) 设置为 **Yes** (是)，为别名记录配置运行状况检查。此时，Route 53 会评估记录将流量路由到其中的资源 (例如，ELB 负载均衡器或同一托管区域中的另一记录) 的运行状况。  
例如，假设别名记录的别名目标是一组全部具有非零权重的加权记录：  
+ 只要至少有一个加权记录的运行状况良好，Route 53 便认为该别名记录运行状况良好。
+ 如果所有加权记录的运行状况都不良，Route 53 将认为该别名记录运行状况不良。
+ Route 53 将不再考虑该树分支中的记录，直到至少有一个加权记录再次变为正常状态。
有关更多信息，请参阅 [复杂 Amazon Route 53 配置中的运行状况检查的工作原理复杂配置中的运行状况检查的工作原理](dns-failover-complex-configs.md)。

**故障转移记录**  
故障转移记录的工作方式通常和其他路由类型相同。您可以创建运行状况检查并将其与非别名记录关联，然后将别名记录的 **Evaluate Target Health** (评估目标运行状况) 设置为 **Yes** (是)。注意以下几点：  
+ 主记录和辅助记录都可以是非别名记录或者别名记录。
+ 如果您将运行状况检查与主和辅助故障转移记录关联，下面是 Route 53 响应请求的方式：
  + 如果 Route 53 认为主记录运行状况良好（如果运行状况检查端点的运行状况良好），Route 53 将只返回主记录来响应 DNS 查询。
  + 如果 Route 53 认为主记录运行状况不佳，辅助记录运行状况良好，Route 53 将改为返回辅助记录。
  + 如果 Route 53 认为主和辅助记录的运行状况都不佳，Route 53 将返回主记录。
+ 在配置辅助记录时，可添加运行状况检查，也可不添加。如果您省略用于辅助记录的运行状况检查，并且主记录的运行状况检查端点运行状况不佳，则 Route 53 始终使用辅助记录来响应 DNS 查询。即使辅助记录运行状况不良时也是如此。
有关更多信息，请参阅以下主题：  
+ [使用一个主资源和一个辅助资源配置主动/被动故障转移](dns-failover-types.md#dns-failover-types-active-passive-one-resource)
+ [使用多个主资源和多个辅助资源配置主动/被动故障转移](dns-failover-types.md#dns-failover-types-active-passive-multiple-resources)