简单 Amazon Route 53 配置中的运行状况检查的工作原理
当有两个或更多资源执行相同功能 (例如用于 example.com 的两个或更多 Web 服务器) 时,可使用下列运行状况检查功能,将流量仅路由到运行状况良好的资源:
- 检查 EC2 实例和其他资源的运行状况 (非别名记录)
如果要将流量路由到无法为其创建别名记录的资源 (如 EC2 实例),可为每个资源创建记录和运行状况检查。然后,将每个运行状况检查与适用的记录关联。运行状况检查会定期检查对应资源的运行状况,而且 Route 53 仅将流量路由到运行状况检查报告为运行状况良好的资源。
- 评估 AWS 资源的运行状况(别名记录)
如果使用别名记录将流量路由到所选 AWS 资源(如 ELB 负载均衡器),可以将 Route 53 配置为评估资源运行状况并仅将流量路由到运行状况良好的资源。在配置别名记录以评估一个资源的运行状况时,不需要为该资源创建运行状况检查。
下面将简单介绍一下,在简单配置中如何配置 Route 53 来检查资源的运行状况:
-
确定希望 Route 53 监控其运行状况的资源。例如,您可能要监控所有响应对 example.com 的请求的 HTTP 服务器。
-
对于不能为其创建别名记录的资源,如 EC2 实例或您自己的数据中心中运行的服务器,为其创建运行状况检查。您指定如何将运行状况检查请求发送到资源:使用哪种协议 (TCP、HTTPS 或 HTTP)、使用哪个 IP 地址和端口,对于 HTTP/HTTPS 运行状况检查,还需指定域名和路径。
注意
如果您正在使用的任何资源是可以为其创建别名记录的资源,如 ELB 负载均衡器,不要为这些资源创建运行状况检查。
常见配置是为每个资源创建一个运行状况检查,并对该运行状况检查端点使用与资源相同的 IP 地址。运行状况检查将请求发送到指定的 IP 地址。
注意
Route 53 不能检查 IP 地址为本地、私有、不可路由或多播范围的资源的运行状况。有关不能为其创建运行状况检查的 IP 地址的更多信息,请参阅 RFC 5735, Special Use IPv4 Addresses
和 RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space 。 有关创建运行状况检查的更多信息,请参阅创建、更新和删除运行状况检查。
-
您可能需要配置路由器和防火墙规则,以使 Route 53 可向您在运行状况检查中指定的端点发送常规请求。有关更多信息,请参阅 为 Amazon Route 53 运行状况检查配置路由器和防火墙规则。
-
您可以为资源创建一组记录,例如一组加权记录。您可以组合使用别名和非别名记录,但它们都必须具有相同的 Name (名称)、Type (类型) 和 Routing Policy (路由策略)。
您如何配置 Route 53 来检查资源的运行状况取决于您是要创建别名记录还是非别名记录:
别名记录 — 为 Evaluate Target Health(评估目标运行状况)指定 — Yes(是)。
非别名记录 — 将您在第 2 步中创建的运行状况检查与对应记录关联。
完成后,您的配置将类似于以下图表,其中仅包含非别名记录:
有关使用 Route 53 控制台创建记录的更多信息,请参阅 通过使用 Amazon Route 53 控制台创建记录。
-
如果您创建了运行状况检查,Route 53 会定期向端点发送运行状况检查请求;它在接收 DNS 查询时不执行运行状况检查。Route 53 会根据响应确定端点是否运行良好,并使用该信息来确定如何响应查询。有关更多信息,请参阅 Amazon Route 53 如何确定运行状况检查是否正常。
Route 53 不会检查记录中所指定资源的运行状况,如在 example.com 的 A 记录中指定的 IP 地址。当您将运行状况检查与记录关联时,Route 53 将开始检查您在运行状况检查中所指定端点的运行状况。您还可以配置 Route 53 以监控其它运行状况检查的运行状况或监控 CloudWatch 告警的数据流。有关更多信息,请参阅 Amazon Route 53 运行状况检查类型。
当 Route 53 收到对 example.com 的查询时,将发生以下情况:
Route 53 根据路由策略选择记录。在这种情况下,它会根据权重来选择记录。
它通过检查选定记录的运行状况检查的状态来确定该记录的当前运行状况。
如果所选记录运行状况不佳,则 Route 53 会选择不同的记录。此时,将不考虑运行状况不佳的记录。
有关更多信息,请参阅 Amazon Route 53 在已配置运行状况检查时如何选择记录。
当 Route 53 发现运行状况良好的记录时,它会使用适用值 (如 A 记录中的 IP 地址) 来响应查询。
以下示例显示了一组加权记录,其中第三个记录的运行状况不佳。最初,Route 53 会根据所有三个记录的权重选择一个记录。如果第一次碰巧选择了运行状况不佳的记录,Route 53 会选择另一个记录,但这次将在计算中忽略第三个记录的权重:
-
当 Route 53 最初从全部三个记录中进行选择时,在大约 20% 的时间内 (10/(10+20+20)),它会使用第一个记录来响应请求。
-
当 Route 53 确定第三个记录运行状况不佳时,在大约 33% 的时间内 (10/(10+20)),它将使用第一个记录来响应请求。
如果您在一组记录的一个或多个记录中省略运行状况检查,则 Route 53 无法确定对应资源的运行状况。Route 53 将这些记录视为运行良好。