本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
为确保ALB后端服务器的业务可用性,您可以通过为ALB服务器组配置健康检查来检查服务器组的运行状况,以避免后端服务器异常对业务的影响,并提升业务可靠性。本文为您介绍如何创建、编辑和删除健康检查等操作。
背景信息
ALB支持基于每个服务器组定义ALB实例的健康检查配置。每个服务器组默认开启健康检查。
- 在开启健康检查时,默认情况下,ALB会自动将客户端请求路由至健康检查状态正常的服务器,并将持续对该服务器组的所有后端服务器的运行状况进行监控。服务器必须通过连续n次的健康检查才会被视为正常(n为配置的健康检查健康阈值,多次健康检查是为了避免网络抖动的影响)。 - 当某台后端服务器健康检查出现异常时,ALB会自动将新的请求分发到其他健康检查正常的后端服务器。 
- 当该服务器恢复正常运行时,ALB会将其自动恢复到负载均衡服务中。 
- 健康检查为短连接,完成健康检查后连接将关闭。 
 说明- 如果后端服务器权重设置为0,该服务器不会参与健康检查。 
- ALB通过特定的IP地址与后端服务器交互并进行健康检查,请确保后端服务器未对这些IP地址进行任何形式的屏蔽(包括iptables或其他任何第三方安全策略软件): - ALB升级实例默认使用其所在交换机网段的私网地址(Local IP)与后端服务器通信。您可以登录应用型负载均衡ALB控制台,在实例详情页面查看Local IP。 - 为确保ALB升级实例各项弹性能力可用,建议您在ALB实例所在的每个交换机内预留至少8个IP地址,并提前放通这些交换机网段。 
- 升级前的ALB实例使用内网地址段100.64.0.0/10与后端服务器通信。 
 
 
- 如果同一个服务器组中仅包含健康检查异常的服务器时,ALB仍会尝试根据调度算法将请求路由至这些服务器,而不考虑这些服务器的运行状况,以最大可能避免您的业务受损。更多信息,请参见同一个服务器组的所有后端服务器健康检查均异常时,ALB如何转发请求?。 
HTTPS健康检查使用限制
标准版及以上版本的ALB实例支持配置HTTPS健康检查协议,基础版ALB实例不支持。
创建健康检查
方式一:通过健康检查页面
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择健康检查所属的地域。 
- 在左侧导航栏,选择。 
- 在健康检查页面,单击创建健康检查。 
- 在创建健康检查对话框,完成以下参数的配置,然后单击创建。 - 在配置健康检查过程中,各选项建议您使用默认值,避免因健康检查失败引起的服务器频繁切换而对系统可用性造成冲击。 - 健康检查配置 - 说明 - 健康检查名称 - 输入健康检查名称。 - 协议 - 选择健康检查协议类型。 - HTTP:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。 
- HTTPS:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。相关限制,请参见HTTPS健康检查使用限制。 
- TCP:通过发送SYN握手报文来检测服务器端口是否存活。 
- gRPC:通过发送POST或GET请求来检查服务器应用是否健康。 
 - 健康检查方法 - 选择一种健康检查方法。 - HEAD:HTTP监听健康检查默认采用HEAD方法。请确保您的后端服务器支持HEAD请求。如果您的后端应用服务器不支持HEAD方法或HEAD方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。 
- POST:GRPC监听健康检查默认采用POST方法。请确保您的后端服务器支持POST请求。如果您的后端应用服务器不支持POST方法或POST方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。 
- GET:如果响应报文长度超过8K,会被截断,但不会影响健康检查结果的判定。 
 说明- 此参数仅在健康检查协议为HTTP、HTTPS或GRPC时生效。 
- HTTP和HTTPS健康检查协议,支持选择HEAD或GET健康检查方法。gRPC健康检查协议,支持选择POST或GET健康检查方法。 
 - 健康检查HTTP协议版本 - 选择一个HTTP协议版本:HTTP1.0或HTTP1.1。 说明- 此参数仅在健康检查协议为HTTP或HTTPS时生效。 - 端口 - 输入健康检查服务访问后端时的探测端口。 - 默认为空,表示使用后端服务器的端口进行健康检查。如果您需要指定一个特定的端口进行健康检查,请输入端口,取值范围为1~65535,仅能输入一个端口号。 - 路径 - 输入健康检查页面的URL,建议对静态页面进行检查。 - HTTP健康检查默认由负载均衡系统使用后端ECS内网IP地址向该服务器应用配置的缺省首页发起HTTP Head请求。如果您用来进行健康检查的页面并不是应用服务器的缺省首页,需要指定具体的检查路径。 - 域名 - 输入健康检查的域名。 - 默认使用后端服务器的内网IP地址作为健康检查的域名。如果您需要指定一个域名,请输入域名名称。 - 健康状态返回码 - 选择健康检查正常的状态码,仅当ALB的探测请求成功且返回指定状态码时认为该后端服务器状态正常。 - 当健康检查协议为HTTP或HTTPS协议时,可以选择http_2xx、 http_3xx、http_4xx和http_5xx。默认选择http_2xx和http_3xx。 
 - 当健康检查协议为GRPC协议时,状态码范围:0~99。支持范围输入,最多支持20个范围值,多个范围值使用半角逗号(,)隔开。 
 说明- 此参数仅在健康检查协议为HTTP、HTTPS或gRPC时生效。 - 健康检查响应超时时间 - 接收健康检查的响应需要等待的时间。如果后端ECS在指定的时间内没有返回正确响应,则判定为健康检查失败。 - 取值范围:1~300秒,默认值为5秒。 - 健康检查间隔时间 - 前后两次进行健康检查的时间间隔。 - 取值范围:1~50秒,默认值为2秒。 - 健康检查健康阈值 - 健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功的次数。 - 取值范围:2~10,默认为3次。 - 健康检查不健康阈值 - 健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败的次数。 - 取值范围:2~10,默认为3次。 - 标签及资源组 - 设置标签键和标签值。 - 设置标签后,您可以在健康检查页面使用标签筛选健康检查。 
- 选择资源组:选择健康检查归属的资源组。 
 - 健康检查创建完成后,您可以在创建ALB服务器组时,在健康检查配置中选择已创建的健康检查。更多信息,请参见创建服务器组。 
方式二:通过创建服务器组页面
在创建服务器组时,将新设置的健康检查配置保存为健康检查模板,方便下次快速复制使用。
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择后端服务器组所属的地域。 
- 在左侧导航栏,选择。 
- 在服务器组页面,单击创建服务器组。 
- 在弹出的创建服务器组对话框中,完成以下配置,然后单击创建。 - 此处仅列出与本文强相关的配置项,其余参数的配置请参见创建和管理服务器组。 - 单击健康检查配置右侧的编辑,完成健康检查参数的配置后,选中将新的配置保存为健康检查,方便下次快速复制使用,并输入健康检查名称。 
- 可选:您可以选择,在健康检查页面查看保存的健康检查模板。 
编辑健康检查
方式一:通过健康检查页面
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择健康检查所属的地域。 
- 在左侧导航栏,选择。 
- 在健康检查页面,找到目标健康检查,在操作列单击编辑。 
- 在弹出的编辑健康检查对话框中,根据业务需要修改健康检查参数配置,然后单击保存。 警告- 关闭健康检查后,ALB不再检查后端服务器,一旦某台后端服务器发生故障,则无法实现访问流量自动切换至其他正常的后端服务器。 
- 如延长健康检查的间隔时间,后端服务器出现故障时,ALB发现故障后端服务器的时间也会变长。 
 
方式二:通过服务器组详情页
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择后端服务器组所属的地域。 
- 在左侧导航栏,选择。 
- 在服务器组页面,找到目标服务器组,然后在操作列单击编辑健康检查。 
- 在弹出的编辑健康检查对话框中,开启或关闭健康检查,或单击健康检查配置右侧的编辑,修改健康检查参数。 警告- 关闭健康检查后,ALB不再检查后端服务器,一旦某台后端服务器发生故障,则无法实现访问流量自动切换至其他正常的后端服务器。 
- 如延长健康检查的间隔时间,后端服务器出现故障时,ALB发现故障后端服务器的时间也会变长。 
 
查看健康检查状态
若您的ALB实例已配置监听,且ALB服务器组已开启健康检查,您可以在监听页签查看后端服务器的健康检查状态。
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏,选择ALB实例的所属地域。 
- 在ALB实例页面,找到目标ALB实例,单击实例ID。 
- 单击监听页签,在监听列表的健康检查状态列查看后端服务器的健康检查状态。  
删除健康检查
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择健康检查所属的地域。 
- 在左侧导航栏,选择。 
- 在健康检查页面,找到目标健康检查,在操作列单击删除。 
- 在弹出的删除对话框中,确认提示信息,然后单击确定。