健康检查概述
健康检查是弹性负载均衡中的一项关键功能,用于确定后端资源的可用性和健康状况。
弹性负载均衡的健康检查工作原理是通过定期向后端主机发送健康检查请求,并根据主机的响应判断其健康状态。如果响应符合预期,则将主机标记为健康状态,否则标记为不健康状态。根据主机的健康状态,负载均衡器决定将新的请求转发给哪些主机,以实现工作负载的均衡分配,并定期重新进行健康检查以更新主机的状态。这种方式能够提高系统的可靠性和性能,确保请求被正确处理并防止向不健康的主机转发。
弹性负载均衡器通常提供了多种健康检查的设置选项,包括检查的频率、超时时间、健康状态判断规则等。这些设置可以根据具体的应用需求进行调整。通过定期的健康检查,弹性负载均衡可以及时发现故障或不可用的后端资源,并自动从负载均衡中排除,确保流量只被发送到可用的资源上,提高了系统的可用性和可靠性。
功能特点
健康检查配置针对特定的后端实例或目标组。可以指定具体的端口和协议(如HTTP、HTTPS、TCP等)进行检查。
ELB根据健康检查的结果,将后端实例标记为“健康”或“不健康”。如果主机实例被标记为不健康,ELB将不会将流量发送到该实例。
健康检查可以定义成功的响应代码范围,还可以配置超时时间,即在多长时间内等待响应。
用户可以指定健康检查的频率。较短的间隔可以更快地检测到故障,但可能增加后端实例的负载。
用户可以设置连续多少次健康检查失败后将实例标记为不健康。
当一个不健康的实例重新变为健康状态时,ELB会自动将流量重新引导到该实例,实现自动恢复。
开启健康检查
操作场景
用户可以配置运行状况检查,这些检查可用来监控后端云主机的运行状况,以便负载均衡器只将请求发送到正常运行的后端云主机。而当该故障云主机恢复正常运行时,负载均衡会将其自动恢复到对外或对内的服务中。
注意
健康检查支持协议TCP、UDP、HTTP。TCP协议监听器只可选TCP,UDP协议监听器只可选UDP。 HTTP协议/HTTPS协议监听器可选HTTP或TCP。
只支持在添加监听器操作过程中开启健康检查。
弹性负载均衡使用100.89.0.0/16(IPv4)、100:0:0:2::100.89.0.0/112(IPv6)来对后端云主机做健康检查,如果开启健康检查功能需要在安全组时需要放通此网段。
操作步骤
- 登录弹性负载均衡控制台。
- 在顶部右侧选择弹性负载均衡所属区域,本文选择华东-华东1。
- 打开监听器配置向导创建监听器,在监听器负载方式&健康检查页面开启“健康检查”选项,并点击“立即创建”,则完成监听器健康检查功能开启。
健康检查的配置参数说明
健康检查配置 | 说明 |
---|---|
健康检查 | 默认开启,可关闭或打开 |
健康检查类型 | 可选的方式:HTTP、TCP、UDP。TCP协议监听器只可选TCP,UDP协议监听器只可选UDP。 HTTP协议/Https协议监听器可选HTTP或TCP。 |
间隔时间 | 每隔多久进行一次健康检查。缺省5s,取值范围:1~20940 |
超时时间 | 等待主机返回健康检查的时间。缺省2s,取值范围2~60s |
最大重试次数 | 缺省2次,取值范围1~10,健康检查失败达到最大重试次数后,进入健康检查失败状态。 |
检查路径 | HTTP检查类型选项,长度1~80,检查URL。以‘/’开头,可包含数字、大小写字母或‘/’,路径中可包含‘-’ ‘_’ ‘.’ ‘=’ |
HTTP方法 | HTTP检查类型选项,可选:GET、HEAD。GET检查类型:使用GET方法发送HTTP请求到后端主机,负载均衡器期望从主机获取完整的响应内容。这种检查类型通常用于检查后端主机的完整性和性能,并确保主机能够正确地处理和响应GET请求。HEAD检查类型:使用HEAD方法发送HTTP请求到后端主机,负载均衡器仅期望从主机获取HTTP响应头部,而不需要获取完整的响应内容。这种检查类型通常用于检查主机的可用性和响应时间,而无需传输大量数据。 |
HTTP状态码 | 选择HTTP健康检查范围的状态码,可选http_2xx,http_3xx,http_4xx,http_5xx |
健康检查默返回状态码说明
HTTP状态码 | 说明 |
---|---|
HTTP状态码 200 | 表示正常响应。当健康检查请求成功被云主机处理并返回有效的响应时,通常会返回200状态码。 |
HTTP状态码 3xx | 重定向。在健康检查中,重定向状态码可能会出现在特定情况下。 |
HTTP状态码 4xx | 客户端错误。这些状态码表示请求存在问题,可能是由于无效的URL、参数错误等。健康检查中,如果主机返回了4xx状态码,通常表示主机无法正常处理该请求。 |
HTTP状态码 5xx | 主机错误。这些状态码表示主机在处理请求时遇到了错误。在天翼云健康检查中,如果主机返回了5xx状态码,通常表示主机出现了故障或内部错误。 |
健康检查异常排查
当健康检查探测到您的后端主机异常时,弹性负载均衡将不再向异常的后端主机转发流量。直到健康检查检测到后端主机恢复正常时,弹性负载均衡才会向此主机继续转发流量。那么当您遇到健康检测异常可以按如下思路进行排查:
- 检查后端主机组是否关联监听器
- 检查健康检查配置:检查健康检查配置参数信息,例如域名、协议是否正确,检查您配置的健康检查端口和监听的端口是否一致,检查路径是否正确等。
- 检查主机所在安全组、网络ACL是否放行ELB健康检查源地址网段100.89.0.0/16(IPv4)、100:0:0:2::100.89.0.0/112(IPv6)。
- 检查后端主机是否正常:后端主机当前宕机或不可访问,会导致检查异常。
- 检查主机防火墙、路由。