本文介绍如何在火山引擎应用型负载均衡(ALB)控制台创建,修改和删除健康检查模板。
ALB 健康检查
- 健康检查是确保应用程序是否可用的关键功能。ALB 通过定期对后端服务器进行健康检查,来验证这些服务器是否可以接受新的请求。当一个后端服务器不能正常响应 ALB 的健康检查请求时,来自客户端的流量不会被路由到该服务器。ALB 会将流量转发至其他状态为正常的服务器上。从而保证了服务的连续性和可靠性。
- ALB 健康检查是基于服务器组进行的。服务器组启用健康检查后,ALB 定期检查服务器组内的后端服务器状态。
ALB 健康检查流程
在创建服务器组并添加后端服务器时,您可以选择是否对该服务器组开启健康检查。开启健康检查后:
- 根据您设定的检测间隔,ALB 向服务器组内的每个后端服务器发送健康检查请求。
- 如果后端服务器对健康检查请求做出了正确的响应,那么本次对该服务器的健康检查请求成功。
- 连续健康检查请求成功的次数满足您设定的健康阈值时,该服务器将被判定为健康,健康检查状态正常。客户端的流量可以被路由到该服务器。
- 如果后端服务器在您设定的响应超时时间内未能响应,或者返回了错误的状态码,那么本次对该服务器的健康检查请求失败。
- 连续健康检查请求失败的次数满足您设定的不健康阈值时,该服务器将被判定为不健康,健康检查状态异常。客户端的流量不会被路由到该服务器。
- 只有该服务器再次被判定为健康之后,ALB 才会再次向该服务器转发新的流量。
TCP 和 HTTP 健康检查
ALB 提供 TCP 和 HTTP 健康检查。
- TCP健康检查:ALB 通过发送 SYN 包并验证后端服务器的 SYN-ACK 响应来检查其状态,这个过程基于 TCP 连接建立的机制进行。
- HTTP健康检查:ALB 发送 HTTP 请求到后端服务器,根据响应时间和返回的状态码来验证后端服务器的状态。
创建健康检查模板
ALB 提供健康检查模板的功能,您可以创建包含不同健康检查配置信息的模板。在对服务器组配置健康检查时,您可以直接选择健康检查模板快速便捷地完成配置。
操作步骤
- 登录应用型负载均衡控制台。
- 在左侧导航栏,点击 健康检查。
- 在 健康检查 页面,点击 创建健康检查模板。
- 在 创建健康检查模板 页面,根据表格中的配置说明完成健康检查配置。
- 确认配置信息无误后,点击 确定,完成创建健康检查模板的操作。
配置说明
HTTP健康检查
配置 | 是否必填 | 说明 |
---|
名称 | 是 | 输入一个健康检查模板的名称。 |
协议 | 是 | HTTP 健康检查协议。 |
健康检查端口 | 是 | 默认使用后端服务器的端口进行健康检查。允许您使用以下端口进行健康检查: |
协议版本 | 是 | 指定健康检查使用的协议版本。支持 HTTP1.0、HTTP1.1。默认为HTTP1.1。 |
健康检查方法 | 否 | 指定健康检查使用的请求方法。可以指定以下的方法: - GET:GET 请求得到的响应既包含响应头,又包含响应正文。
- HEAD:HEAD 请求得到的响应仅包含响应头,不包含响应正文。
|
健康检查域名 | 否 | - 输入需要健康检查的域名。
- 协议版本是
HTTP1.0 时,默认不填,ALB 使用后端服务器的私网 IP 作为健康检查的目标地址,并且不指定 host 头。 - 协议版本是
HTTP1.1 时,必须填写健康检查域名。
- 具体规则如下:
- 必须以字母或中文开头。
- 只允许包含字母、 数字、 英文句号
. 、英文连字符- 。至少需要包含一个英文句号. 。 - 不允许以英文句号
. 开头或结尾。域名的每一级不能以英文连字符- 开头或结尾。 - 域名长度为 0~128 个字符。如不填写,系统默认为后端服务器的内网IP,Host为空
- 必须符合域名规范。比如
www.test.com 。 - 暂不支持泛域名。
|
健康检查路径 | 否 | - 输入需要健康检查的路径。默认值是正斜线
/ ,表示根目录。 - 具体规则如下:
- 必须以正斜线
/ 开头。 - 长度为 1~128 个字符。
- 只允许包含字母、数字、
- 、_ 、/ 、. 、% 、? 、# 、 & 、= 等字符。
|
正常状态码 | 是 | - 指定哪些响应状态码被认为健康检查结果是成功的。支持多选。
- 需要勾选不少于一组正常状态码,只有当后端服务器返回正常状态码时才可以判定本次健康检查请求成功。
注意 - 请结合您的业务需求勾选状态码。您勾选的状态码都将被视为正常状态码。只有当后端服务器返回正常状态码时,ALB 才可以判定本次健康检查成功。
- ALB 允许您将
2XX (默认选项)、3XX (默认选项)、4XX 、5XX 设置为正常状态码。 - 例如:您未勾选4xx状态码,当后端服务器返回4xx 状态码时,ALB将判定本次健康检查请求失败。如果连续健康检查请求失败,该后端服务器将被屏蔽。在服务器的状态恢复正常前,流量无法被路由至该服务器上。
|
响应超时 | 否 | 等待健康检查响应的时间上限。 - 如果后端服务器在指定时间内没有正确响应,则判定本次健康检查异常。
- 系统默认响应超时时间为2秒,可设置的超时时间范围为1~60秒。
|
检测间隔 | 否 | 发起健康检查请求的时间间隔。 - 默认间隔为2秒,指每2秒对后端服务器进行一次健康检查。
- 请合理设置检测间隔,以免健康检查请求为后端服务器造成过多负担。可设置的检测间隔范围为1~300秒。
|
健康阈值 | 否 | 连续健康检查请求成功的次数,系统以此来判断后端服务器是否健康。 - 健康阈值默认为3次,指连续3次健康检查请求成功,才能判定后端服务器状态健康。
- 允许设置的健康阈值为2~10次。
|
不健康阈值 | 否 | 连续健康检查请求失败的次数,系统以此来判断后端服务器是否异常。 - 不健康阈值默认为3次,指连续3次健康检查请求失败,才能判定后端服务器状态异常。
- 允许设置的不健康阈值为2~10次。
|
描述 | 否 | 输入一个模板的描述。具体规则如下: - 长度限制在 255 个字符以内
- 必须以字母或中文开头
- 只能包含中文、 字母、 数字、 英文逗号
, 、 点号. 、 下划线_ 、 空格、 等号= 、 短横线- 、 中文逗号 , 、 中文句号。 。
|
TCP健康检查
配置 | 是否必填 | 说明 |
---|
名称 | 是 | 输入一个健康检查模板的名称。 |
协议 | 是 | TCP 健康检查协议。 |
健康检查端口 | 是 | 默认使用后端服务器的端口进行健康检查。允许您使用以下端口进行健康检查: |
健康阈值 | 否 | 连续健康检查请求成功的次数,系统以此来判断后端服务器是否健康。 - 健康阈值默认为3次,指连续3次健康检查请求成功,才能判定后端服务器状态健康。
- 允许设置的健康阈值为2~10次。
|
不健康阈值 | 否 | 连续健康检查请求失败的次数,系统以此来判断后端服务器是否异常。 - 不健康阈值默认为3次,指连续3次健康检查请求失败,才能判定后端服务器状态异常。
- 允许设置的不健康阈值为2~10次。
|
描述 | 否 | 输入一个模板的描述。具体规则如下: - 长度限制在 255 个字符以内
- 必须以字母或中文开头
- 只能包含中文、 字母、 数字、 英文逗号
, 、 点号. 、 下划线_ 、 空格、 等号= 、 短横线- 、 中文逗号 , 、 中文句号。 。
|
查看服务器的健康检查状态
ALB 健康检查是基于服务器组进行的。服务器组与实例下的监听器相关联。
- 在实例管理页面,您可以查看某个 ALB实例下健康检查异常的监听器个数。
- 在某个实例的监听器标签页,您可以查看不同监听器所关联的后端服务器的状态。健康检查状态如下:
- 未开启:该监听器关联了服务器组,但是所有服务器组都未开启健康检查。
- 无目标:该监听器关联了服务器组,但是所有服务器组内都没有后端服务器。
- 正常:该监听器关联了服务器组,且所有服务器组内后端服务器健康检查均正常。
- n个异常:该监听器关联了服务器组,所有服务器组内健康检查异常的后端服务器个数。
说明
- 在 健康检查状态 列,点击 n个异常 ,可查看异常后端服务器的具体信息。
- 对于健康检查异常的后端服务器,请先排查是否已在后端服务器安全组规则中放通
100.64.0.0/10
网段。若已放通仍出现健康检查异常,请检查后端服务器的内部路由配置。
修改健康检查模板
操作步骤
- 登录应用型负载均衡控制台。
- 在左侧导航栏,点击 健康检查。
- 在 健康检查 页面的健康检查模板列表中,找到您需要编辑的健康检查模板。
- 在 操作 列上,点击 编辑。
- 在模板配置页面,根据配置说明来修改配置。修改完成后,点击 确定。
说明
在您修改后模板后,如果需要应用到某个后端服务器组,可以在后端服务器组的配置中再次选择该模板。
删除健康检查模板
如果您不再需要某个健康检查模板,可以考虑将其删除。删除模板不会影响服务器组健康检查的运行状态,服务器组仍会按照当前配置继续运行健康检查,直至下一次变更服务器组上的健康检查配置。
操作步骤
- 登录应用型负载均衡控制台。
- 在左侧导航栏,点击 健康检查。
- 在 健康检查 页面的健康检查模板列表中,找到您需要删除的健康检查模板。
- 在 操作 列上,点击 删除。