华为云用户手册

  • 请求消息 表2 请求参数 参数 是否必选 参数类型 描述 listener 是 Object 监听器对象。详见表3。 表3 listener字段说明 参数 是否必选 参数类型 描述 name 否 String 监听器名称。 支持的最大字符长度:255 description 否 String 监听器描述信息。 支持的最大字符长度:255 connection_limit 否 Integer 监听器最大连接数。 取值范围:[-1, 2147483647]。 该字段为预留字段,暂未启用。只有具有ELB管理员权限的用户可以指定。 http2_enable 否 Boolean HTTP2功能的开启状态。 取值范围:true/false。true:开启。false:关闭。 仅针对监听器的协议为TERMINATED_HTTPS有意义。 default_pool_id 否 String 监听器的默认后端云服务器组ID。 当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。当该字段为null时,表示监听器无默认的后端云服务器组。 default_pool_id有如下限制: 不能更新为其他监听器的default_pool。 不能更新为其他监听器关联的转发策略所使用的pool。 监听器和与之绑定的后端云服务器的对应关系如下: 监听器的protocol为TCP时,后端云服务器组的protocol必须为TCP。 监听器的protocol为UDP时,后端云服务器组的protocol必须为UDP。 监听器的protocol为HTTP或TERMINATED_HTTPS时,后端云服务器组的protocol必须为HTTP。 admin_state_up 否 Boolean 监听器的管理状态。 该字段为预留字段,暂未启用。默认为true。 default_tls_container_ref 否 String 监听器使用的服务器证书ID。详细参见SSL证书管理。 支持的最大字符长度:128 说明: 仅当监听器的protocol参数为TERMINATED_HTTPS时,该字段有意义。 client_ca_tls_container_ref 否 String 监听器使用的CA证书ID。详细参见SSL证书管理。 支持的最大字符长度:128 说明: 仅当监听器的protocol参数为TERMINATED_HTTPS时,该字段有意义。 sni_container_refs 否 Array 监听器使用的SNI证书(带域名的服务器证书)ID的列表。 该字段不为空列表时,SNI特性开启。该字段为空列表时,SNI特性关闭。 说明: 仅当监听器的protocol参数为TERMINATED_HTTPS时,该字段有意义。 insert_headers 否 Object HTTP扩展头部,内部字段全量同步,不选则为默认值。 可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器上。 例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。详细参见表4。 说明: 仅当监听器的协议为HTTP、TERMINATED_HTTPS时,该字段有意义。 tls_ciphers_policy 否 String 监听器使用的安全策略,仅对TERMINATED_HTTPS协议类型的监听器有效。 取值包括:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict多种安全策略。各安全策略使用的加密套件列表详细参见表5。 表4 insert_headers字段说明 参数 是否必选 参数类型 描述 X-Forwarded-ELB-IP 否 Boolean 负载均衡器弹性公网IP透传开关。打开时可以将负载均衡器的弹性公网IP从报文的HTTP头中带到后端云服务器。 取范围:true/false。 true:开 false:关闭 默认:关闭。 X-Forwarded-Host 否 Boolean 负载均衡器X-Forwarded-Host重写开关。打开时可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器 取范围:true/false。 true:开 false:关闭 默认:开启。 表5 tls_ciphers_policy取值说明 安全策略 支持的TLS版本类型 使用的加密套件列表 tls-1-0-inherit TLS 1.2 TLS 1.1 TLS 1.0 ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA:DHE-DSS-AES128-SHA:CAMELLIA128-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA:ECDHE-RSA-RC4-SHA:RC4-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:CAMELLIA256-SHA:EDH-DSS-DES-CBC3-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA tls-1-0 TLS 1.2 TLS 1.1 TLS 1.0 ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA tls-1-1 TLS 1.2 TLS 1.1 tls-1-2 TLS 1.2 tls-1-2-strict TLS 1.2 ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
  • 响应消息 表6 响应参数 参数 参数类型 描述 listener Object 监听器对象。详见表7。 表7 listeners字段说明 参数 参数类型 描述 id String 监听器ID。 tenant_id String 监听器所在的项目ID。 project_id String 此参数和tenant_id参数含义一样,均指监听器所在的项目ID。 name String 监听器名称。 description String 监听器描述信息。 protocol String 监听器的监听协议。 支持TCP、HTTP、UDP、TERMINATED_HTTPS。 protocol_port Integer 监听器的监听端口。 取值范围:[1, 65535]。 loadbalancers Array 监听器关联的负载均衡器 ID。详见表7。 connection_limit Integer 监听器的最大连接数。 取值范围:[-1, 2147483647]。默认为-1,无连接数限制。 该字段为预留字段,暂未启动。 admin_state_up Boolean 监听器的管理状态。 该字段为预留字段,暂未启用。取值范围:true/false。 true表示开启。 false表示关闭。 http2_enable Boolean HTTP2功能的开启状态。 取值范围:true/false。true:开启。false:关闭。 仅针对监听器的协议为TERMINATED_HTTPS有意义。 default_pool_id String 监听器的默认后端云服务器组ID。 当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。当该字段为null时,表示监听器无默认的后端云服务器组。 default_tls_container_ref String 监听器使用的服务器证书ID。详细参见SSL证书管理。 当protocol参数为TERMINATED_HTTPS时,为必选字段。 client_ca_tls_container_ref String 监听器使用的CA证书ID。详细参见SSL证书管理。 sni_container_refs Array 监听器使用的SNI证书(带域名的服务器证书)ID的列表。 该字段不为空列表时,SNI特性开启。该字段为空列表时,SNI特性关闭。 tags Array 监听器的标签。 created_at String 监听器的创建时间。YYYY-MM-DDTHH:MM:SS updated_at String 监听器的更新时间。YYYY-MM-DDTHH:MM:SS insert_headers Object HTTP扩展头部,内部字段全量同步,不选则为默认值。 可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器上。 例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。详细参见表8。 仅当监听器的协议为HTTP、TERMINATED_HTTPS时,该字段有意义。 tls_ciphers_policy String 监听器使用的安全策略,仅对TERMINATED_HTTPS协议类型的监听器有效,且默认值为tls-1-0。 取值包括:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict多种安全策略。各安全策略使用的加密套件列表详细参见表4。 表8 loadbalancers字段说明 参数 参数类型 描述 id String 关联的负载均衡器id 表9 insert_headers字段说明 参数 参数类型 描述 X-Forwarded-ELB-IP Boolean 负载均衡器弹性公网IP透传开关。打开时可以将负载均衡器的弹性公网IP从报文的HTTP头中带到后端云服务器。 取值范围:true/false。true:开启。false:关闭。 默认:关闭。 X-Forwarded-Host Boolean 负载均衡器X-Forwarded-Host重写开关。打开时可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器 取值范围:true/false。true:开启。false:关闭。 默认:开启。
  • 接口约束 如果监听器关联的负载均衡器的provisioning status不是ACTIVE,则不能更新该监听器。 只有具有ELB管理员权限的用户才能指定connection_limit的值。 default_pool_id有如下限制: 不能更新为其他监听器的default_pool。 不能更新为其他监听器的关联的转发策略所使用的pool。 default_pool_id对应的后端云服务器组的protocol和监听器的protocol有如下关系: 监听器的protocol为TCP时,后端云服务器组的protocol必须为TCP。 监听器的protocol为UDP时,后端云服务器组的protocol必须为UDP。 监听器的protocol为HTTP或TERMINATED_HTTPS时,后端云服务器组的protocol必须为HTTP。
  • 响应消息 表2 响应参数 参数 参数类型 描述 pools Array 后端云服务器组对象列表。详见表3。 pools_links List 后端云服务器组的分页查询中上下页的链接信息。 仅当分页查询时响应体中有该字段。详见表8 表3 pools字段说明 参数 参数类型 描述 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。 lb_algorithm String 后端云服务器组的负载均衡算法。 取值范围: ROUND_ROBIN:加权轮询算法。 LEAST_CONNECTIONS:加权最少连接算法。 SOURCE_IP:源IP算法。 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 members Array 后端云服务器组关联的后端云服务器ID的列表。 healthmonitor_id String 后端云服务器组关联的健康检查的ID。 admin_state_up Boolean 后端云服务器组的管理状态。 该字段为预留字段,暂未启用。取值范围:true/false。 true表示开启。 false表示关闭。 listeners Array 后端云服务器组关联的监听器ID的列表。 loadbalancers String 后端云服务器组关联的负载均衡器ID的列表。 session_persistence Object 后端云服务器组的会话持久性。详见表7。 当开启会话保持后,在一定时间内,来自同一客户端的请求会发送到同一个后端云服务器上。 取值范围:当会话保持关闭时,该字段取值为null。 表4 members字段说明 参数 参数类型 描述 id String 关联的后端服务器id 表5 listeners字段说明 参数 参数类型 描述 id String 关联的后端服务器组id 表6 loadbalancers字段说明 参数 参数类型 描述 id String 关联的负载均衡器id 表7 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名称。 当会话保持类型是APP_COOKIE时,为必选字段,其它类型时不可指定。 persistence_timeout Integer 会话保持的超时时间。 当type为APP_COOKIE时不生效。 取值范围: [1,60](分钟):当后端云服务器组的protocol为TCP、UDP时。 [1,1440](分钟):当后端云服务器组的protocol为HTTP、HTTPS时。 表8 pools_links字段说明 参数 参数类型 描述 href String 后端云服务器组的分页查询中上下页的url。 rel String 上下页的提示信息,取值: next:表示href是下一页的URL previous:表示href是上一页的url
  • 响应样例 响应样例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" } ], "pools_links": [ { "href": "https://{Endpoint}/v2.0/lbaas/pools?limit=2&marker=0469a5ad-6233-4669-8d38-5920f2bd95b6", "rel": "next" }, { "href": "https://{Endpoint}/v2.0/lbaas/pools?limit=2&marker=02d43e35-e874-4139-bdba-d65609db20ab&page_reverse=True", "rel": "previous" } ] } 响应样例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" } ] }
  • 请求消息 表1 请求参数 参数 是否必选 参数类型 描述 marker 否 String 分页查询的起始的资源ID,表示上一页最后一条查询记录的后端云服务器组的ID。不指定时表示查询第一页。 必须与limit一起使用。 limit 否 Integer 分页查询每页的后端云服务器组个数。 page_reverse 否 Boolean 分页的顺序,true表示从后往前分页,false表示从前往后分页,默认为false。 必须与limit一起使用。 id 否 String 后端云服务器组ID。 tenant_id 否 String 后端云服务器组所属的项目ID。 获取方法详见获取项目ID。 支持的最大字符长度:255 project_id 否 String 此参数和tenant_id参数含义一样,均指后端云服务器组所属的项目ID。 获取方法详见获取项目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。
  • 响应示例 状态码: 200 操作成功正常返回。 { "statuses" : { "loadbalancer" : { "name" : "lb-jy", "provisioning_status" : "ACTIVE", "listeners" : [ { "name" : "listener-jy-1", "provisioning_status" : "ACTIVE", "pools" : [ { "name" : "pool-jy-1", "provisioning_status" : "ACTIVE", "healthmonitor" : { "type" : "TCP", "id" : "7422b51a-0ed2-4702-9429-4f88349276c6", "name" : "", "provisioning_status" : "ACTIVE" }, "members" : [ { "protocol_port" : 80, "address" : "192.168.44.11", "id" : "7bbf7151-0dce-4087-b316-06c7fa17b894", "operating_status" : "ONLINE", "provisioning_status" : "ACTIVE" } ], "id" : "c54b3286-2349-4c5c-ade1-e6bb0b26ad18", "operating_status" : "ONLINE" } ], "l7policies" : [ ], "id" : "eb84c5b4-9bc5-4bee-939d-3900fb05dc7b", "operating_status" : "ONLINE" } ], "pools" : [ { "name" : "pool-jy-1", "provisioning_status" : "ACTIVE", "healthmonitor" : { "type" : "TCP", "id" : "7422b51a-0ed2-4702-9429-4f88349276c6", "name" : "", "provisioning_status" : "ACTIVE" }, "members" : [ { "protocol_port" : 80, "address" : "192.168.44.11", "id" : "7bbf7151-0dce-4087-b316-06c7fa17b894", "operating_status" : "ONLINE", "provisioning_status" : "ACTIVE" } ], "id" : "c54b3286-2349-4c5c-ade1-e6bb0b26ad18", "operating_status" : "ONLINE" } ], "id" : "38278031-cfca-44be-81be-a412f618773b", "operating_status" : "ONLINE" } } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 statuses LoadBalancerStatusResult object 负载均衡器状态树信息。 request_id String 请求ID。 注:自动生成 。 表4 LoadBalancerStatusResult 参数 参数类型 描述 loadbalancer LoadBalancerStatus object 负载均衡器的详细信息。 表5 LoadBalancerStatus 参数 参数类型 描述 name String 负载均衡器名称。 最小长度:1 最大长度:255 provisioning_status String 负载均衡器的配置状态。 取值: ACTIVE:使用中。 PENDING_DELETE:删除中。 listeners Array of LoadBalancerStatusListener objects 负载均衡器关联的监听器列表。 pools Array of LoadBalancerStatusPool objects 负载均衡器关联的后端云服务器组列表。 id String 负载均衡器ID。 operating_status String 负载均衡器的操作状态。 取值: ONLINE:创建时默认状态,表示负载均衡器正常运行。 FROZEN:已冻结。 DEGRADED:负载均衡器下存在member的operating_status为OFFLINE时返回这个状态。 DISABLED:负载均衡器的admin_state_up属性值为false。 说明:DEGRADED和DISABLED状态仅在当前接口中返回,LB详情等其他接口不返回这两个状态值。 表6 LoadBalancerStatusListener 参数 参数类型 描述 name String 监听器的名称。 最小长度:1 最大长度:255 provisioning_status String 监听器的配置状态。 取值: ACTIVE:使用中。 pools Array of LoadBalancerStatusPool objects 监听器下的后端主机组操作状态。 l7policies Array of LoadBalancerStatusPolicy objects 监听器下的7层转发策略操作状态。 id String 监听器ID。 operating_status String 监听器的操作状态。 取值: ONLINE:创建时默认状态,表示监听器正常运行。 DEGRADED:该监听器下存在l7policy或l7rule的Provisioning_status=ERROR时返回这个状态。 或者状态树该监听器下存在member的operating_status=OFFLINE。 DISABLED:负载均衡器或监听器的admin_state_up=false。 说明: DEGRADED和DISABLED状态仅在当前接口返回,查询监听器详情等其他接口返回字段operating_status不存在这两个状态值。 表7 LoadBalancerStatusPolicy 参数 参数类型 描述 action String 匹配后动作。 取值: REDIRECT_TO_POOL:转发到后端服务器组。 REDIRECT_TO_LISTENER:转发到监听器。 id String 转发策略ID。 provisioning_status String 转发策略的配置状态。 取值范围: ACTIVE: 默认值,表示正常。 ERROR: 表示当前策略与同一监听器下的其他策略存在相同的规则配置。 name String 转发策略名称。 最小长度:1 最大长度:255 rules Array of LoadBalancerStatusL7Rule objects 转发规则状态信息。 表8 LoadBalancerStatusL7Rule 参数 参数类型 描述 id String L7转发规则ID。 type String 匹配内容类型。 取值: HOST_NAME:域名匹配。 PATH:URL路径匹配。 使用说明: 同一个l7policy下创建的所有的l7rule的HOST_NAME不能重复。 provisioning_status String 转发规则的配置状态。 取值: ACTIVE:使用中,默认值。 ERROR:当前规则所属策略与同一监听器下的其他策略存在相同的规则配置。 表9 LoadBalancerStatusPool 参数 参数类型 描述 provisioning_status String 后端服务器组的配置状态。 取值: ACTIVE:使用中。 name String 后端服务器组名。 最小长度:1 最大长度:255 healthmonitor LoadBalancerStatusHealthMonitor object LB状态树的后端服务器组健康检查器状态信息。 members Array of LoadBalancerStatusMember objects 后端服务器状态信息。 id String 后端服务器组ID。 operating_status String 后端服务器组的操作状态。 取值: ONLINE:创建时默认状态,表后端服务器组正常。 DEGRADED:该后端服务器组下存在member为的operating_status=OFFLINE。 DISABLED:负载均衡器或后端服务器组的admin_state_up=false。 说明: DEGRADED和DISABLED仅在当前接口返回, 查询后端服务器组详情等其他接口返回的operating_status字段不存在这两个状态值。 表10 LoadBalancerStatusHealthMonitor 参数 参数类型 描述 type String 协议类型。取值:TCP、UDP_CONNECT或HTTP。 id String 健康检查器ID。 name String 健康检查器名称。 最小长度:1 最大长度:255 provisioning_status String 健康检查器的配置状态。取值:ACTIVE表示使用中。 表11 LoadBalancerStatusMember 参数 参数类型 描述 provisioning_status String 后端服务器配置状态。取值:ACTIVE表示使用中。 address String 后端服务器的IP地址。 protocol_port Integer 后端服务器的端口号。取值范围[1, 65535]。 id String 后端服务器ID。 operating_status String 后端服务器的操作状态。 取值: ONLINE:后端服务器正常运行。 NO_MONITOR:后端服务器健康检查未开启。 DISABLED:后端服务器不可用。所属负载均衡器或后端服务器组或该后端服务器的admin_state_up=flase时, 会出现该状态。注意该状态仅在当前接口中返回。 OFFLINE:关联ECS已下线。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String IAM鉴权Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 logtank 是 CreateLogtankOption object 创建云日志请求参数。 表4 CreateLogtankOption 参数 是否必选 参数类型 描述 loadbalancer_id 是 String 负载均衡器id 最小长度:1 最大长度:36 log_group_id 是 String 日志组别id,其他(非ELB)服务提供 最小长度:1 最大长度:36 log_topic_id 是 String 日志订阅主题id,其他(非ELB)服务提供 最小长度:1 最大长度:36
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 logtank Logtank object 描述信息 request_id String 请求ID。 注:自动生成 。 表6 Logtank 参数 参数类型 描述 id String 云日志ID。 project_id String 项目ID。 loadbalancer_id String 负载均衡器ID。 log_group_id String 云日志分组ID。 log_topic_id String 云日志主题ID。
  • 响应示例 状态码: 201 Created { "request_id" : "c5aea69b657295bef71cd05da2959206", "logtank" : { "project_id" : "060576798a80d5762fafc01a9b5eedc7", "log_topic_id" : "5b9b8370-a1fc-4c59-a509-483a673c8a94", "id" : "603e507f-3e18-498b-9460-01a3b6c28fc5", "log_group_id" : "7733882e-f7fa-4fb0-a460-0605c48a2280", "loadbalancer_id" : "47ecc304-3f1a-4cc6-9c1c-72add483b9ce" } }
  • 请求示例 创建指定负载均衡的云日志 POST https://{ELB_Endpoint}/v3/060576798a80d5762fafc01a9b5eedc7/elb/logtanks { "logtank" : { "log_topic_id" : "5b9b8370-a1fc-4c59-a509-483a673c8a94", "log_group_id" : "7733882e-f7fa-4fb0-a460-0605c48a2280", "loadbalancer_id" : "47ecc304-3f1a-4cc6-9c1c-72add483b9ce" } }
  • 响应参数 表3 响应参数 参数 参数类型 描述 tags Array 标签对象列表。标签对象详见表4。 表4 tags 字段数据结构说明 参数 参数类型 描述 key String 标签名称。 不能为空。 长度不超过36个字符。 由英文字母、数字、下划线、中划线、中文字符组成。 同一资源的key值不能重复。 value String 标签值。 长度不超过43个字符。 由英文字母、数字、下划线、点、中划线、中文字符组成。
  • 响应示例 状态码: 201 POST操作正常返回。 { "pool" : { "lb_algorithm" : "LEAST_CONNECTIONS", "type" : "ip", "vpc_id" : "3sae7086-a416-4666-9064-5b340e6840125", "protocol" : "TCP", "description" : "", "loadbalancers" : [ { "id" : "098b2f68-af1c-41a9-8efd-69958722af62" } ], "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "session_persistence" : null, "healthmonitor" : { "monitor_port" : null, "id" : "36ce7086-a496-4666-9064-5ba0e6840c75", "domain_name" : "", "name" : "My Healthmonitor", "max_retries" : 3, "max_retries_down" : 3, "admin_state_up" : true, "type" : "HTTP", "timeout" : 30, "delay" : 1, "http_method" : "get", "url_path" : "/", "expected_codes" : "200" }, "listeners" : [ { "id" : "0b11747a-b139-492f-9692-2df0b1c87193" } ], "members" : [ { "admin_state_up" : true, "address" : "172.16.0.210", "protocol_port" : 80, "id" : "2e7b36d2-66c8-4825-bcd2-211d99978680", "operating_status" : "OFFLINE", "status" : [ { "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193", "operating_status" : "OFFLINE" } ], "instance_id" : "", "device_id" : "", "device_owner" : "", "member_type" : "ip", "role" : "master", "ip_version" : "v4", "name" : "cx-test-master", "subnet_cidr_id" : "" }, { "admin_state_up" : true, "address" : "172.16.0.211", "protocol_port" : 81, "id" : "2e7b36d2-66c8-4823-bsd2-21sa199978681", "operating_status" : "OFFLINE", "instance_id" : "", "device_id" : "", "device_owner" : "", "member_type" : "ip", "role" : "slave", "ip_version" : "v4", "name" : "cx-test-slave", "subnet_cidr_id" : "", "status" : [ { "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193", "operating_status" : "OFFLINE" } ] } ], "id" : "36ce7086-a496-4666-9064-5ba0e6840c75", "name" : "My pool", "ip_version" : "dualstack", "created_at" : "2021-03-26T01:33:12Z", "updated_at" : "2021-03-26T01:33:12Z" }, "request_id" : "2d974978-0733-404d-a21a-b29204f4803a" }
  • 请求示例 POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/master-slave-pools { "pool" : { "name" : "My pool", "lb_algorithm" : "LEAST_CONNECTIONS", "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193", "protocol" : "TCP", "type" : "ip", "members" : [ { "protocol_port" : 89, "name" : "My member", "address" : "120.10.10.16", "role" : "master" }, { "protocol_port" : 89, "address" : "110.4.10.16", "role" : "slave" } ], "healthmonitor" : { "name" : "My Healthmonitor", "max_retries" : 3, "type" : "HTTP", "timeout" : 30, "delay" : 1 } } }
  • 响应参数 状态码: 201 表8 响应Body参数 参数 参数类型 描述 request_id String 请求ID。 注:自动生成 。 pool MasterSlavePool object 后端服务器组对象。 表9 MasterSlavePool 参数 参数类型 描述 description String 后端云服务器组的描述信息。 id String 后端云服务器组的ID。 lb_algorithm String 后端云服务器组的负载均衡算法。 取值: ROUND_ROBIN:加权轮询算法。 LEAST_CONNECTIONS:加权最少连接算法。 SOURCE_IP:源IP算法。 QUIC_CID:连接ID算法。 使用说明: 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 listeners Array of ListenerRef objects 后端云服务器组关联的监听器ID列表。 loadbalancers Array of LoadBalancerRef objects 后端云服务器组关联的负载均衡器ID列表。 members Array of MasterSlaveMember objects 后端云服务器组中的后端云服务器列表。 name String 后端云服务器组的名称。 project_id String 后端云服务器组所在的项目ID。 protocol String 后端云服务器组的后端协议。 取值:TCP、UDP、HTTP、HTTPS和QUIC。 使用说明: listener的protocol为UDP时,pool的protocol必须为UDP或QUIC; listener的protocol为TCP时pool的protocol必须为TCP; listener的protocol为HTTP时,pool的protocol必须为HTTP。 listener的protocol为HTTPS时,pool的protocol必须为HTTP或HTTPS。 listener的protocol为TERMINATED_HTTPS时,pool的protocol必须为HTTP。 session_persistence SessionPersistence object 会话持久性对象。 ip_version String 后端云服务器组支持的IP版本。 取值: 共享型:固定为v4; 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 created_at String 创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 updated_at String 更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 vpc_id String 后端云服务器组关联的虚拟私有云的ID。 type String 后端服务器组的类型。 取值: instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 空字符串(""):允许任意类型的后端 enterprise_project_id String 后端服务器组的企业项目ID。无论创建什么企业项目,都在默认企业项目下。 healthmonitor MasterSlaveHealthMonitor object 后端服务器组的健康检查。 any_port_enable Boolean 后端是否开启端口透传,开启后,后端服务器端口与前端监听器端口保持一致。取值:false不开启,true开启,默认false。 说明: 关闭端口透传后,请求会转发给后端服务器protocol_port字段指定端口。 表10 ListenerRef 参数 参数类型 描述 id String 监听器ID。 表11 LoadBalancerRef 参数 参数类型 描述 id String 负载均衡器ID。 表12 MasterSlaveMember 参数 参数类型 描述 id String 后端服务器ID。 name String 后端服务器名称。 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 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 后端云服务器的健康状态。 取值: ONLINE:后端云服务器正常。 NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 member_type String 后端云服务器的类型。 取值: ip:跨VPC的member。 instance:关联到ECS的member。 instance_id String member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景) role String 后端服务器的主备状态。 status Array of ListenerMemberInfo objects 后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_status为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 表13 ListenerMemberInfo 参数 参数类型 描述 listener_id String 后端服务器关联的监听器id。 operating_status String 后端云服务器的健康状态。 取值: ONLINE:后端云服务器正常。 NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 OFFLINE:后端云服务器关联的ECS服务器不存在或已关机或服务异常。 表14 SessionPersistence 参数 参数类型 描述 cookie_name String cookie名称。 共享型LB,支持字母、数字、中划线(-)和下划线(),最大长度64个字符。 独享型LB,支持字母、数字、中划线(-)、下划线()和点号(.),最大长度255个字符。 使用说明: 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 type String 会话保持类型。 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 使用说明: 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效。 当pool的protocol为HTTP、HTTPS时。如果是独享型负载均衡器的pool, 则type只能为HTTP_COOKIE,其他取值会话保持失效。 如果是共享型负载均衡器的pool,则type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 persistence_timeout Integer 会话保持的时间。当type为APP_COOKIE时不生效。 适用范围:如果pool的protocol为TCP、UDP和QUIC则范围为[1,60](分钟),默认值1; 如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 表15 MasterSlaveHealthMonitor 参数 参数类型 描述 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 健康检查名称。 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时生效。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String IAM鉴权Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 pool 是 CreateMasterSlavePoolOption object 创建pool的请求体。 表4 CreateMasterSlavePoolOption 参数 是否必选 参数类型 描述 description 否 String 后端云服务器组的描述信息。 最小长度:0 最大长度:255 lb_algorithm 是 String 后端云服务器组的负载均衡算法。 取值: ROUND_ROBIN:加权轮询算法。 LEAST_CONNECTIONS:加权最少连接算法。 SOURCE_IP:源IP算法。 QUIC_CID:连接ID算法。 loadbalancer_id 否 String 后端云服务器组关联的LB的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 最小长度:1 最大长度:36 listener_id 否 String 后端云服务器组关联的监听器的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 最小长度:1 最大长度:36 name 否 String 后端云服务器组的名称。 最小长度:0 最大长度:255 project_id 否 String 后端云服务器组所属的项目ID。 最小长度:32 最大长度:32 protocol 是 String 后端云服务器组的后端协议。 取值:TCP、UDP、QUIC。 使用说明: listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 listener的protocol为TCP时pool的protocol必须为TCP。 最小长度:1 最大长度:255 session_persistence 否 CreatePoolSessionPersistenceOption object 会话持久性对象。 vpc_id 否 String 后端云服务器组关联的虚拟私有云的ID。 指定了vpc_id的约束: 只能挂载到该虚拟私有云下。 只能添加该虚拟私有云下的后端服务器或跨VPC的后端服务器。 type必须指定为instance。 没有指定vpc_id的约束: 后续添加后端服务器时,vpc_id由后端服务器所在的虚拟私有云确定。 最小长度:1 最大长度:36 type 是 String 后端服务器组的类型。 取值: instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 最小长度:1 最大长度:36 ip_version 否 String 后端云服务器组支持的IP版本。 取值: 共享型:固定为v4; 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 最小长度:1 最大长度:20 members 是 Array of CreateMasterSlaveMemberOption objects 主备主机组的后端服务器。 只能添加2个后端云服务器,必须有一个为主,一个为备。 healthmonitor 是 CreateMasterSlaveHealthMonitorOption object 主备主机组的健康检查。默认开启健康检查,无法关闭。 any_port_enable 否 Boolean 后端是否开启端口透传,开启后,后端服务器端口与前端监听器端口保持一致。取值:false不开启,true开启,默认false。 说明: 关闭端口透传后,请求会转发给后端服务器protocol_port字段指定端口。 表5 CreatePoolSessionPersistenceOption 参数 是否必选 参数类型 描述 cookie_name 否 String cookie名称。 共享型LB,支持字母、数字、中划线(-)和下划线(),最大长度64个字符。 独享型LB,支持字母、数字、中划线(-)、下划线()和点号(.),最大长度255个字符。 使用说明: 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 type 是 String 会话保持类型。 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 使用说明: 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效; 当pool的protocol为HTTP、HTTPS时。如果是独享型负载均衡器的pool, 则type只能为HTTP_COOKIE,其他取值会话保持失效。如果是共享型负载均衡器的pool, 则type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 persistence_timeout 否 Integer 会话保持的时间。当type为APP_COOKIE时不生效。 适用范围:如果pool的protocol为TCP、UDP则范围为[1,60](分钟),默认值1; 如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 表6 CreateMasterSlaveMemberOption 参数 是否必选 参数类型 描述 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。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 name 否 String 后端云服务器名称。 最小长度:0 最大长度:255 protocol_port 是 Integer 后端服务器业务端口。 说明: 在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 最小值:1 最大值:65535 subnet_cidr_id 否 String 后端云服务器所在的子网ID,可以是子网的IPv4子网ID或IPv6子网ID。 使用说明: 该子网和关联的负载均衡器的子网必须在同一VPC下。 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 最小长度:1 最大长度:36 role 是 String 后端服务器的主备状态。 取值范围: master:主后端服务器。 slave:备后端服务器。 最小长度:0 最大长度:36 表7 CreateMasterSlaveHealthMonitorOption 参数 是否必选 参数类型 描述 delay 是 Integer 健康检查间隔。取值:1-50s。 domain_name 否 String 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 最小长度:1 最大长度:100 expected_codes 否 String 期望响应状态码。 取值: 单值:单个返回码,例如200。 列表:多个特定返回码,例如200,202。 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS设置该字段,其他协议设置不会生效。 最小长度:1 最大长度:64 http_method 否 String HTTP请求方法。 取值:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 不支持该字段,请勿使用。 最小长度:1 最大长度:16 max_retries 是 Integer 健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE。取值范围:1-10。 最小值:1 最大值:10 max_retries_down 否 Integer 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 最小值:1 最大值:10 缺省值:3 monitor_port 否 Integer 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。 最小值:1 最大值:65535 name 否 String 健康检查名称。 最小长度:0 最大长度:255 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时生效。 最小长度:1 最大长度:80
  • 响应消息 表2 响应参数 参数 参数类型 描述 rule Rule object 转发规则对象。详见 表3。 表3 rule字段说明 参数 参数类型 描述 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。
  • 响应示例 响应样例1 { "rule": { "compare_type": "EQUAL_TO", "provisioning_status": "ACTIVE", "admin_state_up": true, "tenant_id": "a31d2bdcf7604c0faaddb058e1e08819", "project_id": "a31d2bdcf7604c0faaddb058e1e08819", "invert": false, "value": "/index.html", "key": null, "type": "PATH", "id": "67d8a8fa-b0dd-4bd4-a85b-671db19b2ef3" } }
  • 响应示例 响应样例 { "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字段说明 参数 参数类型 描述 id String 白名单的ID。 tenant_id String 白名单所在的项目ID。 支持的最大字符长度:255 listener_id String 白名单关联的监听器ID。 enable_whitelist Boolean 是否开启访问控制开关。 true:打开 false:关闭 whitelist String 白名单IP的字符串。
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应消息 表4 响应参数 参数 参数类型 描述 l7policy Object 转发策略对象。详见表5。 表5 l7policy字段说明 参数 参数类型 描述 id String 转发策略ID。 tenant_id String 转发策略所在的项目ID。 project_id String 此参数和tenant_id参数含义一样,均指转发策略所在的项目ID。 name String 转发策略名称。 admin_state_up Boolean 转发策略的管理状态; 该字段为预留字段,暂未启用。取值范围:true/false。 true表示开启。 false表示关闭。 description String 转发策略的描述信息。 listener_id String 转发策略所在的监听器ID。 action String 转发策略的匹配动作。 取值范围: REDIRECT_TO_POOL:将匹配的流量转发到redirect_pool_id指定的后端云服务器组上; REDIRECT_TO_LISTENER:将listener_id指定的HTTP监听器的流量重定向到redirect_listener_id指定的TERMINATED_HTTPS监听器上。 redirect_pool_id String 流量匹配后转发到后端云服务器组的ID。 redirect_listener_id String 流量匹配后转发到的监听器的ID。 redirect_url String 转发策略重定向到的url。 该字段为预留字段,暂未启用。 rules Array 转发策略关联的转发规则的ID列表。详见表6 position Integer 转发优先级,从1递增,最高100。默认值:100; 该字段为预留字段,暂未启用。 provisioning_status String 该字段为预留字段,暂未启用。 转发策略的配置状态,可以为ACTIVE。 表6 rules字段说明 参数 参数类型 描述 id String 转发策略关联的转发规则ID
  • 请求示例 请求样例1 创建转发策略,转发到后端云服务器组 POST https://{Endpoint}/v2.0/lbaas/l7policies { "l7policy": { "name": "niubiao_yaqing_api-2", "listener_id": "3e24a3ca-11e5-4aa3-abd4-61ba0a8a18f1", "action": "REDIRECT_TO_POOL", "redirect_pool_id": "6460f13a-76de-43c7-b776-4fefc06a676e", "rules": [ { "type": "PATH", "compare_type": "EQUAL_TO", "value": "/test" }, { "type": "HOST_NAME", "compare_type": "EQUAL_TO", "value": "www.test.com" } ] } } 请求样例2 创建重定向 POST https://{Endpoint}/v2.0/lbaas/l7policies { "l7policy": { "action": "REDIRECT_TO_LISTENER", "listener_id": "4ef8553e-9ef7-4859-a42d-919feaf89d60", "redirect_listener_id": "3ee10199-a7b4-4784-93cd-857afe9d0890", "name": "redirect-test" } }
  • 响应示例 响应样例1 { "l7policy": { "redirect_pool_id": "6460f13a-76de-43c7-b776-4fefc06a676e", "description": "", "admin_state_up": true, "rules": [ { "id": "742600d9-2a14-4808-af69-336883dbb590" }, { "id": "3251ed77-0d52-412b-9310-733636bb3fbf" } ], "tenant_id": "573d73c9f90e48d0bddfa0eb202b25c2", "listener_id": "3e24a3ca-11e5-4aa3-abd4-61ba0a8a18f1", "redirect_url": null, "redirect_listener_id": null, "action": "REDIRECT_TO_POOL", "position": 100, "provisioning_status": "ACTIVE", "project_id": "573d73c9f90e48d0bddfa0eb202b25c2", "id": "65d6e115-f179-4bcd-9bbb-1484e5f8ee81", "name": "niubiao_yaqing-_api-2" } } 响应样例2 { "l7policy": { "redirect_pool_id": null, "description": "", "admin_state_up": true, "rules": [ ], "tenant_id": "573d73c9f90e48d0bddfa0eb202b25c2", "listener_id": "4ef8553e-9ef7-4859-a42d-919feaf89d60", "redirect_url": null, "redirect_listener_id": "3ee10199-a7b4-4784-93cd-857afe9d0890", "action": "REDIRECT_TO_LISTENER", "position": 100, "provisioning_status": "ACTIVE", "project_id": "573d73c9f90e48d0bddfa0eb202b25c2", "id": "bc4e4338-480f-4a98-8245-5bb1964f0e1d", "name": "redirect-test" } }
  • 请求消息 表1 请求参数 参数 是否必选 参数类型 描述 l7policy 是 Object 转发策略对象。详见表2。 表2 l7policy字段说明 参数 是否必选 参数类型 描述 tenant_id 否 String 转发策略所在的项目ID。 获取方法详见获取项目ID。 需要和token中的tenant_id一致。 支持的最大字符长度:255 project_id 否 String 此参数和tenant_id参数含义一样,均指转发策略所在的项目ID。 获取方法详见获取项目ID。 需要和token中的project_id一致。 name 否 String 转发策略名称。 支持的最大字符长度:255 admin_state_up 否 Boolean 转发策略的管理状态; 该字段为预留字段,暂未启用。默认为true。 description 否 String 转发策略的描述信息。 支持的最大字符长度:255 listener_id 是 String 转发策略所在的监听器ID。 当action为REDIRECT_TO_POOL时,只支持创建在PROTOCOL为HTTP或TERMINATED_HTTPS的listener上; 当action为REDIRECT_TO_LISTENER时,只支持创建在PROTOCOL为HTTP的listener上。 action 是 String 转发策略的转发动作。 取值范围: REDIRECT_TO_POOL:将匹配的流量转发到redirect_pool_id指定的后端云服务器组上; REDIRECT_TO_LISTENER:将listener_id指定的HTTP监听器的流量重定向到redirect_listener_id指定的TERMINATED_HTTPS监听器上。 redirect_pool_id 否 String 流量匹配后转发到后端云服务器组的ID。默认值:null; 当action为REDIRECT_TO_POOL时为必选字段。 当action为REDIRECT_TO_LISTENER时,不可指定该字段。 指定的后端云服务器组需满足以下条件: 不能是监听器的default_pool; 不能是除该转发策略所在的监听器以外的其他监听器的转发策略使用的后端云服务器组。 redirect_listener_id 否 String 流量匹配后转发到的监听器的ID。默认值:null; 当action为REDIRECT_TO_LISTENER时为必选字段。 当action为REDIRECT_TO_POOL时不可指定。 只支持指定为protocol为TERMINATED_HTTPS的listener。 只支持指定为当前转发策略所在的负载均衡器下的监听器。 redirect_url 否 String 转发策略重定向到的url。默认值:null; 该字段为预留字段,暂未启用。 支持的最大字符长度:255 position 否 Integer 转发优先级,从1递增,最高100。默认值:100; 该字段为预留字段,暂未启用。 rules 否 Array 转发策略关联的转发规则对象。详细参考表3。 rules列表中最多含有2个rule对象,且每个rule的type字段不可相同。 表3 rules字段说明 属性 必选 类型 说明 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。 该字段为预留字段,暂未启用。 value 是 String 匹配内容的值。不能包含空格。 当type为HOST_NAME时,取值范围:String (100),字符串只能包含英文字母、数字、“-”或“.”,且必须以字母或数字开头。 当type为PATH时,取值范围:String (128)。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。
  • 功能介绍 创建转发策略。监听器和转发策略共同决定了流量如何转发到后端云服务器上。 通过匹配action为REDIRECT_TO_POOL的转发策略下的转发规则的url和域名,可以将匹配的流量转发到指定的后端云服务器组上,再将流量分发到在这个后端云服务器组关联的后端云服务器上。 可以通过创建action为REDIRECT_TO_LISTENER的转发策略,将HTTP监听器的流量都重定向到TERMINATED_HTTPS监听器上,实现请求协议的重定向。
  • 具体步骤 创建环境变量,点击Postman主页上的环境变量管理按钮(下图最右侧齿轮),如表1所示。创建一组名为“huaweicloud.com”的变量,在Key部分至少包含username、password、domain_username、project_id,并填写对应的Value。变量具体的值可以在web控制台-我的凭证中获得。 图1 环境变量管理 图2 环境变量值 上图中各项变量可在web控制台上的“我的凭证”中获取,web上的属性和变量的对应关系请参考表1。 表1 变量说明 变量 说明 username 用户名 password 密码 tenant_id 用户ID domain_username 帐号名 domain_id 帐号ID project_id 项目ID region 局点 X-Auth-Token 租户Token 填写消息。 图3 填写消息 选择raw格式,并在稍右侧选择JSON(application/json)。 详情请参考《统一身份认证服务API参考》。 发送请求。 发送请求并在地址栏填写请求的URL,这里我们将请求发送到所有局点公用的IAM 后端地址,并在后面加上IAM提供的URI(即“/v3/auth/tokens”部分)。 选择请求方式为POST,并点击Send按钮,如果以上信息填写正确,则会得到类似下图的响应。 图4 发送请求 切换到Headers页面,其中的x-subject-token就是我们接下来发送请求所需的Token。 图5 x-subject-token 在调用ELB资源接口时,请在请求的头部添加X-Auth-Token字段,并将值设为获取到的Token。如果获取到的响应为401消息,请认真检查请求体内的信息是否填写正确。
  • 示例代码 2中消息体内容。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "{{username}}", "password": "{{password}}", "domain": { "name": "{{domain_username}}" } } } }, "scope": { "project": { "id": "{{project_id}}" } } } } 消息体中的“{{”和“}}”表示变量引用。
  • 响应消息 表4 响应参数 参数 参数类型 描述 member Object member对象。详见表5。 表5 member字段说明 参数 参数类型 描述 id String 后端云服务器的 ID。 说明: 此处并非服务器的ID,而是ELB添加后端服务器之后自动生成的member ID。 tenant_id String 后端云服务器所在的项目ID。 支持的最大字符长度:255 project_id String 此参数和tenant_id参数含义一样,均指后端云服务器所在的项目ID。 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表示开启。 false表示关闭。 weight Integer 后端云服务器的权重,取值范围[0,100]。 权重为0的后端不再接受新的请求。默认为1。 operating_status String 后端云服务器的健康状态,取值: ONLINE,后端服务器正常运行。 NO_MONITOR,后端服务器无健康检查。 OFFLINE,已下线。
共100000条