伸縮組關聯Server Load Balancer執行個體(CLB)後,加入伸縮組的執行個體會自動添加為CLB執行個體的後端伺服器,處理來自CLB執行個體轉寄的訪問請求。當需要將不同的請求轉寄到不同的後端伺服器上時,或需要通過網域名稱和URL進行請求轉寄時,您可以調用API AttachVServerGroups來添加Server Load Balancer執行個體下的一個或者多個虛擬伺服器組,通過虛擬伺服器組管理不同的後端伺服器。
介面說明
- 向伸縮組添加虛擬伺服器組時需要滿足以下條件:
- Server Load Balancer執行個體與伸縮組必須屬於同一帳號。
- Server Load Balancer執行個體與伸縮組必須處於同一地區。
- Server Load Balancer執行個體必須處於運行中狀態。
- Server Load Balancer執行個體至少配置有一個監聽且必須開啟健全狀態檢查。
- 如果Server Load Balancer執行個體與伸縮組的網路類型均為VPC,必須處於同一VPC。
- 當伸縮組的網路類型為VPC,Server Load Balancer執行個體的網路類型為傳統網路時,如果虛擬伺服器組包含VPC執行個體,該執行個體必須與伸縮組處於同一VPC。
- 待添加虛擬伺服器組必須屬於對應的Server Load Balancer執行個體。
- 不超過伸縮組內虛擬伺服器組的限額,具體限額,請參見使用限制。
- 添加伸縮組內虛擬伺服器組時,需要同時指定以下屬性:
- Server Load Balancer執行個體ID(LoadBalancerId)
- 虛擬伺服器組ID(VServerGroupId)
-
虛擬伺服器組連接埠號碼(Port)
說明 如果通過不同的連接埠號碼將同一虛擬伺服器組添加至伸縮組,視為伸縮組內添加了多個虛擬伺服器組。如果請求參數中的虛擬伺服器組ID和連接埠號碼同時重複,預設使用最先配置的一組,忽略其餘虛擬伺服器組。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | AttachVServerGroups | 系統規定參數。取值:AttachVServerGroups。 |
| RegionId | String | 是 | cn-hangzhou | 伸縮組所屬地區的ID,如cn-hangzhou、cn-shanghai,更多資訊,請參見地區和可用性區域。 |
| ScalingGroupId | String | 是 | asg-bp18p2yfxow2dloq**** | 伸縮組的ID。 |
| ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保證請求等冪性。 從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。只支援ASCII字元,且不能超過64個字元。更多資訊,請參見如何保證等冪性。 |
| ForceAttach | Boolean | 否 | false | 是否將當前伸縮組內的ECS執行個體或ECI執行個體添加到新增的虛擬伺服器組。
預設值:false。 |
| VServerGroup.N.VServerGroupAttribute.N.VServerGroupId | String | 否 | rsp-bp1jp1rge**** | 虛擬伺服器組的ID。其中:
|
| VServerGroup.N.VServerGroupAttribute.N.Weight | Integer | 否 | 100 | Auto Scaling將ECS執行個體或ECI執行個體添加到虛擬伺服器組時設定的權重,取值範圍:0~100。其中:
預設值:50。 |
| VServerGroup.N.VServerGroupAttribute.N.Port | Integer | 否 | 22 | Auto Scaling將ECS執行個體或ECI執行個體添加到虛擬伺服器組時使用的連接埠號碼,取值範圍:1~65535。其中:
|
| VServerGroup.N.LoadBalancerId | String | 否 | lb-bp1u7etiogg38yvwz**** | 虛擬伺服器組所屬Server Load Balancer執行個體的ID。N為Server Load Balancer執行個體編號,取值範圍:1~5。 |
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 請求ID。 |
樣本
請求樣本
http(s)://ess.aliyuncs.com/?Action=AttachVServerGroups
&RegionId=cn-hangzhou
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&ForceAttach=false
&VServerGroup=[{"VServerGroupAttribute":[{"VServerGroupId":"rsp-bp1jp1rge****","Weight":100,"Port":22}],"LoadBalancerId":"lb-bp1u7etiogg38yvwz****"}]
&公用請求參數
正常返回樣本
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<AttachVServerGroupsResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachVServerGroupsResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"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. |
帳號下不存在指定的伸縮組。 |
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 |
InvalidVServerGroupId.ForLoadBalancer |
Invalid VServerGroupId For LoadBalancer "%s". |
VServerGroupId對應的虛擬伺服器組不屬於指定的Server Load Balancer執行個體。 |
400 |
QuotaExceeded.VServerGroup |
VServerGroup quota exceeded in the specified scaling group. |
當前伸縮組內可配置的虛擬伺服器組個數達到上限。 |