全部產品
Search
文件中心

Auto Scaling:AttachLoadBalancers

更新時間:Jan 14, 2025

伸縮組支援關聯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)執行個體的後端伺服器。取值範圍:

  • true:添加 。如果該參數值為true,則將Server Load Balancer執行個體添加到伸縮組時,系統會將當前伸縮組中已有的執行個體全部添加為Server Load Balancer執行個體的後端伺服器。

    說明 如果Server Load Balancer執行個體已添加至伸縮組,而您需要將伸縮組中全部執行個體添加為該Server Load Balancer執行個體的後端伺服器,則您可以再次將該Server Load Balancer執行個體添加到伸縮組,並選擇ForceAttachtrue狀態。

  • false:不添加 。如果該參數值為false,則將Server Load Balancer執行個體添加到伸縮組時,系統不會將當前伸縮組中已有的執行個體添加為Server Load Balancer執行個體的後端伺服器。

預設值:false。

ClientToken String 123e4567-e89b-12d3-a456-42665544****

保證請求等冪性。

從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。只支援ASCII字元,且不能超過64個字元。更多資訊,請參見如何保證等冪性

Async Boolean false

添加負載平衡CLB(原SLB)執行個體時,是否採用非同步呼叫的方式。非同步呼叫能保證操作的事務性,即所有操作都執行成功或者某個操作失敗時所有操作的執行結果都不生效,建議您採用非同步呼叫。

取值範圍:

  • true:非同步呼叫。請求將返回伸縮活動的ID。
  • false:同步調用。

預設值: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。

僅當Asynctrue時返回該值。您可使用API DescribeScalingActivities遍曆查詢返回的伸縮活動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.

未找到當前伸縮組啟用的伸縮配置。