更新时间:2026-01-16 GMT+08:00

创建健康检查

功能介绍

创建健康检查。

接口约束

1.安全组需放通网段100.125.0.0/16流量。

2.UDP的检查健康只能使用在UDP的后端服务器组上。

调用方法

请参见如何调用API

URI

POST /v3/{project_id}/elb/healthmonitors

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:项目ID。获取方式请参见获取项目ID

约束限制:不涉及

取值范围:长度为32个字符,由小写字母和数字组成。

默认取值:不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:IAM鉴权Token。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

healthmonitor

CreateHealthMonitorOption object

参数解释:创建健康检查请求参数。

约束限制:不涉及

表4 CreateHealthMonitorOption

参数

是否必选

参数类型

描述

admin_state_up

Boolean

参数解释:健康检查的管理状态。

约束限制:不涉及

取值范围

  • true:表示开启健康检查。

  • false表示关闭健康检查。

默认取值:true

delay

Integer

参数解释:健康检查间隔。

约束限制:不涉及

取值范围:1-50,单位:秒。

默认取值:不涉及

domain_name

String

参数解释:发送健康检查请求的域名。

约束限制:当type为HTTP/HTTPS时生效。

取值范围:以数字或字母开头,只能包含数字、字母、’-’、’.’。

默认取值:默认为空,表示使用负载均衡器的vip作为http请求的目的地址。

expected_codes

String

参数解释:期望响应状态码。

约束限制:该字段仅在HTTP/HTTPS/GRPC协议下有效,其他协议可以设置但不会生效。

取值范围

  • 单值:单个返回码,例如200。

  • 列表:多个特定返回码,例如200,202。

  • 区间:一个返回码区间,例如200-204。

默认取值:若健康检查type为GRPC,则默认值为0,其他为200。

http_method

String

参数解释:HTTP请求方法。

约束限制:当type为HTTP/HTTPS时生效。

取值范围:GET、HEAD、POST。

默认取值:GET

max_retries

Integer

参数解释:健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE。

约束限制:不涉及

取值范围:1-10

默认取值:不涉及

max_retries_down

Integer

参数解释:健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。

约束限制:不涉及

取值范围:1-10

默认取值:3

monitor_port

Integer

参数解释:健康检查端口号。

约束限制

  • 当绑定的pool开启了端口透传功能时,该字段为必填。

  • 当pool协议为IP时,monitor_port必须指定为非0值。

取值范围:1-65535和null,传null表示使用后端服务器端口号。

默认取值:null

name

String

参数解释:健康检查名称。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

pool_id

String

参数解释:健康检查所在的后端服务器组ID

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

project_id

String

参数解释:健康检查所在的项目ID。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

timeout

Integer

参数解释:一次健康检查请求的超时时间。建议该值小于delay的值。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

type

String

参数解释:健康检查请求协议。

约束限制

  • 若pool的protocol为QUIC,则type只能是UDP_CONNECT。

  • 若pool的protocol为UDP,则type只能UDP_CONNECT。

  • 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。

  • 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。

  • 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。

  • 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。

  • 若pool的protocol为GRPC,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。

  • 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。

取值范围:TCP、UDP_CONNECT、HTTP、HTTPS、TLS、GRPC。

默认取值:不涉及

url_path

String

参数解释:健康检查请求的请求路径。以"/"开头,默认为"/"。

约束限制:当type为HTTP/HTTPS时生效。

取值范围:支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+

默认取值:不涉及

响应参数

状态码:201

表5 响应Body参数

参数

参数类型

描述

request_id

String

参数解释:请求ID。

取值范围:由数字、小写字母和中划线(-)组成的字符串,自动生成。

healthmonitor

HealthMonitor object

参数解释:健康检查对象。

约束限制:不涉及

表6 HealthMonitor

参数

参数类型

描述

admin_state_up

Boolean

健康检查的管理状态。

取值范围

  • true:表示开启健康检查。

  • false表示关闭健康检查。

delay

Integer

参数解释:健康检查间隔。

取值范围:1-50,单位:秒。

domain_name

String

参数解释:发送健康检查请求的域名。

取值范围:以数字或字母开头,只能包含数字、字母、’-’、’.’。

expected_codes

String

参数解释:期望响应状态码。

取值范围

  • 单值:单个返回码,例如200。

  • 列表:多个特定返回码,例如200,202。

  • 区间:一个返回码区间,例如200-204。

http_method

String

参数解释:HTTP请求方法。

取值范围:GET、HEAD、POST

id

String

参数解释:健康检查ID。

取值范围:不涉及

max_retries

Integer

参数解释:健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE。

取值范围:1-10

max_retries_down

Integer

参数解释:健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。

取值范围:1-10

monitor_port

Integer

参数解释:健康检查端口号。

取值范围:1-65535和null,传null表示使用后端服务器端口号。

name

String

参数解释:健康检查名称。

取值范围:不涉及

pools

Array of PoolRef objects

参数解释:健康检查所在的后端服务器组ID列表。实际只会有一个后端服务器组ID。

取值范围:不涉及

project_id

String

参数解释:健康检查所在的项目ID。

取值范围:不涉及

timeout

Integer

参数解释:一次健康检查请求的超时时间。

取值范围:不涉及

type

String

参数解释: 健康检查请求协议。

取值范围:TCP、UDP_CONNECT、HTTP、HTTPS、TLS、GRPC。

url_path

String

参数解释:健康检查请求的请求路径。以"/"开头,默认为"/"。

取值范围:支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+

created_at

String

参数解释:创建时间。

取值范围:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。

updated_at

String

参数解释: 更新时间。

取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。

表7 PoolRef

参数

参数类型

描述

id

String

参数解释:后端服务器组ID。

取值范围:不涉及

请求示例

创建健康检查,并指定检查协议为HTTP协议

POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/healthmonitors

{
  "healthmonitor" : {
    "name" : "My Healthmonitor",
    "max_retries" : 3,
    "pool_id" : "488acc50-6bcf-423d-8f0a-0f4184f5b8a0",
    "type" : "HTTP",
    "timeout" : 30,
    "delay" : 1
  }
}

响应示例

状态码:201

POST操作正常返回。

{
  "request_id" : "0e837340-f1bd-4037-8f61-9923d0f0b19e",
  "healthmonitor" : {
    "name" : "elbv3_l2_2024_08_08_16_55_06",
    "monitor_port" : null,
    "id" : "00b42a6a-0a16-47af-be4e-dc821fc316a3",
    "project_id" : "0c1503d710984bad92306faea3654dfd",
    "domain_name" : null,
    "delay" : 1,
    "max_retries" : 1,
    "max_retries_down" : 1,
    "pools" : [ {
      "id" : "c73600be-e3af-4d9f-bec2-f7c4ccf84b33"
    } ],
    "admin_state_up" : true,
    "timeout" : 1,
    "type" : "HTTP",
    "expected_codes" : "200",
    "url_path" : "/",
    "http_method" : "HEAD",
    "created_at" : "2024-08-08T09:00:34Z",
    "updated_at" : "2024-08-08T09:00:34Z"
  }
}

状态码

状态码

描述

201

POST操作正常返回。

错误码

请参见错误码