关于用于自动跨区域故障切换的复合健康状况
借助复合健康状况,服务提供方可以定义用于确定区域级已发布服务健康状态的标准。这些健康状态支持为使用 Private Service Connect 后端的服务使用方实现自动跨区域故障切换。健康状态基于服务提供方的后端(虚拟机或网络端点)的汇总健康状况,与从响应失败中推断健康状况的离群值检测相比,可为使用方提供更准确的故障切换信号。
如需启用跨区域故障切换,服务提供方和使用方都必须使用多区域部署。配置复合健康状况后,每个区域级已发布服务的健康状况会自动传播到使用方的负载平衡器。如果一个区域中的已发布服务运行状况不佳,使用方的负载均衡器会停止将流量路由到该服务,而是将流量路由到备用区域中运行状况良好的已发布服务实例。
部署要求
本部分介绍了服务提供方和服务使用方如何为多区域部署配置资源,以支持使用复合健康状况的自动跨区域故障切换。
如需详细了解负载均衡器和后端类型的要求,请参阅规范。
提供方配置:
使用方配置:
- 创建 Private Service Connect 后端以访问已发布服务。后端必须基于支持跨区域故障切换的负载均衡器,并且包含以下配置:
- 每个区域中指向该区域服务连接的 Private Service Connect NEG
- 包含 Private Service Connect NEG 后端的全球后端服务
下图展示了多区域部署:
此示例展示了一个连接到在多个区域中发布的服务的使用方全球外部应用负载均衡器。通过受支持的全球或跨区域负载均衡器访问多区域服务,可让服务使用方利用综合健康检查实现自动跨区域故障切换(点击可放大)。
复合健康状况组件
综合健康状况使用以下组件来支持自动跨区域故障切换。
上图显示了复合健康状况的关键组成部分。 健康状况汇总政策用于定义健康状况来源被视为健康状况良好的条件。复合健康检查会将各个健康状况来源的健康状态合并为单一状态,并将结果传递到健康状况目标。
健康状况汇总政策
健康状况汇总政策是一种资源,您可以通过创建该资源来定义后端服务必须满足哪些条件,才能被视为健康状况良好。政策会汇总后端服务后端的健康状况(实例组中的虚拟机或 NEG 中的网络端点),具体取决于定期健康检查的结果。
如果满足以下两个可配置的条件,则后端服务会被视为健康状况良好:
健康端点百分比:必须处于健康状态的后端所占的最低百分比。默认值为 60%。
运行状况良好的端点数量下限:必须处于健康状态的后端数量下限。默认值为 1。
例如,您可以创建一项政策,规定后端服务的后端必须至少有 75% 处于健康状态,并且至少有 3 个后端处于健康状态。如果健康后端的数量低于任一阈值,则后端服务会被视为不健康。
健康类内容来源
健康状况来源是一种资源,可提供单个后端服务的健康状况,以便在复合健康检查中进行汇总。创建健康数据源时,您需要指定以下内容:
- 要监控的后端服务
- 用于确定后端服务健康状况的健康状况汇总政策
健康状况来源会根据健康状况汇总政策中定义的条件,来判定所关联后端服务的健康状态。
复合健康检查
复合健康检查是一种资源,用于汇总一个或多个健康状况来源的健康状态,以生成区域级已发布服务的单一复合健康状态。如果每个关联的健康状况来源都正常,则已发布的服务会被视为正常。如果任何健康状况来源的健康状况不佳,则服务会被视为健康状况不佳。
健康状况目标
健康状况目标会从复合健康检查接收最终的复合健康状态。对于已发布的服务,健康状况检查目标是提供方负载均衡器的转发规则。健康状态会自动传播到连接到此转发规则的使用方负载均衡器。
规格
复合健康数据具有以下规范。
行为:
- 后端服务中各个后端的健康状况由标准健康检查来确定。
- 可配置的健康状况汇总政策会根据后端服务的各个后端的健康状况,来判定后端服务的总体健康状态。
- 复合健康检查会汇总一个或多个配置为健康状况来源的后端服务的健康状态,从而创建复合健康状态。
- 复合健康状态会提供给健康状况目标,该目标必须是已发布服务的转发规则。
- 系统会自动将综合健康状态传播到关联的使用方负载平衡器,不健康状态会触发自动跨区域故障切换。
- 默认情况下,健康状况转换会由 Cloud Logging 记录。制作方可以查看健康状况来源和复合健康检查的日志。使用方可以查看连接到使用复合健康状况的已发布服务的 Private Service Connect NEG 的日志。如需了解详情,请参阅监控复合健康状况。
配置:
- 服务提供方和服务使用方必须在多区域部署中配置资源。
- 每个区域级已发布的服务都必须使用支持复合健康检查的负载均衡器。
- 用作健康状况来源的后端服务必须具有
INTERNAL或INTERNAL_MANAGED的负载均衡方案。 - 已发布的服务必须具有以下后端类型之一:
- 已发布的服务必须通过使用支持跨区域故障切换的负载平衡器的 Private Service Connect 后端进行访问。
- 所有复合健康状况资源都是区域级资源,必须与您要监控的已发布服务位于同一区域。
- 健康状况来源资源必须仅引用一个后端服务。
- 复合健康检查资源必须引用 1 到 10 个健康状况来源。
- 转发规则只能作为一项复合健康检查的健康状况目标。
运行状况
综合健康状况使用以下状态来表示已发布服务和后端服务的健康状况。
| 健康状况 | 受监控的资源 | 说明 |
|---|---|---|
HEALTHY |
健康类内容来源 | 关联的后端服务健康状况良好,如其健康状况汇总政策所定义。 |
| 复合健康检查 | 由于关联的每个健康状况来源都正常,因此已发布的服务运行状况良好。 | |
| Private Service Connect NEG | 关联的已发布服务健康状况良好,如提供方的复合健康检查所定义。 | |
UNHEALTHY |
健康类内容来源 | 后端服务不符合其健康状况汇总政策中定义的条件。 |
| 复合健康检查 | 由于一个或多个关联的健康状况来源不正常,已发布的服务不正常。 | |
| Private Service Connect NEG | 关联的已发布服务健康状况不佳,这是由提供方的复合健康检查确定的;此状态可能会触发跨区域故障切换。 | |
UNKNOWN |
健康类内容来源 | 健康状态尚不可用。这是在资源新建或配置时出现的暂时性状态。 |
| 复合健康检查 | 没有关联的健康状况来源处于不健康状态,但有一个或多个健康状况来源处于未知状态。 | |
| Private Service Connect NEG | 关联的已发布服务的健康状态尚不可用。 |
限制
复合健康数据存在以下限制:
- 所有复合健康状况资源(包括它们引用的后端服务和转发规则)都必须位于同一项目中。
- 您无法将一项服务的复合健康状态用作另一项服务的健康状况来源。
- 目前没有可用于测试健康检查配置的模式,该模式不会影响已连接的使用方。任何已配置的复合健康检查都可以立即触发故障切换。
- 复合健康状况仅支持访问已发布服务的 Private Service Connect 后端。
价格
如需了解价格,请参阅 VPC 价格。
后续步骤
- 如需配置复合健康状况,请参阅配置复合健康状况以实现自动跨区域故障切换。