伸縮組支持關聯負載均衡實例,通過負載均衡實例將訪問流量分發到伸縮組內的多個實例中,可以有效增強伸縮組的服務能力,您可以調用API AttachLoadBalancers添加一個或多個負載均衡實例。
接口說明
向伸縮組添加負載均衡實例時需要滿足以下條件:
- 負載均衡實例與伸縮組必須屬于同一賬號和同一個地域。
- 負載均衡實例必須處于
運行中
狀態。 - 負載均衡實例至少配置有一個監聽且必須開啟健康檢查。
- 如果負載均衡實例與伸縮組的網絡類型均為VPC,必須處于同一VPC。
- 當伸縮組的網絡類型為VPC,負載均衡實例的網絡類型為經典網絡時,如果負載均衡實例后端服務器中包含VPC實例,該實例必須與伸縮組處于同一VPC。
- 不超過伸縮組關聯負載均衡實例的限額,具體限額,請參見使用限制。
調試
您可以在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個負載均衡實例到伸縮組。 |
LoadBalancerConfig.N.LoadBalancerId | String | 否 | 147b46d767c-cn-qingdao-cm5**** | 負載均衡CLB(原SLB)實例的ID。 |
LoadBalancerConfig.N.Weight | Integer | 否 | 10 | 彈性伸縮將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. |
您并未授予彈性伸縮完整的OpenAPI調用權限。 |
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
賬號下不存在指定的伸縮組。 |
400 |
QuotaExceeded.LoadBalancer |
LoadBalancer quota exceeded in the scaling group "%s". |
伸縮組中負載均衡實例超出配額限制。 |
404 |
InvalidLoadBalancerId.NotFound |
The load balancer "%s" does not exist. |
不存在指定的負載均衡實例。 |
400 |
InvalidLoadBalancerId.RegionMismatch |
The load balancer "%s" and the specified scaling group are not in the same Region. |
負載均衡實例與伸縮組不在同一地域。 |
400 |
IncorrectLoadBalancerStatus |
The current status of the load balancer "%s" does not support this action. |
當前負載均衡實例狀態不支持此操作。 |
400 |
IncorrectLoadBalancerHealthCheck |
The current health check type of the load balancer "%s" does not support this action. |
當前負載均衡實例未開啟健康檢查。 |
400 |
InvalidLoadBalancerId.VPCMismatch |
The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC. |
負載均衡實例與伸縮組不在同一VPC下。 |
400 |
QuotaExceeded.BackendServer |
Backend server quota exceeded in the load balancer "%s". |
負載均衡實例后端服務器數量超出限額。 |
404 |
InvalidScalingConfigurationId.NotFound |
The specified scaling configuration does not exist. |
未找到當前伸縮組啟用的伸縮配置。 |