更新时间:2024-04-19 GMT+08:00

创建后端服务器

功能介绍

创建后端服务器。

接口约束

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。

调用方法

请参见如何调用API

URI

POST /v3/{project_id}/elb/pools/{pool_id}/members

表1 路径参数

参数

是否必选

参数类型

描述

pool_id

String

后端服务器组ID。

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

IAM鉴权Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

member

CreateMemberOption object

后端服务器对象。

表4 CreateMemberOption

参数

是否必选

参数类型

描述

address

String

后端服务器对应的IP地址。

使用说明:

  • 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。

  • 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡的内网IP。

最小长度:1

最大长度:64

admin_state_up

Boolean

后端云服务器的管理状态。

取值:true、false。

虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。

name

String

后端云服务器名称。注意:该名称并非ECS名称,若不传则返回为空。

最小长度:0

最大长度:255

project_id

String

后端云服务器所在的项目ID。

最小长度:1

最大长度:32

protocol_port

Integer

后端服务器业务端口。

说明:

在开启端口透传的pool下创建member传该字段不生效,可不传该字段。

最小值:1

最大值:65535

subnet_cidr_id

String

后端云服务器所在的子网ID,可以是子网的IPv4子网ID或IPv6子网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得到

使用说明:

  • 该子网和关联的负载均衡器的子网必须在同一VPC下。

  • 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。

最小长度:1

最大长度:36

weight

Integer

后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。

取值:0-100,默认1。

使用说明:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。

响应参数

状态码: 201

表5 响应Body参数

参数

参数类型

描述

request_id

String

请求ID。

注:自动生成 。

member

Member object

后端服务器对象。

表6 Member

参数

参数类型

描述

id

String

后端服务器ID。

说明:

说明: 此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。

name

String

后端服务器名称。注意:该名称并非ECS名称。

project_id

String

后端服务器所在的项目ID。

pool_id

String

所在后端服务器组ID。

不支持该字段,请勿使用。

admin_state_up

Boolean

后端云服务器的管理状态。

取值:true、false。

虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。

subnet_cidr_id

String

后端云服务器所在子网的IPv4子网ID或IPv6子网ID。

若所属的LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。

使用说明:该子网和关联的负载均衡器的子网必须在同一VPC下。

protocol_port

Integer

后端服务器业务端口。

说明:

在开启端口透传的pool下创建member传该字段不生效,可不传该字段。

最小值:1

最大值:65535

weight

Integer

后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。

取值:0-100,默认1。

使用说明:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。

最小值:0

最大值:100

address

String

后端服务器对应的IP地址。

使用说明:

  • 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。

  • 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。

ip_version

String

当前后端服务器的IP地址版本,由后端系统自动根据传入的address字段确定。取值:v4、v6。

device_owner

String

设备所有者。

取值:

  • 空,表示后端服务器未关联到ECS。

  • compute:{az_name},表示关联到ECS,其中{az_name}表示ECS所在可用区名。

不支持该字段,请勿使用。

device_id

String

关联的ECS ID,为空表示后端服务器未关联到ECS。

不支持该字段,请勿使用。

operating_status

String

后端云服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。

取值:

  • ONLINE:后端云服务器正常。

  • NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。

  • OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。

status

Array of MemberStatus objects

后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。

loadbalancer_id

String

所属负载均衡器ID。

不支持该字段,请勿使用。

loadbalancers

Array of ResourceID objects

后端云服务器关联的负载均衡器ID列表。

不支持该字段,请勿使用。

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

后端云服务器的类型。

取值:

  • ip:跨VPC的member。

  • instance:关联到ECS的member。

instance_id

String

member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景)

表7 MemberStatus

参数

参数类型

描述

listener_id

String

监听器ID

operating_status

String

后端云服务器的健康状态。

取值:

  • ONLINE:后端云服务器正常。

  • NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。

  • OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。

表8 ResourceID

参数

参数类型

描述

id

String

资源ID

请求示例

  • 示例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:创建开启跨VPC的后端服务器

    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"
  },
  "request_id" : "f354090d-41db-41e0-89c6-7a943ec50792"
}

状态码

状态码

描述

201

POST操作正常返回。

错误码

请参见错误码