华为云用户手册

  • 请求示例 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:xx-xxxx-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.0/lbaas/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", "project_id": "145483a5107745e9b3d80f956713e6a3", "address": "192.168.44.11", "protocol_port": 88, "operating_status": "ONLINE", "id": "c0042496-e220-44f6-914b-e6ca33bab503" } }
  • 请求消息 表2 请求参数 参数 是否必选 参数类型 描述 member 是 Object 后端云服务器对象。详见表3。 表3 member字段说明 参数 是否必选 参数类型 描述 tenant_id 否 String 后端云服务器所在的项目ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 支持的最大字符长度:255 project_id 否 String 此参数和tenant_id参数含义一样,均指后端云服务器所在的项目ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 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。 weight 否 Integer 后端云服务器的权重,取值范围[0,100]。 权重为0的后端不再接受新的请求。默认为1。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求ID。 注:自动生成 。 page_info PageInfo object 分页信息。 members Array of Member objects 后端服务器对象列表。 表5 PageInfo 参数 参数类型 描述 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 current_count Integer 当前的记录数。 表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
  • 响应示例 状态码: 200 操作正常返回。 { "members" : [ { "name" : "quark-neutron", "weight" : 100, "admin_state_up" : false, "subnet_cidr_id" : "c09f620e-3492-4429-ac15-445d5dd9ca74", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "address" : "120.10.10.2", "protocol_port" : 2100, "id" : "0aa23a52-1ac2-4a2d-8dfa-1e11cb26079d", "operating_status" : "NO_MONITOR", "ip_version" : "v4" }, { "name" : "quark-neutron", "weight" : 100, "admin_state_up" : false, "subnet_cidr_id" : "c09f620e-3492-4429-ac15-445d5dd9ca74", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "address" : "120.10.10.2", "protocol_port" : 2101, "id" : "315b928b-39e4-4d5f-8e48-39e9108c1035", "operating_status" : "NO_MONITOR", "ip_version" : "v4" }, { "name" : "quark-neutron", "weight" : 100, "admin_state_up" : false, "subnet_cidr_id" : "27e4ab69-a5ed-46c6-921a-5212be19ce87", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "address" : "2001:db8:a583:6a::4", "protocol_port" : 2101, "id" : "53976f72-d2aa-47f5-baf4-4906ed6b42d6", "operating_status" : "NO_MONITOR", "ip_version" : "v6" } ], "page_info" : { "previous_marker" : "0aa23a52-1ac2-4a2d-8dfa-1e11cb26079d", "current_count" : 3 }, "request_id" : "87e29592-7ab8-401a-9bf4-66cf6747eab9" }
  • URI GET /v3/{project_id}/elb/pools/{pool_id}/members 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 pool_id 是 String 后端服务器组ID。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一页最后一条记录的ID。 使用说明: 必须与limit一起使用。 不指定时表示查询第一页。 该字段不允许为空或无效的ID。 limit 否 Integer 每页返回的个数。 最小值:0 最大值:2000 缺省值:2000 page_reverse 否 Boolean 是否反向查询。 取值: true:查询上一页。 false:查询下一页,默认。 使用说明: 必须与limit一起使用。 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 name 否 Array 后端云服务器名称。 支持多值查询,查询条件格式:name=xxx&name=xxx。 weight 否 Array 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100。 支持多值查询,查询条件格式:weight=xxx&weight=xxx。 admin_state_up 否 Boolean 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 subnet_cidr_id 否 Array 后端云服务器所在子网的IPv4子网ID或IPv6子网ID。 支持多值查询,查询条件格式:**subnet_cidr_id=xxx&subnet_cidr_id=xxx。 address 否 Array 后端服务器对应的IPv4或IPv6地址。 支持多值查询,查询条件格式:address=xxx&address=xxx。 protocol_port 否 Array 后端服务器业务端口号。 支持多值查询,查询条件格式:protocol_port=xxx&protocol_port=xxx。 id 否 Array 后端云服务器ID。 支持多值查询,查询条件格式:id=xxx&id=xxx。 operating_status 否 Array 后端云服务器的健康状态。 取值: ONLINE:后端云服务器正常。 NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 支持多值查询,查询条件格式:operating_status=xxx&operating_status=xxx。 enterprise_project_id 否 Array 企业项目ID。不传时查询default企业项目"0"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式:enterprise_project_id=xxx&enterprise_project_id=xxx。 ip_version 否 Array 当前后端服务器的IP地址版本。取值:v4、v6。 member_type 否 Array 后端云服务器的类型。 取值: ip:跨VPC的member。 instance:关联到ECS的member。 支持多值查询,查询条件格式:member_type=xxx&member_type=xxx。 instance_id 否 Array member关联的ECS实例ID,空表示跨VPC场景的member。 支持多值查询,查询条件格式:instance_id=xxx&instance_id=xxx。
  • 响应示例 状态码: 200 操作正常返回。 { "listeners" : [ { "id" : "0b11747a-b139-492f-9692-2df0b1c87193", "name" : "My listener", "protocol_port" : 80, "protocol" : "TCP", "ipgroup" : null, "description" : "My listener update.", "default_tls_container_ref" : null, "admin_state_up" : true, "loadbalancers" : [ { "id" : "098b2f68-af1c-41a9-8efd-69958722af62" } ], "member_timeout" : null, "client_timeout" : null, "keepalive_timeout" : 300, "client_ca_tls_container_ref" : null, "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "sni_container_refs" : [ ], "connection_limit" : -1, "default_pool_id" : null, "tls_ciphers_policy" : "tls-1-0", "tags" : [ ], "created_at" : "2019-04-02T00:12:32Z", "updated_at" : "2019-04-02T17:43:46Z", "http2_enable" : true, "insert_headers" : { "X-Forwarded-ELB-IP" : true }, "transparent_client_ip_enable" : false, "quic_config" : null }, { "id" : "0b455839-3ea7-4bac-ad26-35bf22f96ea4", "name" : "listener-test", "protocol_port" : 86, "protocol" : "TERMINATED_HTTPS", "description" : null, "default_tls_container_ref" : "ad9b123e858d4652b80e89b9941e49a4", "admin_state_up" : true, "loadbalancers" : [ { "id" : "309a0f61-0b62-45f2-97d1-742f3434338e" } ], "member_timeout" : 60, "client_timeout" : 60, "keepalive_timeout" : 15, "client_ca_tls_container_ref" : "7875ccb4c6b44cdb90ab2ab89892ab71", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "sni_container_refs" : [ "7f41c96223d34ebaa3c8e836b6625ec0" ], "connection_limit" : -1, "default_pool_id" : "5e7e0175-d5d5-4f37-bfba-88a9524ad20b", "tls_ciphers_policy" : "tls-1-0", "tags" : [ ], "created_at" : "2019-03-22T23:37:14Z", "updated_at" : "2019-03-22T23:37:14Z", "http2_enable" : false, "ipgroup" : null, "insert_headers" : { "X-Forwarded-ELB-IP" : true }, "transparent_client_ip_enable" : false, "quic_config" : null } ], "page_info" : { "next_marker" : "0b455839-3ea7-4bac-ad26-35bf22f96ea4", "previous_marker" : "0b11747a-b139-492f-9692-2df0b1c87193", "current_count" : 2 }, "request_id" : "774640ee-6863-4de3-8156-aff16f51a087" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求ID。 注:自动生成 。 page_info PageInfo object 监听器分页信息。 listeners Array of Listener objects Listener的列表。 表5 PageInfo 参数 参数类型 描述 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 current_count Integer 当前的记录数。 表6 Listener 参数 参数类型 描述 admin_state_up Boolean 监听器的管理状态。只能设置为true。 不支持该字段,请勿使用。 client_ca_tls_container_ref String 监听器使用的CA证书ID。当且仅当type=client时,才会使用该字段对应的证书。 connection_limit Integer 监听器的最大连接数。 取值:-1表示不限制,默认为-1。 不支持该字段,请勿使用。 created_at String 监听器的创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z default_pool_id String 监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 default_tls_container_ref String 监听器使用的服务器证书ID。 description String 监听器的描述信息。 http2_enable Boolean 客户端与LB之间的HTTPS请求的HTTP2功能的开启状态。 开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。 使用说明: 仅HTTPS协议监听器有效。 QUIC监听器不能设置该字段,固定返回为true。 其他协议的监听器可设置该字段但无效,无论取值如何都不影响监听器正常运行。 id String 监听器ID。 insert_headers ListenerInsertHeaders object 可选的HTTP头插入,可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器使。例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。 loadbalancers Array of LoadBalancerRef objects 监听器所属的负载均衡器的ID列表。一个监听器只支持关联到一个LB。 name String 监听器的名称。 注意:若名称为空,则在控制台的监听器列表无法选择并查看监听器详情。 project_id String 监听器所在的项目ID。 protocol String 监听器的监听协议。 取值:TCP、UDP、HTTP、HTTPS、TERMINATED_HTTPS、QUIC、TCPSSL。 使用说明: 共享型LB上的HTTPS监听器只支持设置为TERMINATED_HTTPS, 创建时传入HTTPS将会自动转为TERMINATED_HTTPS。 独享型LB上的HTTPS监听器只支持设置为HTTPS,创建时传入TERMINATED_HTTPS将会自动转为HTTPS。 protocol_port Integer 监听器的监听端口。QUIC监听器端口不能是4789,且不能和UDP监听器端口重复。传0时表示开启监听端口范围的能力,此时port_ranges为必填字段。 最小值:0 最大值:65535 sni_container_refs Array of strings 监听器使用的SNI证书(带域名的服务器证书)ID列表。 使用说明: 列表对应的所有SNI证书的域名不允许存在重复。 列表对应的所有SNI证书的域名总数不超过50。 sni_match_algo String 监听器使用的SNI证书泛域名匹配方式。 longest_suffix表示最长尾缀匹配,wildcard表示标准域名分级匹配。 默认为wildcard。 tags Array of Tag objects 标签列表。 updated_at String 监听器的更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z tls_ciphers_policy String 监听器使用的安全策略。 取值:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2,tls-1-2-strict,tls-1-2-fs,tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0,默认:tls-1-0。 使用说明: 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 QUIC监听器不支持该字段。 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) security_policy_id String 自定义安全策略的ID。 使用说明: 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) enable_member_retry Boolean 是否开启后端服务器的重试。 取值:true 开启重试,false 不开启重试。默认:true。 使用说明: 若关联是共享型LB,仅在protocol为HTTP、TERMINATED_HTTPS时才能传入该字段。 若关联是独享型LB,仅在protocol为HTTP、HTTPS和QUIC时才能传入该字段。 keepalive_timeout Integer 客户端连接空闲超时时间。在超过keepalive_timeout时长一直没有请求, 负载均衡会暂时中断当前连接,直到下一次请求时重新建立新的连接。 取值: 若为TCP监听器,取值范围为(10-4000s)默认值为300s。 若为HTTP/HTTPS/TERMINATED_HTTPS监听器,取值范围为(0-4000s)默认值为60s。 UDP监听器不支持此字段。 client_timeout Integer 等待客户端请求超时时间,包括两种情况: 读取整个客户端请求头的超时时长:如果客户端未在超时时长内发送完整个请求头,则请求将被中断 两个连续body体的数据包到达LB的时间间隔,超出client_timeout将会断开连接。 取值范围为1-300s,默认值为60s。 使用说明:仅协议为HTTP/HTTPS的监听器支持该字段。 member_timeout Integer 等待后端服务器响应超时时间。请求转发后端服务器后,在等待超时member_timeout时长没有响应,负载均衡将终止等待,并返回 HTTP504错误码。 取值:1-300s,默认为60s。 使用说明:仅支持协议为HTTP/HTTPS的监听器。 ipgroup ListenerIpGroup object listener对象中的ipgroup信息 transparent_client_ip_enable Boolean 是否透传客户端IP地址。开启后客户端IP地址将透传到后端服务器。 仅作用于共享型LB的TCP/UDP监听器。 取值: 共享型LB的TCP/UDP监听器可设置为true或false,不传默认为false。 共享型LB的HTTP/HTTPS监听器只支持设置为true,不传默认为true。 独享型负载均衡器所有协议的监听器只支持设置为true,不传默认为true。 使用说明: 开启特性后,ELB和后端服务器之间直接使用真实的IP访问,需要确保已正确设置服务器的安全组以及访问控制策略。 开启特性后,不支持同一台服务器既作为后端服务器又作为客户端的场景。 开启特性后,不支持变更后端服务器规格。 proxy_protocol_enable Boolean 是否开启proxy_protocol。仅tcpssl监听器可指定,其他协议的监听器该字段不生效,proxy_protocol不开启。 enhance_l7policy_enable Boolean 是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 取值:true开启,false不开启,默认false。 开启后支持如下场景: 转发策略的action字段支持指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持URL重定向和响应固定的内容给客户端。 转发策略支持指定priority、redirect_url_config、fixed_response_config字段。 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种取值。 转发规则rule的type为HOST_NAME时,转发规则rule的value支持通配符*。 转发规则支持指定conditions字段。 缺省值:false quic_config ListenerQuicConfig object 当前监听器关联的QUIC监听器配置信息,仅protocol为HTTPS时有效。 对于TCP/UDP/HTTP/QUIC监听器,若该字段非空则报错。 说明: 客户端向服务端发送正常的HTTP协议请求并携带了支持QUIC协议的信息。 如果服务端监听器开启了升级QUIC,那么就会在响应头中加入服务端支持的QUIC端口和版本信息。 客户端再次请求时会同时发送TCP(HTTPS)和UDP(QUIC)请求,若QUIC请求成功,则后续继续使用QUIC交互。 protection_status String 修改保护状态, 取值: nonProtection: 不保护,默认值为nonProtection consoleProtection: 控制台修改保护 protection_reason String 设置保护的原因 说明: 仅当protection_status为consoleProtection时有效。 最小长度:0 最大长度:255 gzip_enable Boolean ELB是否开启gzip压缩,缺省值:false,非必选 仅HTTP/HTTPS/QUIC类型监听器支持配置。 port_ranges Array of PortRange objects 端口监听范围(闭区间),最多指定10个端口组,每个组范围不可有重叠部分 说明: 仅当protocol_port为0时可以传入。 ssl_early_data_enable Boolean 监听器0-RTT能力开关,缺省值:false,非必选 仅HTTPS类型监听器支持配置,需要依赖TLSv1.3安全策略协议。 表7 ListenerInsertHeaders 参数 参数类型 描述 X-Forwarded-ELB-IP Boolean X-Forwarded-ELB-IP设为true可以将ELB实例的eip地址从报文的http头中带到后端云服务器。 X-Forwarded-Port Boolean X-Forwarded-Port设为true可以将ELB实例的监听端口从报文的http头中带到后端云服务器。 X-Forwarded-For-Port Boolean X-Forwarded-For-Port设为true可以将客户端的源端口从报文的http头中带到后端云服务器。 X-Forwarded-Host Boolean X-Forwarded-Host设为true可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器。 X-Forwarded-Proto Boolean X-Forwarded-Proto设为true可以将负载均衡器实例的监听协议通过报文的http头带到后端云服务器。 X-Real-IP Boolean X-Real-IP设为true可以将客户端的IP通过报文的http头带到后端云服务器。 X-Forwarded-ELB-ID Boolean X-Forwarded-ELB-ID设为true可以将负载均衡器实例的ID通过报文的http头带到后端云服务器。 X-Forwarded-TLS-Certificate-ID Boolean X-Forwarded-TLS-Certificate-ID设为true可以将负载均衡器实例的证书ID通过报文的http头带到后端云服务器。 X-Forwarded-TLS-Protocol Boolean X-Forwarded-TLS-Protocol设为true可以将负载均衡器实例的算法协议通过报文的http头带到后端云服务器。 X-Forwarded-TLS-Cipher Boolean X-Forwarded-TLS-Cipher设为true可以将负载均衡器实例的算法套件通过报文的http头带到后端云服务器。 表8 LoadBalancerRef 参数 参数类型 描述 id String 负载均衡器ID。 表9 Tag 参数 参数类型 描述 key String 标签键 最小长度:1 最大长度:36 value String 标签值 最小长度:0 最大长度:43 表10 ListenerIpGroup 参数 参数类型 描述 ipgroup_id String 监听器关联的访问控制组的id。 创建时必选,更新时非必选。 指定的ipgroup必须已存在,不能指定为null,否则与enable_ipgroup冲突。 enable_ipgroup Boolean 访问控制组的状态。 True:开启访问控制; Flase:关闭访问控制; 开启访问控制的监听器,允许直接删除。 type String 访问控制组的类型。 white:白名单,只允许指定ip访问; black:黑名单,不允许指定ip访问; 表11 ListenerQuicConfig 参数 参数类型 描述 quic_listener_id String 监听器关联的QUIC监听器ID。 创建时必选,更新时非必选。 指定的listener id必须已存在,且协议类型为QUIC,不能指定为null,否则与enable_quic_upgrade冲突。 enable_quic_upgrade Boolean QUIC升级的开启状态。 True:开启QUIC升级; Flase:关闭QUIC升级; 开启HTTPS监听器升级QUIC监听器能力 表12 PortRange 参数 参数类型 描述 start_port Integer 起始端口 最小值:1 最大值:65535 end_port Integer 结束端口,需大于等于起始端口 最小值:1 最大值:65535
  • URI GET /v3/{project_id}/elb/listeners 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每页返回的个数。 最小值:0 最大值:2000 缺省值:2000 marker 否 String 上一页最后一条记录的ID。 使用说明: 必须与limit一起使用。 不指定时表示查询第一页。 该字段不允许为空或无效的ID。 page_reverse 否 Boolean 是否反向查询。 取值: true:查询上一页。 false:查询下一页,默认。 使用说明: 必须与limit一起使用。 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 protocol_port 否 Array 监听器的前端监听端口。 支持多值查询,查询条件格式:protocol_port=xxx&protocol_port=xxx。 protocol 否 Array 监听器的监听协议。 取值:TCP、UDP、HTTP、HTTPS、TERMINATED_HTTPS、QUIC。 说明:TERMINATED_HTTPS为共享型LB上的监听器独有的协议。 支持多值查询,查询条件格式:protocol=xxx&protocol=xxx。 description 否 Array 监听器的描述信息。 支持多值查询,查询条件格式:description=xxx&description=xxx。 default_tls_container_ref 否 Array 监听器的服务器证书ID。 支持多值查询,查询条件格式: default_tls_container_ref=xxx&default_tls_container_ref=xxx。 client_ca_tls_container_ref 否 Array 监听器的CA证书ID。 支持多值查询,查询条件格式: client_ca_tls_container_ref=xxx&client_ca_tls_container_ref=xxx。 admin_state_up 否 Boolean 监听器的管理状态,只能设置为true。 不支持该字段,请勿使用。 connection_limit 否 Array 监听器的最大连接数。 取值:-1表示不限制连接数。 支持多值查询,查询条件格式:connection_limit=xxx&connection_limit=xxx。 不支持该字段,请勿使用。 default_pool_id 否 Array 监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 支持多值查询,查询条件格式:default_pool_id=xxx&default_pool_id=xxx。 id 否 Array 监听器ID。 支持多值查询,查询条件格式:id=xxx&id=xxx。 name 否 Array 监听器名称。 支持多值查询,查询条件格式:name=xxx&name=xxx。 http2_enable 否 Boolean 客户端与LB之间的HTTPS请求的HTTP2功能的开启状态。 开启后,可提升客户端与LB间的访问性能,但LB与后端服务器间仍采用HTTP1.X协议。 使用说明: 仅HTTPS协议监听器有效。 QUIC监听器不能设置该字段,固定返回为true。 其他协议的监听器可设置该字段但无效,无论取值如何都不影响监听器正常运行。 loadbalancer_id 否 Array 监听器所属的负载均衡器ID。 支持多值查询,查询条件格式:loadbalancer_id=xxx&loadbalancer_id=xxx。 tls_ciphers_policy 否 Array 监听器使用的安全策略。 支持多值查询,查询条件格式:tls_ciphers_policy=xxx&tls_ciphers_policy=xxx。 member_address 否 Array 后端云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:member_address=xxx&member_address=xxx。 member_device_id 否 Array 后端云服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:member_device_id=xxx&member_device_id=xxx。 enterprise_project_id 否 Array 企业项目ID。不传时查询default企业项目"0"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式:enterprise_project_id=xxx&enterprise_project_id=xxx。 enable_member_retry 否 Boolean 是否开启后端服务器的重试。 取值:true 开启重试,false 不开启重试。 member_timeout 否 Array 等待后端服务器响应超时时间。请求转发后端服务器后,在等待超时member_timeout时长没有响应,负载均衡将终止等待,并返回 HTTP504错误码。 取值:1-300s。 支持多值查询,查询条件格式:member_timeout=xxx&member_timeout=xxx。 client_timeout 否 Array 等待客户端请求超时时间,包括两种情况: 读取整个客户端请求头的超时时长:如果客户端未在超时时长内发送完整个请求头,则请求将被中断 两个连续body体的数据包到达LB的时间间隔,超出client_timeout将会断开连接。 取值:1-300s。 支持多值查询,查询条件格式:client_timeout=xxx&client_timeout=xxx。 keepalive_timeout 否 Array 客户端连接空闲超时时间。在超过keepalive_timeout时长一直没有请求, 负载均衡会暂时中断当前连接,直到下一次请求时重新建立新的连接。 取值: TCP监听器:10-4000s。 HTTP/HTTPS/TERMINATED_HTTPS监听器:0-4000s。 UDP监听器不支持此字段。 支持多值查询,查询条件格式:keepalive_timeout=xxx&keepalive_timeout=xxx。 transparent_client_ip_enable 否 Boolean 是否透传客户端IP地址。开启后客户端IP地址将透传到后端服务器。 仅作用于共享型LB的TCP/UDP监听器。取值:true开启,false不开启。 proxy_protocol_enable 否 Boolean 是否开启proxy_protocol。仅tcpssl监听器可指定,其他协议的监听器该字段不生效,proxy_protocol不开启。 enhance_l7policy_enable 否 Boolean 是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 取值:true开启,false不开启。 member_instance_id 否 Array 后端云服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:member_instance_id=xxx&member_instance_id=xxx。 protection_status 否 Array 修改保护状态, 取值: nonProtection: 不保护,默认值为nonProtection consoleProtection: 控制台修改保护
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户token 表3 请求参数 参数 是否必选 参数类型 描述 tags 是 Array 标签列表。详见表4。 action 是 String 操作标识; 取值范围: create:创建标签。 表4 resource_tag 字段数据结构说明 参数 是否必选 参数类型 描述 key 是 String 标签名称。 不能为空。 长度不超过36个字符。 由英文字母、数字、下划线、中划线、中文字符组成。 同一资源的key值不能重复。 value 是 String 标签值。 长度不超过43个字符。 由英文字母、数字、下划线、点、中划线、中文字符组成。
  • 请求示例 请求样例 POST https://{Endpoint}/v2.0/6a0de1c3-7d74-4f4a-b75e-e57135bd2b97/listeners/7add33ad-11dc-4ab9-a50f-419703f13163/tags/action { "action": "create", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ] }
  • 响应示例 状态码: 200 操作正常返回。 { "healthmonitors" : [ { "monitor_port" : null, "id" : "c2b210b2-60c4-449d-91e2-9e9ea1dd7441", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "domain_name" : null, "name" : "My Healthmonitor update", "delay" : 10, "max_retries" : 10, "pools" : [ { "id" : "488acc50-6bcf-423d-8f0a-0f4184f5b8a0" } ], "admin_state_up" : true, "timeout" : 30, "type" : "HTTP", "expected_codes" : "200", "url_path" : "/", "http_method" : "GET" }, { "monitor_port" : null, "id" : "cda1af03-0660-4fd2-8edf-e38c79846e08", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "domain_name" : "akik..un.com", "name" : "lijunqiu", "delay" : 50, "max_retries" : 1, "pools" : [ { "id" : "ae6e45ba-be84-4074-8ac6-bc4a56484809" } ], "admin_state_up" : false, "timeout" : 3, "type" : "UDP_CONNECT", "expected_codes" : null, "url_path" : "/world", "http_method" : null } ], "page_info" : { "next_marker" : "cda1af03-0660-4fd2-8edf-e38c79846e08", "previous_marker" : "c2b210b2-60c4-449d-91e2-9e9ea1dd7441", "current_count" : 2 }, "request_id" : "814bc40e-8b0a-4ced-b8e5-f136c3e1df6a" }
  • URI GET /v3/{project_id}/elb/healthmonitors 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一页最后一条记录的ID。 使用说明: 必须与limit一起使用。 不指定时表示查询第一页。 该字段不允许为空或无效的ID。 limit 否 Integer 每页返回的个数。 最小值:0 最大值:2000 缺省值:2000 page_reverse 否 Boolean 是否反向查询。 取值: true:查询上一页。 false:查询下一页,默认。 使用说明: 必须与limit一起使用。 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 id 否 Array 健康检查ID。 支持多值查询,查询条件格式:id=xxx&id=xxx***。 monitor_port 否 Array 健康检查端口号。 支持多值查询,查询条件格式:monitor_port=xxx&monitor_port=xxx。 domain_name 否 Array 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 支持多值查询,查询条件格式:domain_name=xxx&domain_name=xxx。 name 否 Array 健康检查名称。 支持多值查询,查询条件格式:name=xxx&name=xxx。 delay 否 Array 健康检查间隔。 取值:1-50s。 支持多值查询,查询条件格式:delay=xxx&delay=xxx。 max_retries 否 Array 健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE。取值范围:1-10。 支持多值查询,查询条件格式:max_retries=xxx&max_retries=xxx。 admin_state_up 否 Boolean 健康检查的管理状态。 取值: true:表示开启健康检查,默认为true。 false表示关闭健康检查。 max_retries_down 否 Array 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10。 支持多值查询,查询条件格式:max_retries_down=xxx&max_retries_down=xxx。 timeout 否 Integer 一次健康检查请求的超时时间。 type 否 Array 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS。 支持多值查询,查询条件格式:type=xxx&type=xxx。 expected_codes 否 Array 期望响应状态码。 取值: 单值:单个返回码,例如200。 列表:多个特定返回码,例如200,202。 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS设置该字段,其他协议设置不会生效。 支持多值查询,查询条件格式:expected_codes=xxx&expected_codes=xxx。 url_path 否 Array 健康检查测试member健康时发送的http请求路径。默认为“/”。 使用说明:以“/”开头。当type为HTTP/HTTPS时生效。 支持多值查询,查询条件格式:url_path=xxx&url_path=xxx。 http_method 否 Array HTTP请求方法。 取值:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。 支持多值查询,查询条件格式:http_method=xxx&http_method=xxx。 不支持该字段,请勿使用。 enterprise_project_id 否 Array 企业项目ID。不传时查询default企业项目"0"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式: enterprise_project_id=xxx&enterprise_project_id=xxx。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求ID。 注:自动生成 。 page_info PageInfo object 分页信息。 healthmonitors Array of HealthMonitor objects 健康检查对象。 表5 PageInfo 参数 参数类型 描述 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 current_count Integer 当前的记录数。 表6 HealthMonitor 参数 参数类型 描述 admin_state_up Boolean 健康检查的管理状态。 取值: true:表示开启健康检查,默认为true。 false表示关闭健康检查。 delay Integer 健康检查间隔。取值:1-50s。 最小值:1 最大值:50 domain_name String 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 expected_codes String 期望响应状态码。 取值: 单值:单个返回码,例如200。 列表:多个特定返回码,例如200,202。 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS设置该字段,其他协议设置不会生效。 http_method String HTTP请求方法。 取值:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 不支持该字段,请勿使用。 id String 健康检查ID max_retries Integer 健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE。取值范围:1-10。 最小值:1 最大值:10 max_retries_down Integer 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 最小值:1 最大值:10 monitor_port Integer 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。 最小值:1 最大值:65535 name String 健康检查名称。 pools Array of PoolRef objects 健康检查所在的后端云服务器组ID列表。实际只会有一个后端云服务器组ID。 project_id String 健康检查所在的项目ID。 timeout Integer 一次健康检查请求的超时时间。 建议该值小于delay的值。 最小值:1 最大值:50 type String 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS。 使用说明: 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 若pool的protocol为UDP,则type只能UDP_CONNECT。 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS。 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS。 url_path String 健康检查请求的请求路径。以"/"开头,默认为"/"。 支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+ 使用说明:当type为HTTP/HTTPS时生效。 created_at String 创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 updated_at String 更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 表7 PoolRef 参数 参数类型 描述 id String 后端服务器组ID。
  • 请求示例 请求样例 创建白名单 POST https://{Endpoint}/v2/eabfefa3fd1740a88a47ad98e132d238/elb/whitelists { "whitelist": { "listener_id": "eabfefa3fd1740a88a47ad98e132d238", "enable_whitelist": true, "whitelist": "192.168.11.1,192.168.0.1/24,192.168.201.18/8,100.164.0.1/24" } }
  • 响应示例 响应样例 { "whitelist": { "id": "eabfefa3fd1740a88a47ad98e132d238", "listener_id": "eabfefa3fd1740a88a47ad98e132d238", "tenant_id": "eabfefa3fd1740a88a47ad98e132d238", "enable_whitelist": true, "whitelist": "192.168.11.1,192.168.0.1/24,192.168.201.18/8,100.164.0.1/24" } }
  • 请求消息 表2 请求参数 参数 是否必选 参数类型 描述 whitelist 是 Whitelist object 白名单对象。详见 表3。 表3 whitelist字段说明 参数 是否必选 参数类型 描述 tenant_id 否 String 白名单所在的项目ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 支持的最大字符长度:255 listener_id 是 String 监听器ID。 一个监听器只能创建一个白名单。 enable_whitelist 否 Boolean 是否开启访问控制开关。 true:打开 false:关闭 默认值:true。 whitelist 否 String 白名单IP的字符串。不同IP之间通过逗号分隔。 可以指定一个IP,例如: 192.168.11.1 也可以指定网段,例如: 192.168.0.1/24 默认值:“”。
  • 响应消息 表4 响应参数 参数 参数类型 描述 whitelist Whitelist object 白名单对象。详见 表5。 表5 whitelist字段说明 参数 参数类型 描述 id String 白名单的ID。 tenant_id String 白名单所在的项目ID。 支持的最大字符长度:255 listener_id String 白名单关联的监听器ID。 enable_whitelist Boolean 是否开启访问控制开关。 true:打开 false:关闭 whitelist String 白名单IP的字符串。
  • 请求示例 请求样例1 GET https://{Endpoint}/v2/1a3e005cf9ce40308c900bcb08e5320c/elb/loadbalancers 请求样例2 GET https://{Endpoint}/v2/1a3e005cf9ce40308c900bcb08e5320c/elb/loadbalancers?limit=10&marker=165b6a38-5278-4569-b747-b2ee65ea84a4 请求样例3 GET https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/loadbalancers?member_address=192.168.0.198
  • 响应示例 响应样例1 { "loadbalancers": [ { "description": "simple lb", "admin_state_up": true, "tenant_id": "1a3e005cf9ce40308c900bcb08e5320c", "project_id": "1a3e005cf9ce40308c900bcb08e5320c", "provisioning_status": "ACTIVE", "vip_subnet_id": "5328f1e6-ce29-44f1-9493-b128a5653350", "listeners": [ { "id": "45196943-2907-4369-87b1-c009b1d7ac35" } ], "vip_address": "10.0.0.2", "vip_port_id": "cbced4fe-6f6f-4fd6-9348-0c3d1219d6ca", "provider": "vlb", "pools": [ { "id": "21d49cf7-4fd3-4cb6-8c48-b7fc6c259aab" } ], "id": "a9729389-6147-41a3-ab22-a24aed8692b2", "operating_status": "ONLINE", "tags": [], "name": "loadbalancer1", "created_at": "2018-07-25T01:54:13", "updated_at": "2018-07-25T01:54:14", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" } ] } 响应样例2 { "loadbalancers": [ { "description": "", "provisioning_status": "ACTIVE", "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "admin_state_up": true, "provider": "vlb", "pools": [ { "id": "b13dba4c-a44c-4c40-8f6e-ce7a162b9f22" }, { "id": "4b9e765f-82ee-4128-911b-0a2d9ebc74c7" } ], "listeners": [ { "id": "21c41336-d0d3-4349-8641-6e82b4a4d097" } ], "vip_port_id": "44ac5d9b-b0c0-4810-9a9d-c4dbf541e47e", "operating_status": "ONLINE", "vip_address": "192.168.0.234", "vip_subnet_id": "9d60827e-0e5c-490a-8183-0b6ebf9084ca", "id": "e79a7dd6-3a38-429a-95f9-c7f78b346cbe", "tags": [], "name": "elb-robot", "created_at": "2018-07-25T01:54:13", "updated_at": "2018-07-25T01:54:14", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" } ] }
  • 响应消息 表3 响应参数 参数 参数类型 描述 loadbalancers Array of Loadbalancers objects 负载均衡器对象列表。详见表4。 表4 loadbalancer字段说明 参数 参数类型 描述 id String 负载均衡器ID。 project_id String 负载均衡器所在项目的ID。 tenant_id String 负载均衡器所在项目的ID。 支持的最大字符长度:255 name String 负载均衡器名称。 支持的最大字符长度:255 description String 负载均衡器的描述信息。 支持的最大字符长度:255 vip_subnet_id String 负载均衡器所在的子网IPv4子网ID。 vip_port_id String 负载均衡器内网IP对应的端口ID。 provider String 负载均衡器的生产者名称。 vip_address String 负载均衡器的内网IP。 支持的最大字符长度:64 listeners Array of Listeners objects 负载均衡器关联监听器ID的列表。详见表6 pools Array of Pools objects 负载均衡器关联后端服务器组ID的列表。详见表7 operating_status String 负载均衡器的操作状态。取值范围:可以为ONLINE和FROZEN。 provisioning_status String 该字段为预留字段,暂未启用。 负载均衡器的配置状态。取值范围:可以为ACTIVE。 admin_state_up Boolean 负载均衡器的管理状态。 该字段为预留字段,暂未启用。取值范围:true/false。 true表示开启。 false表示关闭。 tags Array 负载均衡器的标签列表。 created_at String 负载均衡器的创建时间。 格式为UTC时间:YYYY-MM-DDTHH:MM:SS 支持的最大字符长度:19 updated_at String 负载均衡器的更新时间。 格式为UTC时间:YYYY-MM-DDTHH:MM:SS 支持的最大字符长度:19 enterprise_project_id String 企业项目ID。创建负载均衡器时,给负载均衡器绑定企业项目ID。 取值范围:带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 表5 listeners字段说明 参数 参数类型 描述 id String 关联的监听器id 表6 pools字段说明 参数 参数类型 描述 id String 关联的后端服务器组id
  • URI GET /v2/{project_id}/elb/loadbalancers 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 操作用户的项目ID。 获取方法详见获取项目ID。 表2 查询参数 参数 是否必选 参数类型 描述 marker 否 String 分页查询的起始的资源ID,表示上一页最后一条查询记录的负载均衡器的ID。 必须与limit一起使用。 limit 否 Integer 分页查询每页的负载均衡器个数。如果不设置,则默认不分页查询所有。 page_reverse 否 Boolean 分页的顺序,true表示从后往前分页,false表示从前往后分页,默认为false。 必须与limit一起使用。 id 否 String 负载均衡器的ID。 description 否 String 负载均衡器的描述信息。 支持的最大字符长度:255 name 否 String 负载均衡器的名称。 支持的最大字符长度:255 operating_status 否 String 负载均衡器的操作状态。取值范围:可以为ONLINE和FROZEN。 provisioning_status 否 String 该字段为预留字段,暂未启用。 负载均衡器的配置状态。取值范围:可以为ACTIVE。 admin_state_up 否 Boolean 负载均衡器的管理状态。 该字段为预留字段,暂未启用。默认为true。 vip_address 否 String 负载均衡器的内网IP。 支持的最大字符长度:64 vip_port_id 否 String 负载均衡器内网IP对应的端口ID。 vip_subnet_id 否 String 负载均衡器所在的子网IPv4子网ID。 member_address 否 String 负载均衡器的后端服务器的IP地址。 member_device_id 否 String 负载均衡器的后端服务器对应的弹性云服务器ID。 vpc_id 否 String 负载均衡器所在的虚拟私有云ID。 enterprise_project_id 否 String 企业项目ID。 如果enterprise_project_id不传值,默认查询所有企业项目下的资源,鉴权按照细粒度权限鉴权,必须在用户组下分配elb:*list权限。 如果enterprise_project_id传值,分为传具体eps_id和all_granted_eps两种场景,前者查询指定eps_id的eps下的资源,后者查询的是所有有list权限的eps下的资源。
  • 具体步骤 设置请求消息头。在Postman中设置好头部信息,将获取到的Token放入头部,如下图所示。 图1 设置请求消息头-创建监听器 在Body标签中填写请求消息体。 图2 填写请求消息体-创建监听器 填写URL。 https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/listeners 发送请求。选择请求方法为POST,点击Send按钮,得到服务端响应。 { "listener": { "protocol_port": 80, "protocol": "HTTP", "description": "", "default_tls_container_ref": null, "admin_state_up": true, "loadbalancers": [ { "id": "abe3ee34-1882-408f-a2ba-1ce7e428d6e3" } ], "tenant_id": "0d0bf0e8fb564cc9abbe526dbdca9248", "sni_container_refs": [], "connection_limit": -1, "default_pool_id": null, "id": "779d77c8-f3f9-486d-a598-18e2aa2aa319", "name": "listener4guide" } }
  • 示例代码 2中消息体内容 { "listener": { "protocol_port": "80", "protocol": "HTTP", "loadbalancer_id": "abe3ee34-1882-408f-a2ba-1ce7e428d6e3", "name": "listener4guide", "admin_state_up": true } }
  • 响应示例 状态码: 200 操作正常返回。 { "member" : { "name" : "My member", "weight" : 10, "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", "ip_version" : "v4" }, "request_id" : "45688823-45f1-40cd-9d24-e51a9574a45b" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求ID。 注:自动生成 。 member Member object 后端服务器对象。 表4 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场景) 表5 MemberStatus 参数 参数类型 描述 listener_id String 监听器ID operating_status String 后端云服务器的健康状态。 取值: ONLINE:后端云服务器正常。 NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 表6 ResourceID 参数 参数类型 描述 id String 资源ID
  • URI GET /v3/{project_id}/elb/pools/{pool_id}/members/{member_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 pool_id 是 String 后端服务器组ID。 member_id 是 String 后端服务器ID。 说明: 说明: 此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。
  • 响应示例 响应样例 { "rules": [ { "compare_type": "EQUAL_TO", "provisioning_status": "ACTIVE", "admin_state_up": true, "tenant_id": "a31d2bdcf7604c0faaddb058e1e08819", "project_id": "a31d2bdcf7604c0faaddb058e1e08819", "invert": false, "value": "www.test.com", "key": null, "type": "HOST_NAME", "id": "67d8a8fa-b0dd-4bd4-a85b-671db19b2ef3" }, { "compare_type": "EQUAL_TO", "provisioning_status": "ACTIVE", "admin_state_up": true, "tenant_id": "a31d2bdcf7604c0faaddb058e1e08819", "project_id": "a31d2bdcf7604c0faaddb058e1e08819", "invert": false, "value": "/aaa.html", "key": null, "type": "PATH", "id": "f02b3bca-69d2-4335-a3fa-a8054e996213" } ] }
  • URI GET /v2/{project_id}/elb/l7policies/{l7policy_id}/rules 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 操作用户的项目ID。 获取方法详见获取项目ID。 l7policy_id 是 String 转发策略id。 表2 查询参数 参数 是否必选 参数类型 描述 marker 否 String 分页查询的起始的资源ID,表示上一页最后一条查询记录的转发规则的ID。 必须与limit一起使用。 limit 否 Integer 分页查询每页的转发规则个数。如果不设置,则默认不分页查询所有。 page_reverse 否 Boolean 分页的顺序,true表示从后往前分页,false表示从前往后分页,默认为false。 必须与limit一起使用。 id 否 String 转发规则ID。 tenant_id 否 String 转发规则所在的项目ID。 支持的最大字符长度:255 project_id 否 String 此参数和tenant_id参数含义一样,均指转发规则所在的项目ID。 admin_state_up 否 Boolean 转发规则的管理状态; 该字段为预留字段,暂未启用。默认为true。 type 否 String 转发规则的匹配类型。 取值范围: HOST_NAME:匹配请求中的域名; PATH:匹配请求中的路径; 同一个转发策略下转发规则的type不能重复。 compare_type 否 String 转发匹配方式: type为HOST_NAME时,取值范围: EQUAL_TO:精确匹配; type为PATH时,取值范围: REGEX:正则匹配; STARTS_WITH:前缀匹配; EQUAL_TO:精确匹配。 invert 否 Boolean 是否反向匹配; 取值范围:true/false。默认值:false; 该字段为预留字段,暂未启用。 key 否 String 匹配内容的键值。默认为null。 该字段为预留字段,暂未启用。 支持的最大字符长度:255 value 否 String 匹配内容的值。 支持的最大字符长度:128 当type为HOST_NAME时,取值范围:String (100),字符串只能包含英文字母、数字、“-”或“.”,且必须以字母或数字开头。 当type为PATH时,取值范围:String (128)。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。 provisioning_status 否 String 该字段为预留字段,暂未启用。 转发规则的配置状态,可以为ACTIVE。
  • 响应消息 表3 响应参数 参数 参数类型 描述 rules Array of Rules objects 转发规则对象列表。列表元素数据结构详见表4。 表4 rules字段说明 参数 参数类型 描述 id String 转发规则ID tenant_id String 转发规则所在的项目ID。 支持的最大字符长度:255 project_id String 此参数和tenant_id参数含义一样,均指转发规则所在的项目ID。 admin_state_up Boolean 转发规则的管理状态; 该字段为预留字段,暂未启用。取值范围:true/false。 true表示开启。 false表示关闭。 type String 转发规则的匹配类型。 取值范围: HOST_NAME:匹配请求中的域名; PATH:匹配请求中的路径; compare_type String 转发匹配方式: type为HOST_NAME时,取值范围: EQUAL_TO:精确匹配; type为PATH时,取值范围: REGEX:正则匹配; STARTS_WITH:前缀匹配; EQUAL_TO:精确匹配。 invert Boolean 是否反向匹配; 取值范围:true/false。默认值:false; 该字段为预留字段,暂未启用。 key String 匹配内容的键值。默认为null。 该字段为预留字段,暂未启用。 支持的最大字符长度:255 value String 匹配内容的值。 支持的最大字符长度:128 当type为HOST_NAME时,取值范围:String (100),字符串只能包含英文字母、数字、“-”或“.”,且必须以字母或数字开头。 当type为PATH时,取值范围:String (128)。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。 provisioning_status String 该字段为预留字段,暂未启用。 转发规则的配置状态,可以为ACTIVE。
共100000条