更新时间:2022-01-25 GMT+08:00

添加后端云服务器

功能介绍

为某个后端云服务器组添加后端云服务器。当后端云服务器组被监听器使用后,访问负载均衡器的流量可以通过负载均衡算法分发到不同的后端云服务器上,分担流量。

接口约束

属于一个后端云服务器组的两个后端云服务器不能有相同的address和protocol_port。

创建后端云服务器时指定的子网必须和负载均衡器的子网处在同一个VPC下。

URI

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

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

操作用户的项目ID。

pool_id

String

后端云服务器组id。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

member

Object

后端云服务器对象。详见表3

表3 member字段说明

参数

是否必选

参数类型

描述

tenant_id

String

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

需要和token中的project_id一致。

支持的最大字符长度:255

name

String

后端云服务器的名称。默认为空字符串。

支持的最大字符长度:255

address

String

后端云服务器对应的IP地址,该IP必须在subnet_id字段指定子网的网段中。

只能对应主网卡的IP。

例如:192.168.3.11。

支持的最大字符长度:64

protocol_port

Integer

后端协议的端口号,取值范围[1,65535]。

subnet_id

String

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

后端云服务器的address在该子网的网段中。

只支持指定IPv4的子网ID。暂不支持IPv6。

admin_state_up

Boolean

后端云服务器的管理状态:true/false。

只支持指定为true。

说明:

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

weight

Integer

后端云服务器的权重,取值范围[0,100]。

权重为0的后端不再接受新的请求。默认为1。

响应消息

表4 响应参数

参数

参数类型

描述

member

Object

member对象。详见表5

表5 member字段说明

参数

参数类型

描述

id

String

后端云服务器的 ID。

说明:

此处并非服务器的ID,而是ELB为绑定的后端服务器自动生成的memberID。

tenant_id

String

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

支持的最大字符长度:255

name

String

后端云服务器的名称。

支持的最大字符长度:255

address

String

后端云服务器对应的IP地址,该IP必须在subnet_id字段指定子网的网段中,例如192.168.3.11。

只能对应主网卡的IP。

支持的最大字符长度:64

protocol_port

Integer

后端端口的协议号,取值范围[1,65535]。

subnet_id

String

后端云服务器所在的子网ID。后端云服务器的IP地址在该子网的网段中。

不支持开启了ipv6的子网。

admin_state_up

Boolean

后端云服务器的管理状态:true/false。

只支持指定为true。

说明:

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

weight

Integer

后端云服务器的权重,取值范围[0,100]。

权重为0的后端不再接受新的请求。默认为1。

operating_status

String

后端云服务器的健康状态,取值:

  • ONLINE:健康检查在线,后端服务正常。
  • OFFLINE:健康检查离线,后端服务异常,负载均衡器不再向异常的后端发送流量。
  • NO_MONITOR:无检查检查。未创建检查检查或健康检查的admin_state_up字段为false。
  • 支持的最大字符长度:16

请求示例

  • step1 请求样例 根据弹性云服务器id查询对应的subnet_id和address,其中device_id为弹性云服务器的id。取响应体中主网卡(primary_interface为true的port)的subnet_id、ip_address。
    GET https://{VPCEndpoint}/v2.0/ports?device_id=f738c464-b5c2-45df-86c0-7f436620cd54

    step1 响应样例

    {
        "ports": [
            {
                "id": "94971c39-46f0-443a-85e8-31cb7497c78e",
                "name": "",
                "status": "ACTIVE",
                "admin_state_up": true,
                "fixed_ips": [
                    {
                        "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
                        "ip_address": "192.168.44.11"
                    }
                ],
                "mac_address": "fa:16:3e:5c:d2:57",
                "network_id": "1b76b9c2-9b7e-4ced-81bd-d13f7389d7c9",
                "tenant_id": "04dd36f978800fe22f9bc00bea090736",
                "project_id": "04dd36f978800fe22f9bc00bea090736",
                "device_id": "f738c464-b5c2-45df-86c0-7f436620cd54",
                "device_owner": "compute:cn-north-4a",
                "security_groups": [
                    "a10dfc31-0055-4b84-b36e-1291b918125c",
                    "7a233393-5be2-4dff-8360-1558dd950f6e"
                ],
                "extra_dhcp_opts": [],
                "allowed_address_pairs": [],
                "binding:vnic_type": "normal",
                "binding:vif_details": {
                    "primary_interface": true
                },
                "binding:profile": {},
                "port_security_enabled": true,
                "created_at": "2019-11-12T17:17:51",
                "updated_at": "2019-11-12T17:17:51"
            }
        ]
    }
  • step2 请求样例 使用▪step1中获取的subnet_id和address创建后端云服务器
    POST https://{Endpoint}/v2/145483a5107745e9b3d80f956713e6a3/elb/pools/5a9a3e9e-d1aa-448e-af37-a70171f2a332/members
    
    {
        "member": {
            "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503",
            "protocol_port": 88,
            "name": "member-jy-tt-1",
            "address": "192.168.44.11"
        }
    }

响应示例

  • 响应样例
    {
        "member": {
            "name": "member-jy-tt-1", 
            "weight": 1, 
            "admin_state_up": true, 
            "subnet_id": "33d8b01a-bbe6-41f4-bc45-78a1d284d503", 
            "tenant_id": "145483a5107745e9b3d80f956713e6a3", 
     
            "address": "192.168.44.11", 
            "protocol_port": 88, 
            "operating_status": "ONLINE", 
            "id": "c0042496-e220-44f6-914b-e6ca33bab503"
        }
    }

返回码

请参见负载均衡返回码说明