全部產品
Search
文件中心

Auto Scaling:DetachInstances

更新時間:Jan 14, 2025

如果當前伸縮組狀態為啟用狀態,且伸縮組內不存在執行中的伸縮活動,您可以調用API DetachInstances從一個伸縮組移出一台或多台ECS執行個體、ECI執行個體或受管理的執行個體。

介面說明

  • 調用該介面前,請確保滿足以下條件:
    • 目標伸縮組必須處於啟用(Enable)狀態。
    • 目標伸縮組沒有進行中的伸縮活動。

      說明 目標伸縮組沒有進行中的伸縮活動時,該介面可以繞過冷卻時間(Cooldown)直接觸發伸縮活動。

  • 使用該介面需注意以下事項:
    • 移出ECS執行個體、ECI執行個體或受管理的執行個體之後,該執行個體可以獨立於伸縮組而單獨存在,您可以調用AttachInstances介面將ECS執行個體、ECI執行個體或受管理的執行個體再次添加到其他伸縮組。
    • 調用該介面移出一台ECS執行個體、ECI執行個體或受管理的執行個體並不會停止或釋放該執行個體。
    • 介面成功調用後,僅表示Auto Scaling服務接受了該介面調用的請求。可以正常觸發伸縮活動,但不能保證伸縮活動執行成功,您需要通過返回的ScalingActivityId查看伸縮活動的狀態。
    • 目標伸縮組的ECS執行個體、ECI執行個體或受管理的執行個體數量減去當前移出的ECS執行個體、ECI執行個體或受管理的執行個體數量不能小於伸縮組最小執行個體數(MinSize),否則會報錯。

調試

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

請求參數

名稱

類型

是否必選

樣本值

描述

Action String DetachInstances

系統規定參數。取值:DetachInstances

ScalingGroupId String asg-bp1igpak5ft1flyp****

伸縮組的ID。

DecreaseDesiredCapacity Boolean true

是否修改期望執行個體數。取值範圍:

  • true:ECS執行個體、ECI執行個體或受管理的執行個體移出伸縮組後,期望執行個體數也減少相應數量。
  • false:ECS執行個體、ECI執行個體或託管移出伸縮組後,期望執行個體數不會變化。

預設值:true。

IgnoreInvalidInstance Boolean false

從伸縮組移出一批執行個體時,是否忽略其中無效執行個體。取值範圍:

  • true:從伸縮組中移出一批執行個體時會忽略其中的無效執行個體。

    如果一批執行個體中存在無效執行個體(例如執行個體狀態為加入中),並且有效執行個體被成功移出時,則伸縮活動執行狀態顯示為警告狀態,您可以從伸縮活動詳情查看無效的執行個體。

  • false:從伸縮組中移出一批執行個體時不會忽略無效執行個體。

    如果一批執行個體中存在無效執行個體(例如執行個體狀態為加入中),則返回結果會報錯。

預設值:false。

DetachOption String both

指定是否停止使用ECS執行個體或ECI執行個體作為Server Load Balancer執行個體的後端伺服器(即將ECS執行個體或ECI執行個體移出Server Load Balancer執行個體的預設伺服器組和虛擬伺服器組),以及是否將ECS執行個體或ECI執行個體移出RDS執行個體的訪問白名單。

both:將ECS執行個體或ECI執行個體移出Server Load Balancer執行個體的預設伺服器組和虛擬伺服器組,並將ECS執行個體或ECI執行個體移出RDS執行個體的訪問白名單。

說明 伸縮組移出受管理的執行個體時不支援設定該參數項。
InstanceId.N String i-bp109k5j3dum1ce6****

待移出ECS執行個體、ECI執行個體或受管理的執行個體的ID。N的取值範圍:1~20。

舉例如下所示:

  • 待移出的ECS執行個體ID為i-bp109k5j3dum1ce6****
  • 待移出的ECI執行個體ID為eci-bp17gw49eu09yiwm****
  • 待移出的受管理的執行個體ID為mi-d23fsd******

    說明 一次調用請求只支援移出一種類型執行個體。

LifecycleHook Boolean false

伸縮組移出ECS執行個體或ECI執行個體時,是否觸發縮容生命週期掛鈎。取值範圍:

  • true:觸發。
  • false:不觸發。

    說明 伸縮組移出受管理的執行個體時不支援設定該參數項。

預設值:false。

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

保證請求等冪性。

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

返回資料

名稱

類型

樣本值

描述

ScalingActivityId String asa-bp1gbswjhjrw8tko****

伸縮活動的ID。

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

請求ID。

樣本

請求樣本

http(s)://ess.aliyuncs.com/?Action=DetachInstances
&ScalingGroupId=asg-bp1igpak5ft1flyp****
&DecreaseDesiredCapacity=true
&IgnoreInvalidInstance=false
&DetachOption=both
&InstanceId=["i-bp109k5j3dum1ce6****"]
&LifecycleHook=false
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&公用請求參數

正常返回樣本

XML格式

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

<DetachInstancesResponse>
    <ScalingActivityId>asa-bp1gbswjhjrw8tko****</ScalingActivityId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</DetachInstancesResponse>

JSON格式

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

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

錯誤碼

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

HttpCode

錯誤碼

錯誤資訊

描述

400

IncorrectScalingGroupStatus

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

目標伸縮組必須處於啟用(Enable)狀態。

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

IncorrectDBInstanceStatus

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

目標伸縮組內的RDS執行個體必須處於運行中(Running)狀態。

400

IncorrectCapacity.MinSize

To remove the instances, the total capacity will be lesser than the MinSize.

目標伸縮組的ECS執行個體或ECI執行個體數量減去當前移出的ECS執行個體或ECI執行個體數量不能小於伸縮組最少執行個體數(MinSize)。

403

Forbidden.Unauthorized

A required authorization for the specified action is not supplied.

您暫未被授權使用DetachInstances介面。

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

指定的伸縮組不存在。

404

InvalidInstanceId.NotFound

Instance "XXX" does not exist.

指定的ECS執行個體或ECI執行個體不存在。