使用运行状况检查
IBM Cloud® Application Load Balancer for VPC (ALB) 会定期进行健康检查,以监控后端端口的健康状况,并相应地将客户端流量转发给这些端口。 如果发现后端服务器端口不健康,就不会向其转发新的连接。 负载平衡器会继续监控不健康端口的健康状况,如果这些端口恢复健康,也就是成功通过了用户定义的健康检查尝试,负载平衡器就会恢复这些端口的使用。
您 可以在创建应用程序负载均衡器时 配置健康检查,也可以在创建后通过执行以下步骤进行配置:
-
从浏览器打开 IBM Cloud 控制台并登录账户。
-
选择导航菜单
,然后单击基础架构
> 网络 > 负载平衡器。
-
单击要更改的 ALB。
-
在 ALB 详细信息页面上,单击后端池选项卡,然后选择要编辑的池。
-
选择用于运行状况检查的新选项。 可以选择以下选项:
- 健康检查路径:健康路径仅适用于选择 HTTP 作为健康检查协议的情况。 健康路径指定负载平衡器用于向池中实例发送 HTTP 健康检查请求的 URL。 默认情况下,健康检查会发送到根路径 (/)。
- 健康协议:负载平衡器用于向池中实例发送健康检查消息的协议。
- 运行状况端口: 用于发送运行状况检查请求的端口。 默认情况下,健康检查在向实例发送流量的同一端口上发送。
- 时间间隔:两次连续运行状况检查尝试之间的时间间隔(以秒为单位)。 默认情况下,健康检查每 5 秒发送一次。
- 超时(秒):系统等待健康检查请求响应的最长时间。 默认情况下,负载平衡器等待响应的时间为 2 秒。
- 最大重试次数:在宣布实例不健康之前,负载平衡器尝试健康检查的最大次数。 缺省情况下,两次运行状况检查失败后,即不会再认为实例运行状况正常。
虽然负载平衡器会停止向不健康的实例发送连接,但负载平衡器会继续监控这些实例的健康状况,如果发现它们再次恢复健康(也就是说,如果它们连续两次成功通过健康检查尝试),就会恢复它们的使用。
如果池中的实例不健康,而您认为应用程序运行正常,请仔细检查健康协议和健康路径值。 此外,检查附加到实例的任何安全组,确保规则允许负载平衡器和实例之间的流量。
对于后端池,运行状况检查定义是必需的。 可以在后端端口或基于应用程序的单独运行状况检查端口上配置运行状况检查。
对 HTTP、HTTPS 和 TCP 端口进行的健康检查如下:
-
HTTP: 根据预先指定的 URL 向后端服务器健康检查端口发送
HTTP GET
请求。 服务器端口在收到200 OK
响应后被标记为健康。 缺省GET
运行状况路径为 "/"。 -
HTTPS:与 HTTP 健康检查类似,
HTTPS GET
请求发送到配置的健康检查端口和 URL 路径。 健康检查使用 HTTPS 对发送到后端服务器的流量进行加密。 在接收到200 OK
响应后,后端服务器被视为运行状况良好。 缺省GET
运行状况路径为 "/"。 -
TCP: 负载平衡器尝试在指定的 TCP 端口上打开与后端服务器的 TCP 连接。 如果连接尝试成功,那么服务器端口会标记为正常运行,随后该连接会关闭。
默认情况下,健康检查每 5 秒钟在向实例发送流量的同一端口上发送一次。 缺省情况下,负载均衡器会等待 2 秒以获取对运行状况检查的响应,并且在两次运行状况检查失败后,不再将实例视为运行状况正常。