更新时间:2025-09-11 GMT+08:00
分享

配置健康检查

操作场景

本章节指导用户在后端服务器组创建后修改健康检查配置。

若切换健康检查协议,负载均衡会根据新的健康检查协议重新检查后端服务器。健康检查通过后,负载均衡向后端服务器继续转发流量。

健康检查切换周期内,客户端可能收到503错误码。

约束与限制

  • 健康检查协议与服务器组的后端协议是两个相互独立的能力,所以健康检查协议可以与后端协议不同。
  • 为了减少后端服务器的CPU占用,建议您使用TCP协议做健康检查。如果您希望使用HTTP健康检查协议,建议使用HTTP+静态文件的方式。
  • 为保证健康检查功能正常,配置健康检查后必须放通对应的安全组规则,详情请参考配置后端服务器的安全组

开启健康检查后不会影响已建立连接的流量转发,负载均衡会立即对后端服务器执行健康检查。

  • 如果健康检查正常,则新建连接的流量会根据分配策略和权重向该服务器转发流量。
  • 如果健康异常,则系统会设置该服务器状态为异常,不转发新的流量到该服务器。

开启健康检查

  1. 进入后端服务器组列表页面
  2. 在后端服务器组列表页面,单击需要修改健康检查的后端服务器组名称。
  3. 在后端服务器组的“基本信息”页签下,单击健康检查区域右侧的“配置健康检查”。
  4. 在“配置健康检查”弹窗,可根据需要参考表1进行配置。
    表1 配置健康检查参数说明

    参数

    说明

    示例

    是否开启

    开启或者关闭健康检查。

    说明:

    开启或关闭健康检查期间,监控指标正常主机数/异常主机数会出现短暂波动,一个监控周期后可恢复。

    -

    健康检查协议

    健康检查请求的协议类型。

    当后端协议选择UDP,健康检查协议默认为UDP且不可修改。

    独享型支持选择TCP、HTTP、HTTPS、TLS、GRPC协议。

    HTTP

    健康检查方法

    仅关联独享型负载均衡实例使用的后端服务器组支持该参数。

    如果健康检查协议选择HTTP/HTTPS/GRPC协议,则该项是必选参数。

    健康检查发送请求的方法。

    • GET:采用GET方法发送健康检查请求,后端服务器返回全部信息。
    • HEAD:采用HEAD方法发送健康检查请求,后端服务器仅返回 HTTP 头部信息,提升请求效率。

      请确保您的后端服务器支持HEAD请求,否则可能会导致健康检查失败,此时可以使用GET方法来进行健康检查。

    • POST:采用POST方法发送健康检查请求。

      请确保您的后端服务器支持POST请求,否则可能会导致健康检查失败,此时可以使用GET方法来进行健康检查。

      说明:
      • 健康检查协议为HTTP和HTTPS协议时,支持GET方法和HEAD方法。
      • 健康检查协议为GRPC协议时,支持GET方法和POST方法。
      • 支持设置健康检查方法的功能陆续上线中,请以控制台实际为准。

    GET

    健康检查协议版本

    如果健康检查协议选择HTTP/HTTPS/GRPC/TCP/TLS协议,则该项是必选参数。

    选择健康检查HTTP协议版本。

    • 默认支持“根据监听器自动选择”,即:
      • 使用TCP监听器时,默认使用HTTP1.0版本。
      • 使用HTTP/HTTPS/QUIC/TLS监听器时,默认使用HTTP1.1版本。
    • 支持您选择“HTTP1.0”或“HTTP1.1”版本。

    根据监听器自动选择

    健康检查域名

    如果健康检查协议选择HTTP/HTTPS/GRPC协议,则该项是必选参数。

    健康检查的请求域名。

    • 默认使用后端服务器的内网IP为域名。
    • 您也可选择指定特定域名,特定域名只能由字母,数字,中划线组成,中划线不能在开头或末尾,至少包含两个字符串,单个字符串不能超过63个字符,字符串间以点分隔,且总长度不超过100个字符。

    www.elb.com

    健康检查端口

    健康检查端口号,取值范围[1,65535],为可选参数。

    说明:

    默认使用后端云服务器的业务端口进行健康检查。指定特定端口后,使用指定的端口进行健康检查。

    80

    健康检查路径

    如果健康检查协议选择HTTP/HTTPS/GRPC协议,则该项是必填参数。

    指定健康检查的URL地址。检查路径只能以/开头,长度范围[1-80]。

    后端服务器组关联独享型负载均衡器:检查路径支持使用英文字母、数字和‘-’、‘/’、‘.’、‘?’、‘#’、‘%’、‘&’以及扩展字符集_;~!()*[]@$^:',+。

    /index.html

    是否开启内容校验

    如果健康检查协议选择TCP/UDP协议,则支持开启内容校验,然后在请求发送内容中输入定义请求内容(例如TargetID),在响应校验内容中输入预期返回的校验结果(例如elbResponse)。

    同时,您需要在后端服务器部署的应用中加入对应的内容校验逻辑,例如收到TargetID的请求时,返回elbResponse。当elb实例收到后端服务器返回的信息与响应校验内容一致时,判定健康检查成功,否则健康检查失败。

    如果开启内容校验,您需进行如下配置:

    • 校验内容格式:支持选择ascii字符十六进制格式。
      • ascii字符:长度限制为1-64个字符,包括所有的可显示ascii字符。
      • 十六进制:长度限制为2-64个字符,只能为偶数位,不限大小写。
    • 请求发送内容:健康检查报文将发送的报文。
    • 响应校验内容:预期收到的健康检查响应报文,如果未收到对应响应,健康检查结果将判断为异常。
    说明:

    支持设置内容校验的功能陆续上线中,请以控制台实际为准。

    -

    检查间隔(秒)

    每次健康检查响应的最大间隔时间。

    取值范围[1-50]。

    5

    超时时间(秒)

    每次健康检查响应的最大超时时间。取值范围[1-50]。

    3

    健康检查正常阈值

    表示判定后端服务器为正常状态时,所需的连续健康检查成功次数,取值范围[1-10]。

    3

    健康检查异常阈值

    表示判定后端服务器为异常状态时,所需的连续健康检查失败次数,取值范围[1-10]。

    3

    健康检查返回码

    如果健康检查协议选择HTTP/HTTPS/GRPC协议,则该项是必填参数。

    自定义健康检查返回的状态码,仅当健康检查请求成功且返回指定状态码时判定后端服务器状态正常。

    可输入支持状态码范围内不重复的单个数字或正序的数字区间,如0-10,200-300。多个状态码请输入回车键隔开,最多支持输入5个。

    • 检查协议为HTTP/HTTPS时,状态码范围:200-599。
    • 检查协议为GRPC时,状态码范围:0-99。
    说明:

    支持设置健康检查返回码的功能陆续上线中,请以控制台实际为准。

    200

  5. 单击“确定”。

关闭健康检查

  1. 进入后端服务器组列表页面
  2. 在后端服务器组列表页面,单击需要关闭健康检查的后端服务器组名称。
  3. 在后端服务器组的“基本信息”页签下,单击健康检查区域右侧的“配置健康检查”。
  4. 在“配置健康检查”界面,可根据需要关闭健康检查。
  5. 单击“确定”。

相关文档