全部產品
Search
文件中心

Auto Scaling:AttachInstances

更新時間:Jan 14, 2025

調用API AttachInstances將執行個體手動添加到伸縮組中,即您可以將伸縮組以外的ECS執行個體、ECI執行個體或受管理的執行個體添加到伸縮組中並提供服務,或者將伸縮組中處於節省停機狀態的ECS執行個體重新啟動變為服務狀態(運行中狀態)並在伸縮組中提供服務。

介面說明

  • 調用該介面前,請確保滿足以下條件:
    • 伸縮組處於Active狀態。
    • 伸縮組內沒有執行中的伸縮活動。
  • 加入伸縮組的ECS執行個體或ECI執行個體的限制條件包括:
    • 必須與伸縮組在同一個地區。
    • 必須處於Running狀態。
    • 不能已加入到其他伸縮組中。
    • 付費方式為訂用帳戶、隨用隨付或搶佔式執行個體。
    • 如果伸縮組指定VswitchID,則不支援Classic類型的ECS執行個體或ECI執行個體加入伸縮組,也不支援其他VPC的ECS執行個體或ECI執行個體加入伸縮組。
    • 如果伸縮組沒有指定VswitchID,則不支援VPC類型的ECS執行個體或ECI執行個體加入伸縮組。
  • 加入伸縮組的受管理的執行個體的限制條件包括:
    • 必須與伸縮組在同一個地區。
    • 只能將未加入伸縮組的受管理的執行個體加入到ECS類型伸縮組中。
    • 受管理的執行個體不支援配置生命週期掛鈎、關聯到負載平衡和健全狀態檢查功能。
    • 受管理的執行個體加入ECS類型伸縮組後,該伸縮組不會管理受管理的執行個體的生命週期。
    • 受管理的執行個體僅支援手動添加到伸縮組或手動從伸縮組移出,移出後受管理的執行個體並不會被釋放。
  • 使用該介面需注意以下事項:
    • 當伸縮組沒有伸縮活動正在執行時,該介面可以繞過冷卻時間(Cooldown)直接執行。
    • 調用該介面返回成功,只是表示Auto Scaling服務接受了該介面調用的請求,伸縮活動可以執行,但不代表伸縮活動能夠執行成功。您需要通過返回的ScalingActivityId查看該伸縮活動的執行狀態。
    • 如果該介面指定的執行個體數加上當前伸縮組的執行個體數(Total Capacity)大於最大值(MaxSize),則介面調用失敗。
    • 通過該介面手動添加的ECS執行個體、ECI執行個體或受管理的執行個體不與伸縮組生效的伸縮配置進行關聯。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱

類型

是否必選

樣本值

描述

Action String AttachInstances

系統規定參數。取值:AttachInstances

ScalingGroupId String asg-bp18p2yfxow2dloq****

伸縮組的ID。

Entrusted Boolean false

將已經存在的執行個體手動添加到伸縮組時,是否將該執行個體的生命週期託管給伸縮組。取值範圍:

  • true:託管。該執行個體的生命週期由Auto Scaling管理,與伸縮組自動建立的執行個體一致。執行個體被移出伸縮組(不包括通過調用DetachInstances參數移出的執行個體)時會自動釋放。
  • false:不託管。該執行個體在被移出伸縮組時不會被釋放。
說明 訂用帳戶執行個體、受管理的執行個體和伸縮組中節省停機執行個體均不支援設定該參數項。

預設值:false。

InstanceId.N String i-28wt4****

InstanceId.N為待添加ECS執行個體、ECI執行個體、受管理的執行個體或者伸縮組中處於節省停機狀態執行個體的ID。N的取值範圍:1~20。

舉例如下所示:

  • 待添加的ECS執行個體ID為i-28wt4****
  • 待添加的ECI執行個體ID為eci-bp17gw49eu09yiwm****
  • 待添加的受管理的執行個體ID為mi-2cx*****
  • 待重新啟動的伸縮組中節省停機狀態執行個體ID為i-2cd2f****
說明 一次調用請求中僅支援處理一種類型的執行個體。
LoadBalancerWeight.N Integer 50

LoadBalancerWeight.N為ECS執行個體或ECI執行個體作為Server Load Balancer執行個體後端伺服器時的權重,N的取值範圍:1~20,該參數的取值範圍:1~100。

說明 受管理的執行個體和伸縮組中節省停機執行個體均不支援設定該參數項。

預設值:50。

LifecycleHook Boolean false

伸縮組添加執行個體時,是否觸發擴容生命週期掛鈎。取值範圍:

  • true:觸發。
  • false:不觸發。
說明 受管理的執行個體和伸縮組中節省停機執行個體均不支援設定該參數項。

預設值:false。

RegionId String cn-qingdao

伸縮組所屬的地區ID。

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

保證請求等冪性。

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

IgnoreInvalidInstance Boolean false

向伸縮組添加一批執行個體時,是否忽略其中無效的執行個體。取值範圍:

  • true:從伸縮組中添加一批執行個體時,會忽略其中無效的執行個體。如果存在無效的執行個體,並且有效執行個體被成功添加時,伸縮活動執行狀態也會顯示為警告狀態,可以從伸縮活動詳情查看無效的執行個體。
  • false:從伸縮組中添加一批執行個體時,不會忽略無效的執行個體。如果一批執行個體中存在無效的執行個體,請求會報錯。

預設值:false。

返回資料

名稱

類型

樣本值

描述

ScalingActivityId String asa-bp1crxor24s28xf1****

伸縮活動的ID。

RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

請求ID。

樣本

請求樣本

http(s)://ess.aliyuncs.com/?Action=AttachInstances
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&Entrusted=false
&InstanceId=["i-28wt4****"]
&LoadBalancerWeight=[50]
&LifecycleHook=false
&RegionId=cn-qingdao
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&IgnoreInvalidInstance=false
&公用請求參數

正常返回樣本

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<AttachInstancesResponse>
    <ScalingActivityId>asa-bp1crxor24s28xf1****</ScalingActivityId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachInstancesResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ScalingActivityId" : "asa-bp1crxor24s28xf1****",
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

HttpCode

錯誤碼

錯誤資訊

描述

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

指定的伸縮組在該帳號下不存在。

403

Forbidden.Unauthorized

A required authorization for the specified action is not supplied.

您並未向Auto Scaling完整授權OpenAPI介面。

400

IncorrectScalingGroupStatus

The current status of the specified scaling group does not support this action.

指定的伸縮組未處於Active狀態。

404

InvalidInstanceId.NotFound

Instance "XXX" does not exist.

指定的ECS執行個體或ECI執行個體在該帳號下不存在。

400

InvalidInstanceId. RegionMismatch

Instance "XXX" and the specified scaling group are not in the same Region.

指定的ECS執行個體或ECI執行個體與伸縮組所屬的地區不匹配。

400

InvalidInstanceId.InstanceTypeMismatch

Instance "XXX" and existing Active scaling configurations have different instance types.

指定的ECS執行個體或ECI執行個體與伸縮配置的執行個體規格不匹配。

400

IncorrectInstanceStatus

The current status of instance "XXX" does not support this action.

指定的ECS執行個體或ECI執行個體未處於Running狀態。

400

InvalidInstanceId. NetworkTypeMismatch

The network type of instance "XXX" does not support this action.

ECS執行個體或ECI執行個體的網路類型與伸縮組的網路類型不符。

400

InvalidInstanceId.VPCMismatch

Instance "XXX" and the specified scaling group are not in the same VPC.

指定的伸縮組與添加的ECS執行個體或ECI執行個體不在同一個VPC當中。

400

InvalidInstanceId.InUse

Instance "XXX" is already attached to another scaling group.

指定的ECS執行個體或ECI執行個體已加入其它伸縮組。

400

ScalingActivityInProgress

You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.

指定的伸縮組有伸縮活動進行中。

400

IncorrectLoadBalancerStatus

The current status of the specified load balancer does not support this action.

指定的伸縮組的Server Load Balancer執行個體未處於Active狀態。

400

IncorrectLoadBalancerHealthCheck

The current health check type of specified load balancer does not support this action.

指定的伸縮組關聯的Server Load Balancer執行個體未開啟健全狀態檢查。

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

The network type of the instance in specified load balancer does not support this action.

指定的Server Load Balancer執行個體含有的ECS執行個體或ECI執行個體的網路類型與伸縮組的網路類型不符。

400

InvalidLoadBalancerId.VPCMismatch

The specified virtual switch and the instance in specified load balancer are not in the same VPC.

指定的伸縮組的Server Load Balancer執行個體含有的ECS執行個體或ECI執行個體與VSwitchId不在同一個VPC當中。

400

IncorrectDBInstanceStatus

The current status of DB instance "XXX" does not support this action.

指定的伸縮組的RDS執行個體未處於Running狀態。

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

指定的伸縮組的RDS執行個體訪問白名單的IP個數達到上限。

400

QuotaExceeded.SecurityGroupInstance

Instance quota exceeded in the specified security group.

指定的安全性群組已添加的ECS執行個體或ECI執行個體個數達到上限。

400

IncorrectCapacity.MaxSize

To attach the instances, the total capacity will be greater than the MaxSize.

加入的ECS執行個體數或ECI執行個體數使得Total Capacity超過MaxSize。