更新时间:2022-03-31 GMT+08:00
分享

创建后端服务器组

功能介绍

创建后端服务器组。

接口约束

  1. 指定session-persistence参数时,只有当type是APP_COOKIE时,才可以设置cookie_name。

  2. 若指定listener_id参数,则对应的监听器必须未绑定后端服务器组。

调试

您可以在API Explorer中调试该接口。

URI

POST /v3/{project_id}/elb/pools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

IAM鉴权Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

pool

CreatePoolOption object

创建pool的请求体。

表4 CreatePoolOption

参数

是否必选

参数类型

描述

admin_state_up

Boolean

后端云服务器组的管理状态,只支持更新为true。

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

description

String

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

最小长度:0

最大长度:255

lb_algorithm

String

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

取值:

  • ROUND_ROBIN:加权轮询算法。

  • LEAST_CONNECTIONS:加权最少连接算法。

  • SOURCE_IP:源IP算法。

  • QUIC_CID:连接ID算法。

使用说明:

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

  • 只有pool的protocol为QUIC时,才支持QUIC_CID算法。

listener_id

String

后端云服务器组关联的监听器的ID。

使用说明:

  • listener_id和loadbalancer_id至少指定一个。

最小长度:1

最大长度:36

loadbalancer_id

String

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

使用说明:

  • listener_id和loadbalancer_id中至少指定一个。

最小长度:1

最大长度:36

name

String

后端云服务器组的名称。

最小长度:0

最大长度:255

project_id

String

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

最小长度:32

最大长度:32

正则匹配:[0-9a-fA-F]{32}

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。

最小长度:1

最大长度:255

session_persistence

CreatePoolSessionPersistenceOption object

会话持久性对象。

slow_start

CreatePoolSlowStartOption object

慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。

当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。

member_deletion_protection_enable

Boolean

是否开启删除保护。取值:false不开启,true开启,默认false。

说明:

退场时需要先关闭所有资源的删除保护开关。

表5 CreatePoolSessionPersistenceOption

参数

是否必选

参数类型

描述

cookie_name

String

cookie名称。

格式:仅支持字母、数字、中划线(-)、下划线(_)和点号(.)。

使用说明:

  • 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。

正则匹配:[a-zA-Z0-9-_.]*

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,其他取值会话保持失效。

persistence_timeout

Integer

会话保持的时间。当type为APP_COOKIE时不生效。

适用范围:如果pool的protocol为TCP、UDP则范围为[1,60](分钟),默认值1;如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。

表6 CreatePoolSlowStartOption

参数

是否必选

参数类型

描述

enable

Boolean

慢启动的开关,取值:

  • true:开启。

  • false:关闭,默认值。

缺省值:false

duration

Integer

慢启动的持续时间,单位:s。默认:30; 取值范围:30~1200

最小值:30

最大值:1200

缺省值:30

响应参数

状态码: 201

表7 响应Body参数

参数

参数类型

描述

request_id

String

请求ID。

注:自动生成 。

pool

Pool object

后端服务器组对象。

表8 Pool

参数

参数类型

描述

admin_state_up

Boolean

后端云服务器组的管理状态,只支持设置为true。

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

description

String

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

healthmonitor_id

String

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

id

String

后端云服务器组的ID。

lb_algorithm

String

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

取值: 1、ROUND_ROBIN:加权轮询算法。 2、LEAST_CONNECTIONS:加权最少连接算法。 3、SOURCE_IP:源IP算法。 4、QUIC_CID:连接ID算法。

使用说明:

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

  • 只有pool的protocol为QUIC时,才支持QUIC_CID算法。

listeners

Array of ListenerRef objects

后端云服务器组关联的监听器ID列表。实际上只会有一个关联的监听器ID。

loadbalancers

Array of LoadBalancerRef objects

后端云服务器组关联的负载均衡器ID列表。实际只会有一个关联的负载均衡器ID。

members

Array of MemberRef objects

后端云服务器组中的后端云服务器ID列表。

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。

slow_start

SlowStart object

慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。

当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。

member_deletion_protection_enable

Boolean

是否开启误删保护。取值:false不开启,true开启。

说明:

退场时需要先关闭所有资源的删除保护开关。

表9 ListenerRef

参数

参数类型

描述

id

String

监听器ID。

表10 LoadBalancerRef

参数

参数类型

描述

id

String

负载均衡器ID。

表11 MemberRef

参数

参数类型

描述

id

String

后端服务器ID。

表12 SessionPersistence

参数

参数类型

描述

cookie_name

String

cookie名称。

格式:仅支持字母、数字、中划线(-)、下划线(_)和点号(.)。

使用说明:

  • 只有当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,其他取值会话保持失效。

persistence_timeout

Integer

会话保持的时间。当type为APP_COOKIE时不生效。

适用范围:如果pool的protocol为TCP、UDP和QUIC则范围为[1,60](分钟),默认值1;如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。

表13 SlowStart

参数

参数类型

描述

enable

Boolean

慢启动的开关,默认值:false; true:开启; false:关闭

缺省值:false

duration

Integer

慢启动的持续时间。取值:30~1200s,默认30s;

最小值:30

最大值:1200

缺省值:30

请求示例

  • POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools
    
    {
      "pool" : {
        "name" : "My pool",
        "lb_algorithm" : "LEAST_CONNECTIONS",
        "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193",
        "protocol" : "TCP",
        "member_deletion_protection_enable" : false
      }
    }
  • POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools
    
    {
      "pool" : {
        "name" : "My pool",
        "lb_algorithm" : "LEAST_CONNECTIONS",
        "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193",
        "protocol" : "HTTP",
        "slow_start" : {
          "enable" : true,
          "duration" : 50
        },
        "member_deletion_protection_enable" : false
      }
    }

响应示例

状态码: 201

POST操作正常返回。

{
  "pool" : {
    "lb_algorithm" : "LEAST_CONNECTIONS",
    "protocol" : "TCP",
    "description" : "",
    "admin_state_up" : true,
    "member_deletion_protection_enable" : false,
    "loadbalancers" : [ {
      "id" : "098b2f68-af1c-41a9-8efd-69958722af62"
    } ],
    "project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
    "session_persistence" : null,
    "healthmonitor_id" : null,
    "listeners" : [ {
      "id" : "0b11747a-b139-492f-9692-2df0b1c87193"
    } ],
    "members" : [ ],
    "id" : "36ce7086-a496-4666-9064-5ba0e6840c75",
    "name" : "My pool",
    "ip_version" : "v4",
    "slow_start" : null
  },
  "request_id" : "2d974978-0733-404d-a21a-b29204f4803a"
}

状态码

状态码

描述

201

POST操作正常返回。

错误码

请参见错误码

分享:

    相关文档

    相关产品

close