伸縮組支援關聯Server Load Balancer執行個體,通過Server Load Balancer執行個體將訪問流量分發到伸縮組內的多個執行個體中,可以有效增強伸縮組的服務能力,您可以調用API AttachLoadBalancers添加一個或多個Server Load Balancer執行個體。
介面說明
向伸縮組添加Server Load Balancer執行個體時需要滿足以下條件:
- Server Load Balancer執行個體與伸縮組必須屬於同一帳號和同一個地區。
- Server Load Balancer執行個體必須處於
運行中狀態。 - Server Load Balancer執行個體至少配置有一個監聽且必須開啟健全狀態檢查。
- 如果Server Load Balancer執行個體與伸縮組的網路類型均為VPC,必須處於同一VPC。
- 當伸縮組的網路類型為VPC,Server Load Balancer執行個體的網路類型為傳統網路時,如果Server Load Balancer執行個體後端伺服器中包含VPC執行個體,該執行個體必須與伸縮組處於同一VPC。
- 不超過伸縮組關聯Server Load Balancer執行個體的限額,具體限額,請參見使用限制。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | AttachLoadBalancers | 系統規定參數。取值:AttachLoadBalancers。 |
| ScalingGroupId | String | 是 | asg-bp1avr6ensitts3w**** | 伸縮組的ID。 |
| ForceAttach | Boolean | 否 | false | 是否把當前伸縮組內的執行個體全部添加為負載平衡CLB(原SLB)執行個體的後端伺服器。取值範圍:
預設值:false。 |
| ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求等冪性。 從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。只支援ASCII字元,且不能超過64個字元。更多資訊,請參見如何保證等冪性。 |
| Async | Boolean | 否 | false | 添加負載平衡CLB(原SLB)執行個體時,是否採用非同步呼叫的方式。非同步呼叫能保證操作的事務性,即所有操作都執行成功或者某個操作失敗時所有操作的執行結果都不生效,建議您採用非同步呼叫。 取值範圍:
預設值:false。 |
| LoadBalancer.N | String | 否 | lb-2zeur05gfs**** | 需要添加的負載平衡CLB(原SLB)執行個體的ID列表,N的取值範圍:1~5。 說明 支援最多一次添加5個Server Load Balancer執行個體到伸縮組。 |
| LoadBalancerConfig.N.LoadBalancerId | String | 否 | 147b46d767c-cn-qingdao-cm5**** | 負載平衡CLB(原SLB)執行個體的ID。 |
| LoadBalancerConfig.N.Weight | Integer | 否 | 10 | Auto Scaling將ECS執行個體或ECI執行個體添加到CLB(原SLB)伺服器組後,ECS執行個體或ECI執行個體作為後端伺服器的權重。權重越高,ECS執行個體或ECI執行個體將被分配到越多的訪問請求。如果權重為0,則ECS執行個體或ECI執行個體不會收到訪問請求。 取值範圍:0~100。 |
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| ScalingActivityId | String | asa-bp140qd7mak8k63f**** | 伸縮活動的ID。 僅當 |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 請求ID。 |
樣本
請求樣本
http(s)://ess.aliyuncs.com/?Action=AttachLoadBalancers
&ScalingGroupId=asg-bp1avr6ensitts3w****
&ForceAttach=false
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&Async=false
&LoadBalancer=["lb-2zeur05gfs****"]
&LoadBalancerConfig=[{"LoadBalancerId":"147b46d767c-cn-qingdao-cm5****","Weight":10}]
&公用請求參數
正常返回樣本
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<AttachLoadBalancersResponse>
<ScalingActivityId>asa-bp140qd7mak8k63f****</ScalingActivityId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachLoadBalancersResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"ScalingActivityId" : "asa-bp140qd7mak8k63f****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
HttpCode |
錯誤碼 |
錯誤資訊 |
描述 |
403 |
Forbidden.Unauthorized |
A required authorization for the specified action is not supplied. |
您並未授予Auto Scaling完整的OpenAPI調用許可權。 |
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
帳號下不存在指定的伸縮組。 |
400 |
QuotaExceeded.LoadBalancer |
LoadBalancer quota exceeded in the scaling group "%s". |
伸縮組中Server Load Balancer執行個體超出配額限制。 |
404 |
InvalidLoadBalancerId.NotFound |
The load balancer "%s" does not exist. |
不存在指定的Server Load Balancer執行個體。 |
400 |
InvalidLoadBalancerId.RegionMismatch |
The load balancer "%s" and the specified scaling group are not in the same Region. |
Server Load Balancer執行個體與伸縮組不在同一地區。 |
400 |
IncorrectLoadBalancerStatus |
The current status of the load balancer "%s" does not support this action. |
當前Server Load Balancer執行個體狀態不支援此操作。 |
400 |
IncorrectLoadBalancerHealthCheck |
The current health check type of the load balancer "%s" does not support this action. |
當前Server Load Balancer執行個體未開啟健全狀態檢查。 |
400 |
InvalidLoadBalancerId.VPCMismatch |
The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC. |
Server Load Balancer執行個體與伸縮組不在同一VPC下。 |
400 |
QuotaExceeded.BackendServer |
Backend server quota exceeded in the load balancer "%s". |
Server Load Balancer執行個體後端伺服器數量超出限額。 |
404 |
InvalidScalingConfigurationId.NotFound |
The specified scaling configuration does not exist. |
未找到當前伸縮組啟用的伸縮配置。 |