创建后端服务器
功能介绍
创建后端服务器。
接口约束
1.同一个pool下的两个member不能有相同的address和port。
2.若所属LB开启跨VPC特性,创建member时可以不指定的子网,表示创建跨VPC的后端服务器。
此时address必须为私网IPv4地址,pool的协议必须为TCP/HTTP/HTTPS。
3.创建member时若指定了子网,则该子网必须和负载均衡器所在子网处在同一个VPC下。
4.如果pool是dualstack的,address支持IPv4格式也支持IPv6格式,
如果pool是v4的,address 只支持IPv4。
5.创建member时,若请求参数type为instance,则参数address不允许为任何ELB的私网IP。
6.如果pool是IP协议的,member的protocol_port必须为0,且不支持ip类型的member。
调用方法
请参见如何调用API。
URI
POST /v3/{project_id}/elb/pools/{pool_id}/members
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
pool_id | 是 | String | 参数解释:后端服务器组ID。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
project_id | 是 | String | 参数解释:项目ID。获取方式请参见获取项目ID。 约束限制:不涉及 取值范围:长度为32个字符,由小写字母和数字组成。 默认取值:不涉及 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 参数解释:IAM鉴权Token。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
member | 是 | CreateMemberOption object | 参数解释:后端服务器对象。 约束限制:不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
address | 是 | String | 参数解释:后端服务器对应的IP地址。 约束限制:
取值范围:不涉及 默认取值:不涉及 |
admin_state_up | 否 | Boolean | 参数解释:后端服务器的管理状态。 约束限制:虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 取值范围:true 弹性云服务器存在,false 弹性云服务器不存在。 默认取值:不涉及 |
name | 否 | String | 参数解释:后端服务器名称。注意:该名称并非ECS名称,若不传则返回为空。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
project_id | 否 | String | 参数解释:后端服务器所在的项目ID。 约束限制:不涉及 取值范围:不涉及 默认取值:不涉及 |
protocol_port | 否 | Integer | 参数解释:后端服务器业务端口。 约束限制:
取值范围:不涉及 默认取值:不涉及 |
subnet_cidr_id | 否 | String | 参数解释:后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 IPv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets响应参数中的neutron_subnet_id得到 IPv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 约束限制:
取值范围:不涉及 默认取值:不涉及 |
weight | 否 | Integer | 参数解释:后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 约束限制:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 取值范围:0-100,默认1。 默认取值:不涉及 |
availability_zone | 否 | String | 参数解释:后端服务器的可用区。 约束限制:
取值范围:本region中ECS可选择的可用区。 默认取值:不涉及 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 参数解释:请求ID。 取值范围:由数字、小写字母和中划线(-)组成的字符串,自动生成。 |
member | Member object | 参数解释:后端服务器对象。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:后端服务器ID。 取值范围:不涉及 说明: 此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。 |
availability_zone | String | 参数解释:后端服务器所在的可用区。 取值范围:不涉及 |
name | String | 参数解释:后端服务器名称。 取值范围:不涉及 注意:该名称并非ECS名称。 |
project_id | String | 参数解释:后端服务器所在的项目ID。 取值范围:不涉及 |
admin_state_up | Boolean | 参数解释:后端服务器的管理状态。 取值范围:true、false。 |
subnet_cidr_id | String | 参数解释:后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 取值范围:不涉及 |
protocol_port | Integer | 参数解释:后端服务器业务端口。 取值范围:不涉及 说明: 在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 |
weight | Integer | 参数解释:后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值范围:0-100 |
address | String | 参数解释:后端服务器对应的IP地址。 取值范围:不涉及 |
ip_version | String | 参数解释:当前后端服务器的IP地址版本,由后端系统自动根据传入的address字段确定。 取值范围:v4、v6 |
operating_status | String | 参数解释:后端服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。 取值范围:
|
status | Array of MemberStatus objects | 参数解释:后端服务器监听器粒度的的健康状态。 取值范围:不涉及 |
reason | 参数解释:健康检查异常的原因。 | |
created_at | String | 参数解释:创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 取值范围:不涉及 |
updated_at | String | 参数解释:更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 取值范围:不涉及 |
member_type | String | 参数解释:后端服务器的类型。 取值范围:
|
instance_id | String | 参数解释:member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景) 取值范围:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
listener_id | String | 参数解释:监听器ID 取值范围:不涉及 |
operating_status | String | 参数解释:后端服务器的健康状态。 取值范围:
|
reason | 参数解释:后端服务器的健康状态。 | |
created_at | String | 参数解释:创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 取值范围:不涉及 |
updated_at | String | 参数解释:更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 取值范围:不涉及 |
参数 | 参数类型 | 描述 |
|---|---|---|
reason_code | String | 参数解释:健康检查异常原因码。 取值范围:
|
expected_response | String | 参数解释:健康检查预期响应状态码。支持HTTP,HTTPS,GRPC健康检查。只有reason_code为RESPONSE_MISMATCH时,支持非null取值。 取值范围:
|
healthcheck_response | String | 参数解释:健康检查探测实际响应状态码。支持HTTP,HTTPS,GRPC健康检查。只有reason_code为RESPONSE_MISMATCH时,支持非null取值。 取值范围:
|
请求示例
示例1:创建后端服务器
POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools/36ce7086-a496-4666-9064-5ba0e6840c75/members { "member" : { "subnet_cidr_id" : "c09f620e-3492-4429-ac15-445d5dd9ca74", "protocol_port" : 89, "name" : "My member", "address" : "120.10.10.16" } }示例2:创建开启IP类型的后端服务器
POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools/36ce7086-a496-4666-9064-5ba0e6840c75/members { "member" : { "protocol_port" : 89, "name" : "My member", "address" : "120.10.10.16" } }
响应示例
状态码:201
POST操作正常返回。
{
"member" : {
"name" : "My member",
"weight" : 1,
"admin_state_up" : false,
"subnet_cidr_id" : "c09f620e-3492-4429-ac15-445d5dd9ca74",
"project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
"address" : "120.10.10.16",
"protocol_port" : 89,
"id" : "1923923e-fe8a-484f-bdbc-e11559b1f48f",
"operating_status" : "NO_MONITOR",
"status" : [ {
"listener_id" : "427eee03-b569-4d6c-b1f1-712032f7ec2d",
"operating_status" : "NO_MONITOR"
} ],
"ip_version" : "v4",
"availability_zone" : ""
},
"request_id" : "f354090d-41db-41e0-89c6-7a943ec50792"
} 状态码
状态码 | 描述 |
|---|---|
201 | POST操作正常返回。 |
错误码
请参见错误码。

