文档首页/ 弹性负载均衡 ELB/ API参考/ API(V3)/ 负载均衡器/ 查询负载均衡器拓扑 - ShowLoadBalancerTopology
更新时间:2026-01-09 GMT+08:00

查询负载均衡器拓扑 - ShowLoadBalancerTopology

功能介绍

查询负载均衡拓扑,将负载均衡器及其包含的监听器、后端服务器组以拓扑的形式展示。

调用方法

请参见如何调用API

URI

GET /v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/topology

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

约束限制:不涉及

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

默认取值:不涉及

loadbalancer_id

String

参数解释:负载均衡器ID。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

表2 Query参数

参数

是否必选

参数类型

描述

listener_id

String

监听器的ID。

支持多值查询,查询条件格式:listener_id=xxx&listener_id=xxx

pool_id

String

后端服务器组的ID。

支持多值查询,查询条件格式:pool_id=xxx&pool_id=xxx

listener_name

String

监听器的名称。

支持多值查询,查询条件格式:listener_name=xxx&listener_name=xxx

listener_protocol

String

监听器的协议。

支持多值查询,查询条件格式:listener_protocol=xxx&listener_protocol=xxx

listener_protocol_port

Integer

监听器的监听端口。

支持多值查询,查询条件格式:listener_protocol_port=xxx&listener_protocol_port=xxx

pool_name

String

后端服务器组的名称。

支持多值查询,查询条件格式:pool_name=xxx&pool_name=xxx

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:IAM鉴权Token。

约束限制:不涉及

取值范围:不涉及

默认取值:不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

topology

LoadBalancerTopologyResult object

参数解释:负载均衡器拓扑。

request_id

String

参数解释:请求ID。

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

表5 LoadBalancerTopologyResult

参数

参数类型

描述

nodes

TopologyNodes object

参数解释:拓扑节点信息。

edges

Array of TopologyEdge objects

参数解释:拓扑边的信息

labels

TopologyLabels object

参数解释:拓扑节点信息。

表6 TopologyNodes

参数

参数类型

描述

loadbalancers

Array of LoadBalancerNode objects

取值范围:拓扑LB节点信息。

eips

Array of EipNode objects

取值范围:拓扑EIP节点信息。

listeners

Array of ListenerNode objects

取值范围:拓扑监听器节点信息。

pools

Array of PoolNode objects

取值范围:拓扑后端服务器组节点信息。

表7 LoadBalancerNode

参数

参数类型

描述

id

String

参数解释:负载均衡器id。

取值范围:不涉及

name

String

参数解释:负载均衡器名称。

取值范围:不涉及

guaranteed

Boolean

参数解释:是否独享型LB。

取值范围

  • false:共享型。

  • true:独享型。

l4_flavor_id

String

参数解释:网络型规格ID。

取值范围:不涉及

l7_flavor_id

String

参数解释:应用型规格ID。

取值范围:不涉及

vip_address

String

参数解释:ipv4地址。

取值范围:不涉及

ipv6_vip_address

String

参数解释:ipv6地址。

取值范围:不涉及

availability_zone_list

Array of strings

参数解释:负载均衡器所在的可用区列表。

取值范围:不涉及

表8 EipNode

参数

参数类型

描述

id

String

参数解释:不涉及EIP id。

取值范围:不涉及

ip_address

String

参数解释:EIP地址。

取值范围:不涉及

ip_version

Integer

参数解释:EIP 地址类型。

取值范围:不涉及

  • 4:ipv4。

  • 6:ipv6

表9 ListenerNode

参数

参数类型

描述

id

String

参数解释:监听器id。

取值范围:不涉及

name

String

参数解释:监听器名称。

取值范围:不涉及

protocol

String

参数解释:监听器协议。

取值范围:不涉及

protocol_port

Integer

参数解释:监听器监听端口。

取值范围:不涉及

port_ranges

Array of PortRange objects

参数解释:全端口监听,指定端口监听范围(闭区间),最多指定10个端口组,每个组范围不可有重叠部分

说明:
仅当protocol_port为0时可以传入。
表10 PortRange

参数

参数类型

描述

start_port

Integer

参数解释:起始端口。

约束限制:不涉及

取值范围:1-65535

默认取值:不涉及

end_port

Integer

参数解释:结束端口。

约束限制:大于等于起始端口。

取值范围:1-65535

默认取值:不涉及

表11 PoolNode

参数

参数类型

描述

id

String

取值范围:后端服务器组id。

取值范围:不涉及

name

String

取值范围:后端服务器组名称。

取值范围:不涉及

protocol

String

取值范围:后端服务器组协议。

取值范围:不涉及

type

String

取值范围:后端服务器组类型。

取值范围:不涉及

lb_algorithm

String

取值范围:后端服务器组负载均衡算法。

取值范围:不涉及

表12 TopologyEdge

参数

参数类型

描述

source

String

参数解释:边起点id。

取值范围:不涉及

target

String

参数解释:边终点id。

取值范围:不涉及

source_type

String

参数解释:边起点类型。

取值范围:不涉及

target_type

String

参数解释:边终点类型。

取值范围:不涉及

label

String

参数解释:边label信息。

取值范围:不涉及

label_id

String

参数解释:label id。

取值范围:不涉及

表13 TopologyLabels

参数

参数类型

描述

l7policies

Array of PolicyLabel objects

参数解释:转发策略信息。

表14 PolicyLabel

参数

参数类型

描述

id

String

参数解释:转发策略id。

取值范围:不涉及

name

String

参数解释:转发策略名称。

取值范围:不涉及

priority

String

参数解释:转发策略优先级。

取值范围:不涉及

action

String

参数解释:转发策略action。

取值范围:不涉及

admin_state_up

Boolean

参数解释:转发策略是否启用。

取值范围:不涉及

rules

Array of L7Rule objects

参数解释:规则对象列表。

表15 L7Rule

参数

参数类型

描述

admin_state_up

Boolean

参数解释:转发规则的管理状。

取值范围:固定为true。

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

compare_type

String

参数解释:转发规则的匹配方式。

取值范围:type为HOST_NAME时可以为EQUAL_TO。type为PATH时可以为REGEX,STARTS_WITH,EQUAL_TO。

key

String

参数解释:匹配内容的键值。

取值范围:不涉及

project_id

String

参数解释:转发规则所在的项目ID。

取值范围:不涉及

type

String

参数解释:转发规则类别。

取值范围

  • HOST_NAME:匹配域名。

  • PATH:匹配请求路径。

  • METHOD:匹配请求方法。

  • HEADER:匹配请求头。

  • QUERY_STRING:匹配请求查询参数。

  • SOURCE_IP:匹配请求源IP地址。

  • COOKIE: 匹配cookie信息。

value

String

参数解释:匹配内容的值。

取值范围

  • 当type为HOST_NAME时,字符串只能包含英文字母、数字、-.,必须以字母、数字或开头。若域名中包含*,则只能出现在开头且必须以.开始。当*开头时表示通配0~任一个字符。

  • 当type为PATH时,当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以/开头。

  • 当type为METHOD、SOURCE_IP、HEADER、QUERY_STRING时,该字段无意义,使用conditions来指定key,value。

provisioning_status

String

参数解释:provisioning状态。该字段无效,默认为ACTIVE。

取值范围

  • ACTIVE:已生效。

  • PENDING_CREATE:创建中。

  • ERROR:当前配置有误。

invert

Boolean

参数解释:是否反向匹配。

取值范围:不涉及

id

String

参数解释:规则ID。

取值范围:不涉及

conditions

Array of RuleCondition objects

参数解释:转发规则的匹配条件。

取值范围:不涉及

created_at

String

参数解释:创建时间。

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

注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。

updated_at

String

参数解释:更新时间。

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

注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。

表16 RuleCondition

参数

参数类型

描述

key

String

参数解释:匹配项的名称。

约束限制:同一个rule内的conditions列表中所有key必须相同。

取值范围

  • 当转发规则类别type为HOST_NAME、PATH、METHOD、SOURCE_IP时,该字段固定为空字符串。

  • 当转发规则类别type为HEADER时,key表示请求头、响应头参数的名称,value表示请求头、响应头参数的值。key的长度限制1-40字符,只允许包含字母、数字和-_。

  • 当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。key的长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号,'#','&','|',‘%’,‘~’,字母区分大小写。

默认取值:不涉及

value

String

参数解释:匹配项的值。

约束限制:同一个rule内的conditions列表中所有value不允许重复。

取值范围

  • 当转发规则类别type为HOST_NAME时,key固定为空字符串,value表示域名的值。value长度1-128字符,字符串只能包含英文字母、数字、-.*,必须以字母、数字或*开头,*只能出现在开头且必须以*.开始。

  • 当转发规则类别type为PATH时,key固定为空字符串,value表示请求路径的值。value长度1-128字符。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以"/"开头。

  • 当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。value长度限制1-128字符,不支持空格,双引号,支持以下通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)。

  • 当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。value长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号,'#','&','|',‘%’,‘~’,字母区分大小写,支持通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)

  • 当转发规则类别type为METHOD时,key固定为空字符串,value表示请求方式。value取值范围为:GET, PUT,POST,DELETE, PATCH, HEAD, OPTIONS。

  • 当转发规则类别type为SOURCE_IP时,key固定为空字符串,value表示请求源地址。value为CIDR格式,支持ipv4,ipv6。例如192.168.0.2/32,2049::49/64。

默认取值:不涉及

请求示例

查询负载均衡器拓扑信息

GET https://{ELB_Endpoint}/v3/{project_id}/elb/loadbalancers/38278031-cfca-44be-81be-a412f618773b/topology

响应示例

状态码:200

操作成功正常返回。

{
  "topology" : {
    "nodes" : {
      "loadbalancers" : [ {
        "id" : "10000000-0000-0000-0000-000000000001",
        "name" : "elb-topology",
        "guaranteed" : true,
        "l4_flavor_id" : "c5dc2b58-d5b7-40d3-8646-485aff8b70bd",
        "l7_flavor_id" : "1b333094-bd31-4cb8-97e2-ea762fde3576",
        "vip_address" : "172.16.8.148",
        "ipv6_vip_address" : "2420:2023:410:230:2188:8eb:f42b:d3b5",
        "provisioning_status" : "ACTIVE",
        "availability_zone_list" : [ "AZ1", "AZ2" ]
      } ],
      "eips" : [ {
        "id" : "24000000-0000-0000-0000-100000000001",
        "ip_address" : "2420:2023:410:230:2188:8eb:f42b:d3b5",
        "ip_version" : 6
      }, {
        "id" : "26000000-0000-0000-0000-000000000001",
        "ip_address" : "10.185.106.199",
        "ip_version" : 4
      } ],
      "listeners" : [ {
        "id" : "20000000-0000-0000-0000-000000000001",
        "name" : "test-listener",
        "protocol" : "TCP",
        "protocol_port" : 8080,
        "port_ranges" : null
      } ],
      "pools" : [ {
        "id" : "40000000-0000-0000-0000-000000000001",
        "name" : "test-pool",
        "protocol" : "TCP",
        "type" : "instance",
        "lb_algorithm" : "ROUND_ROBIN"
      } ]
    }
  },
  "edges" : [ {
    "source" : "24000000-0000-0000-0000-100000000001",
    "target" : "10000000-0000-0000-0000-000000000001",
    "label" : null,
    "label_id" : null,
    "source_type" : "eips",
    "target_type" : "loadbalancers"
  }, {
    "source" : "24000000-0000-0000-0000-100000000001",
    "target" : "10000000-0000-0000-0000-000000000001",
    "label" : null,
    "label_id" : null,
    "source_type" : "eips",
    "target_type" : "loadbalancers"
  }, {
    "source" : "24000000-0000-0000-0000-100000000001",
    "target" : "20000000-0000-0000-0000-000000000001",
    "label" : null,
    "label_id" : null,
    "source_type" : "loadbalancers",
    "target_type" : "listeners"
  }, {
    "source" : "20000000-0000-0000-0000-000000000001",
    "target" : "40000000-0000-0000-0000-000000000001",
    "label" : "default_pool",
    "label_id" : null,
    "source_type" : "listeners",
    "target_type" : "pools"
  } ],
  "labels" : {
    "l7policies" : [ {
      "id" : "50000000-0000-0000-0000-000000000001",
      "name" : "test-l7policy",
      "priority" : 1,
      "action" : "REDIRECT_TO_POOL",
      "admin_state_up" : true,
      "rules" : [ {
        "id" : "60000000-0000-0000-0000-000000000001",
        "compare_type" : "EQUAL_TO",
        "value" : "www.test.com",
        "type" : "HOST_NAME",
        "conditions" : [ {
          "key" : null
        }, {
          "value" : "www.test.com"
        } ]
      } ]
    } ]
  }
}

状态码

状态码

描述

200

操作成功正常返回。

错误码

请参见错误码