更新时间:2024-01-23 GMT+08:00

查询后端云服务器组列表

功能介绍

查询后端云服务器组列表。支持过滤查询和分页查询。如未特殊说明,匹配规则为精确匹配。

URI

GET /v2/{project_id}/elb/pools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

操作用户的项目ID。

表2 查询参数

参数

是否必选

参数类型

描述

marker

String

分页查询的起始的资源ID,表示上一页最后一条查询记录的后端云服务器组的ID。不指定时表示查询第一页。

必须与limit一起使用。

limit

Integer

分页查询每页的后端云服务器组个数。如果不设置,则默认不分页查询所有。

page_reverse

Boolean

分页的顺序,true表示从后往前分页,false表示从前往后分页,默认为false。

必须与limit一起使用。

id

String

后端云服务器组ID。

name

String

后端云服务器组名称。

支持的最大字符长度:255

description

String

后端云服务器组的描述信息。

支持的最大字符长度:255

healthmonitor_id

String

后端云服务器组关联的健康检查的ID。

loadbalancer_id

String

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

protocol

String

后端云服务器组的后端协议。

支持TCP、UDP和HTTP。

lb_algorithm

String

后端云服务器组的负载均衡算法。

取值范围:
  • ROUND_ROBIN:加权轮询算法。
  • LEAST_CONNECTIONS:加权最少连接算法。
  • SOURCE_IP:源IP算法。

当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。

member_address

String

后端云服务器组关联的后端云服务器IP。

member_device_id

String

后端云服务器组关联的后端云服务器对应的弹性云服务器的ID。

enterprise_project_id

String

企业项目ID,仅用于基于企业项目的细粒度鉴权使用。

  • 如果参数中传递了loadbalancer_id,则用该负载均衡器对应企业项目ID鉴权。
  • 如果参数中没有传递loadbalancer_id,而传递了healthmonitor_id,则使用健康检查器对应的企业项目id鉴权。
  • 如果enterprise_project_id、loadbalancer_id、healthmonitor_id都没传递,则默认进行细粒度鉴权,必须在用户组下分配elb:*list权限才能通过鉴权。

请求消息

响应消息

表3 响应参数

参数

参数类型

描述

pools

Array of Pools objects

后端云服务器组对象列表。详见表4

表4 pool字段说明

参数

参数类型

描述

id

String

后端云服务器组 ID。

tenant_id

String

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

支持的最大字符长度:255

project_id

String

此参数和tenant_id参数含义一样,均指后端云服务器组所属的项目 ID。

name

String

后端云服务器组名称。

支持的最大字符长度:255

description

String

后端云服务器组的描述信息。

支持的最大字符长度:255

protocol

String

后端云服务器组的后端协议。

取值范围:TCP、UDP和HTTP。

当指定listener_id创建后端云服务器组时,后端云服务器组的protocol和它关联的监听器的protocol有如下关系:

  • 监听器的protocol为UDP时,后端云服务器组的protocol必须为UDP;
  • 监听器的protocol为TCP时,后端云服务器组的protocol必须为TCP;
  • 监听器的protocol为HTTP或TERMINATED_HTTPS时,后端云服务器组的protocol必须为HTTP。

lb_algorithm

String

后端云服务器组的负载均衡算法。

取值范围:
  • ROUND_ROBIN:加权轮询算法。
  • LEAST_CONNECTIONS:加权最少连接算法。
  • SOURCE_IP:源IP算法。当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。

members

Array of Members objects

后端云服务器组关联的后端云服务器ID的列表。详见表7

healthmonitor_id

String

后端云服务器组关联的健康检查的ID。

admin_state_up

Boolean

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

该字段为预留字段,暂未启用。取值范围:true/false。

  • true表示开启。
  • false表示关闭。

listeners

Array of Listeners objects

后端云服务器组关联的监听器ID列表。详见表8

loadbalancers

Array of Loadbalancers objects

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

session_persistence

SessionPersistence object

后端云服务器组的会话持久性。详见表10

当开启会话保持后,在一定时间内,来自同一客户端的请求会发送到同一个后端云服务器上。

取值范围:当会话保持关闭时,该字段取值为null。

protection_status

String

String

当前资源保护状态, 取值:

  • nonProtection: 不保护,默认值为nonProtection
  • consoleProtection: 控制台修改保护

protection_reason

String

String

资源保护的原因。仅当protection_status为consoleProtection时有效。

表5 members字段说明

参数

参数类型

描述

id

String

关联的后端服务器id

表6 listeners字段说明

参数

参数类型

描述

id

String

关联的后端服务器组id

表7 loadbalancers字段说明

参数

参数类型

描述

id

String

关联的负载均衡器id

表8 session_persistence字段说明

参数

是否必选

参数类型

描述

type

String

会话保持的类型。

取值范围:
  • SOURCE_IP:根据请求的源IP,将同一IP的请求发送到同一个后端云服务器上。
  • HTTP_COOKIE:客户端第一次发送请求时,负载均衡器自动生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。
  • APP_COOKIE:客户端第一次发送请求时,后端服务器生成cookie并将该cookie插入响应消息中,后续请求会发送到处理第一个请求的后端云服务器上。

当后端云服务器组的protocol为TCP时,只按SOURCE_IP生效;当后端云服务器组的protocol为HTTP时,只按HTTP_COOKIE、APP_COOKIE生效。

cookie_name

String

cookie名称。支持字母、数字、中划线(-)和下划线(_),最大长度64个字符。

当会话保持类型是APP_COOKIE时,为必选字段,其它类型时不可指定。

persistence_timeout

Integer

会话保持的超时时间。

当type为APP_COOKIE时不生效。

取值范围:
  • [1,60](分钟):当后端云服务器组的protocol为TCP、UDP时。
  • [1,1440](分钟):当后端云服务器组的protocol为HTTP、HTTPS时。

请求示例

  • 请求样例1 全量查询后端云服务器组
    GET https://{Endpoint}/v2/1867112d054b427e808cc6096d8193a1/elb/pools
  • 请求样例2 过滤查询负载均衡算法为SOURCE_IP的后端云服务器组
    GET https://{Endpoint}/v2/1867112d054b427e808cc6096d8193a1/elb/pools?lb_algorithm=SOURCE_IP

响应示例

  • 响应样例1
    {
        "pools": [
            {
                "lb_algorithm": "SOURCE_IP",
                "protocol": "TCP",
                "description": "",
                "admin_state_up": true,
                "loadbalancers": [
                    {
                        "id": "07d28d4a-4899-40a3-a939-5d09d69019e1"
                    }
                ],
                "tenant_id": "1867112d054b427e808cc6096d8193a1",
                "project_id": "1867112d054b427e808cc6096d8193a1",
                "session_persistence": null,
                "healthmonitor_id": null,
                "listeners": [
                    {
                        "id": "1b421c2d-7e78-4a78-9ee4-c8ccba41f15b"
                    }
                ],
                "members": [
                    {
                        "id": "88f9c079-29cb-435a-b98f-0c5c0b90c2bd"
                    },
                    {
                        "id": "2f4c9644-d5d2-4cf8-a3c0-944239a4f58c"
                    }
                ],
                "id": "3a9f50bb-f041-4eac-a117-82472d8a0007",
                "name": "my-pool"
            }
        ]
    }
  • 响应样例2
    {
        "pools": [
            {
                "lb_algorithm": "SOURCE_IP",
                "protocol": "TCP",
                "description": "",
                "admin_state_up": true,
                "loadbalancers": [
                    {
                        "id": "07d28d4a-4899-40a3-a939-5d09d69019e1"
                    }
                ],
                "tenant_id": "1867112d054b427e808cc6096d8193a1",
                "project_id": "1867112d054b427e808cc6096d8193a1",
                "session_persistence": null,
                "healthmonitor_id": null,
                "listeners": [
                    {
                        "id": "1b421c2d-7e78-4a78-9ee4-c8ccba41f15b"
                    }
                ],
                "members": [
                    {
                        "id": "88f9c079-29cb-435a-b98f-0c5c0b90c2bd"
                    },
                    {
                        "id": "2f4c9644-d5d2-4cf8-a3c0-944239a4f58c"
                    }
                ],
                "id": "3a9f50bb-f041-4eac-a117-82472d8a0007",
                "name": "my-pool"
            }
        ]
    }

返回码

请参见状态码