華為云計算 云知識 創(chuàng)建后端云服務(wù)器組CreatePool
創(chuàng)建后端云服務(wù)器組CreatePool

 

功能介紹

創(chuàng)建后端 云服務(wù)器 組。將多個后端云服務(wù)器添加到后端云服務(wù)器組中后,請求會在后端云服務(wù)器間按后端云服務(wù)器組的 負載均衡 算法和后端云服務(wù)器的權(quán)重來做請求分發(fā)。

接口約束

  • 指定session-persistence參數(shù)時,只有當type是APP_COOKIE時,才可以設(shè)置cookie_name。

調(diào)試

您可以在API Explorer中直接運行調(diào)試該接口。

URI

POST /v2/{project_id}/elb/pools

參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

操作用戶的項目ID。

獲取方法詳見獲取項目ID。

請求消息

請求參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

pool

Pool object

后端云服務(wù)器組對象。詳見表3

 

pool字段說明

參數(shù)

是否必選

參數(shù)類型

描述

tenant_id

String

后端云服務(wù)器組所屬的項目 ID。

獲取方法詳見獲取項目ID。

需要和token中的project_id一致。

支持的最大字符長度:255

name

String

后端云服務(wù)器組名稱。

支持的最大字符長度:255

description

String

后端云服務(wù)器組的描述信息。

支持的最大字符長度:255

protocol

String

后端云服務(wù)器組的后端協(xié)議。

支持TCP、UDP和HTTP。

當指定listener_id創(chuàng)建后端云服務(wù)器組時,后端云服務(wù)器組的protocol和它關(guān)聯(lián)的監(jiān)聽器的protocol有如下關(guān)系:

  • 監(jiān)聽器的protocol為UDP時,后端云服務(wù)器組的protocol必須為UDP;
  • 監(jiān)聽器的protocol為TCP時,后端云服務(wù)器組的protocol必須為TCP;
  • 監(jiān)聽器的protocol為HTTP或TERMINATED_HTTPS時,后端云服務(wù)器組的protocol必須為HTTP。

lb_algorithm

String

后端云服務(wù)器組的負載均衡算法。

取值范圍:

  • ROUND_ROBIN:加權(quán)輪詢算法。
  • LEAST_CONNECTIONS:加權(quán)最少連接算法。
  • SOURCE_IP:源IP算法。

當該字段的取值為SOURCE_IP時,后端云服務(wù)器組綁定的后端云服務(wù)器的weight字段無效。

admin_state_up

Boolean

后端云服務(wù)器組的管理狀態(tài)。

該字段為預留字段,暫未啟用。默認為true。

listener_id

String

后端云服務(wù)器組關(guān)聯(lián)的監(jiān)聽器的ID。

listener_id和loadbalancer_id中至少指定一個。

loadbalancer_id

String

后端云服務(wù)器組關(guān)聯(lián)的負載均衡器ID。

listener_id和loadbalancer_id中至少指定一個。

session_persistence

SessionPersistence object

會話持久性。詳細參見表4。

取值為null時,表示會話保持關(guān)閉。

 

session_persistence字段說明

參數(shù)

是否必選

參數(shù)類型

描述

type

String

會話保持的類型。

取值范圍:

  • SOURCE_IP:根據(jù)請求的源IP,將同一IP的請求發(fā)送到同一個后端云服務(wù)器上。
  • HTTP_COOKIE:客戶端第一次發(fā)送請求時,負載均衡器自動生成cookie并將該cookie插入響應(yīng)消息中,后續(xù)請求會發(fā)送到處理第一個請求的后端云服務(wù)器上。
  • APP_COOKIE:客戶端第一次發(fā)送請求時,后端服務(wù)器生成cookie并將該cookie插入響應(yīng)消息中,后續(xù)請求會發(fā)送到處理第一個請求的后端云服務(wù)器上。

當后端云服務(wù)器組的protocol為TCP時,只按SOURCE_IP生效;當后端云服務(wù)器組的protocol為HTTP時,只按HTTP_COOKIE、APP_COOKIE生效。

cookie_name

String

cookie名稱。支持字母、數(shù)字、中劃線(-)和下劃線(_),最大長度64個字符。

當會話保持類型是APP_COOKIE時,為必選字段,其它類型時不可指定。

persistence_timeout

Integer

會話保持的超時時間。

當type為APP_COOKIE時不生效。

取值范圍:

  • [1,60](分鐘):當后端云服務(wù)器組的protocol為TCP、UDP時。
  • [1,1440](分鐘):當后端云服務(wù)器組的protocol為HTTP、HTTPS時。

響應(yīng)消息

響應(yīng)參數(shù)

參數(shù)

參數(shù)類型

描述

pool

Pool object

后端云服務(wù)器組對象。詳見表6 pool字段說明

 

pool字段說明

參數(shù)

參數(shù)類型

描述

id

String

后端云服務(wù)器組 ID。

tenant_id

String

后端云服務(wù)器組所屬的項目 ID。

支持的最大字符長度:255

project_id

String

此參數(shù)和tenant_id參數(shù)含義一樣,均指后端云服務(wù)器組所屬的項目 ID。

name

String

后端云服務(wù)器組名稱。

支持的最大字符長度:255

description

String

后端云服務(wù)器組的描述信息。

支持的最大字符長度:255

protocol

String

后端云服務(wù)器組的后端協(xié)議。

取值范圍:TCP、UDP和HTTP。

當指定listener_id創(chuàng)建后端云服務(wù)器組時,后端云服務(wù)器組的protocol和它關(guān)聯(lián)的監(jiān)聽器的protocol有如下關(guān)系:

  • 監(jiān)聽器的protocol為UDP時,后端云服務(wù)器組的protocol必須為UDP;
  • 監(jiān)聽器的protocol為TCP時,后端云服務(wù)器組的protocol必須為TCP;
  • 監(jiān)聽器的protocol為HTTP或TERMINATED_HTTPS時,后端云服務(wù)器組的protocol必須為HTTP。

lb_algorithm

String

后端云服務(wù)器組的負載均衡算法。

取值范圍:

  • ROUND_ROBIN:加權(quán)輪詢算法。
  • LEAST_CONNECTIONS:加權(quán)最少連接算法。
  • SOURCE_IP:源IP算法。當該字段的取值為SOURCE_IP時,后端云服務(wù)器組綁定的后端云服務(wù)器的weight字段無效。

members

Array of Members objects

后端云服務(wù)器組關(guān)聯(lián)的后端云服務(wù)器ID的列表。詳見表7

healthmonitor_id

String

后端云服務(wù)器組關(guān)聯(lián)的健康檢查的ID。

admin_state_up

Boolean

后端云服務(wù)器組的管理狀態(tài)。

該字段為預留字段,暫未啟用。取值范圍:true/false。

  • true表示開啟。
  • false表示關(guān)閉。

listeners

Array of Listeners objects

后端云服務(wù)器組關(guān)聯(lián)的監(jiān)聽器ID列表。詳見表8

loadbalancers

Array of Loadbalancers objects

后端云服務(wù)器組關(guān)聯(lián)的負載均衡器ID列表。詳見表9

session_persistence

SessionPersistence object

后端云服務(wù)器組的會話持久性。詳見表10。

當開啟會話保持后,在一定時間內(nèi),來自同一客戶端的請求會發(fā)送到同一個后端云服務(wù)器上。

取值范圍:當會話保持關(guān)閉時,該字段取值為null。

 

members字段說明

參數(shù)

參數(shù)類型

描述

id

String

關(guān)聯(lián)的后端服務(wù)器id

 

listeners字段說明

參數(shù)

參數(shù)類型

描述

id

String

關(guān)聯(lián)的后端服務(wù)器組id

 

loadbalancers字段說明

參數(shù)

參數(shù)類型

描述

id

String

關(guān)聯(lián)的負載均衡器id

 

session_persistence字段說明

參數(shù)

是否必選

參數(shù)類型

描述

type

String

會話保持的類型。

取值范圍:

  • SOURCE_IP:根據(jù)請求的源IP,將同一IP的請求發(fā)送到同一個后端云服務(wù)器上。
  • HTTP_COOKIE:客戶端第一次發(fā)送請求時,負載均衡器自動生成cookie并將該cookie插入響應(yīng)消息中,后續(xù)請求會發(fā)送到處理第一個請求的后端云服務(wù)器上。
  • APP_COOKIE:客戶端第一次發(fā)送請求時,后端服務(wù)器生成cookie并將該cookie插入響應(yīng)消息中,后續(xù)請求會發(fā)送到處理第一個請求的后端云服務(wù)器上。

當后端云服務(wù)器組的protocol為TCP時,只按SOURCE_IP生效;當后端云服務(wù)器組的protocol為HTTP時,只按HTTP_COOKIE、APP_COOKIE生效。

cookie_name

String

cookie名稱。支持字母、數(shù)字、中劃線(-)和下劃線(_),最大長度64個字符。

當會話保持類型是APP_COOKIE時,為必選字段,其它類型時不可指定。

persistence_timeout

Integer

會話保持的超時時間。

當type為APP_COOKIE時不生效。

取值范圍:

  • [1,60](分鐘):當后端云服務(wù)器組的protocol為TCP、UDP時。
  • [1,1440](分鐘):當后端云服務(wù)器組的protocol為HTTP、HTTPS時。

請求示例

  • 請求樣例1 創(chuàng)建HTTP后端云服務(wù)器組POST https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP" } }
  • 請求樣例2 創(chuàng)建后端云服務(wù)器組,并開啟APP_COOKIE類型的會話保持POST https://{Endpoint}/v2/145483a5107745e9b3d80f956713e6a3/elb/pools { "pool": { "lb_algorithm": "ROUND_ROBIN", "loadbalancer_id": "370fb112-e920-486a-b051-1d0d30704dd3", "protocol": "HTTP", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "admin_state_up": true } }
  • 請求樣例3 創(chuàng)建HTTP后端云服務(wù)器組,并開啟HTTP_COOKIE類型的會話保持POST https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/pools { "pool": { "lb_algorithm":"ROUND_ROBIN", "loadbalancer_id": "63ad9dfe-4750-479f-9630-ada43ccc8117", "protocol":"HTTP", "session_persistence":{ "type":"HTTP_COOKIE" } } }

響應(yīng)示例

  • 響應(yīng)樣例1{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": null, "healthmonitor_id": null, "listeners": [], "members": [], "id": "4e496951-befb-47bf-9573-c1cd11825c07", "name": "" } }
  • 響應(yīng)樣例2{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "6b041b9e-976b-40ba-b075-375be6110b53" } ], "tenant_id": "145483a5107745e9b3d80f956713e6a3", "project_id": "145483a5107745e9b3d80f956713e6a3", "session_persistence": { "cookie_name": "my_cookie", "type": "APP_COOKIE", "persistence_timeout": 1 }, "healthmonitor_id": null, "listeners": [ { "id": "370fb112-e920-486a-b051-1d0d30704dd3" } ], "members": [], "id": "307f8968-9474-4d0c-8434-66be09dabcc1", "name": "" } }
  • 響應(yīng)樣例3{ "pool": { "lb_algorithm": "ROUND_ROBIN", "protocol": "HTTP", "description": "", "admin_state_up": true, "loadbalancers": [ { "id": "63ad9dfe-4750-479f-9630-ada43ccc8117" } ], "tenant_id": "601240b9c5c94059b63d484c92cfe308", "project_id": "601240b9c5c94059b63d484c92cfe308", "session_persistence": { "persistence_timeout": 1440, "cookie_name": null, "type": "HTTP_COOKIE" }, "healthmonitor_id": null, "listeners": [], "members": [], "id": "d46eab56-d76b-4cd3-8952-3c3c4cf113aa", "name": "" } }

返回碼

請參見狀態(tài)碼