全部产品
Search
文档中心

弹性伸缩:DetachInstances - 从一个伸缩组移出一台或多台ECS实例

更新时间:Sep 10, 2026

从一个伸缩组移出一台或多台ECS实例。

接口说明

  • 调用该接口前,请确保满足以下条件:

    • 目标伸缩组必须处于启用(Enable)状态。

    • 目标伸缩组没有正在进行的伸缩活动。

      说明 目标伸缩组没有正在进行的伸缩活动时,该接口可以绕过冷却时间(Cooldown)直接触发伸缩活动。
  • 使用该接口需注意以下事项:

    • 移出 ECS 实例、ECI 实例或托管实例之后,该实例可以独立于伸缩组而单独存在,您可以调用 AttachInstances 接口将 ECS 实例、ECI 实例或托管实例再次添加到其他伸缩组。
    • 调用该接口移出一台 ECS 实例、ECI 实例或托管实例并不会停止或释放该实例。
    • 接口成功调用后,仅表示弹性伸缩服务接受了该接口调用的请求。可以正常触发伸缩活动,但不能保证伸缩活动执行成功,您需要通过返回的 ScalingActivityId 查看伸缩活动的状态。
    • 目标伸缩组的 ECS 实例、ECI 实例或托管实例数量减去当前移出的 ECS 实例、ECI 实例或托管实例数量不能小于伸缩组最小实例数(MinSize),否则会报错。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ess:DetachInstancesupdate
*ScalingGroup
acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

请求参数

名称类型必填描述示例值
ScalingGroupIdstring

伸缩组的 ID。

asg-bp1igpak5ft1flyp****
DecreaseDesiredCapacityboolean

是否修改期望实例数。取值范围:

  • true:ECS 实例、ECI 实例或托管实例移出伸缩组后,期望实例数也减少相应数量。
  • false:ECS 实例、ECI 实例或托管移出伸缩组后,期望实例数不会变化。

默认值:true。

true
IgnoreInvalidInstanceboolean

从伸缩组移出一批实例时,是否忽略其中无效实例。取值范围:

  • true:从伸缩组中移出一批实例时会忽略其中的无效实例。

    如果一批实例中存在无效实例(例如实例状态为加入中),并且有效的实例被成功移出时,则伸缩活动执行状态显示为警告状态,您可以从伸缩活动详情查看无效的实例。

  • false:从伸缩组中移出一批实例时不会忽略无效实例。

    如果一批实例中存在无效实例(例如实例状态为加入中),则返回结果会报错。

默认值:false。

false
DetachOptionstring

指定是否停止使用 ECS 实例或 ECI 实例作为负载均衡实例的后端服务器(即将 ECS 实例或 ECI 实例移出负载均衡实例的默认服务器组和虚拟服务器组),以及是否将 ECS 实例或 ECI 实例移出 RDS 实例的访问白名单。

both:将 ECS 实例或 ECI 实例移出负载均衡实例的默认服务器组和虚拟服务器组,并将 ECS 实例或 ECI 实例移出 RDS 实例的访问白名单。

说明 伸缩组移出托管实例时不支持设置该参数项。
both
InstanceIdarray

待移出 ECS 实例、ECI 实例或托管实例的 ID。

string

待移出 ECS 实例、ECI 实例或托管实例的 ID。N 的取值范围:1~20。

举例如下所示:

  • 待移出的 ECS 实例 ID 为i-bp109k5j3dum1ce6****
  • 待移出的 ECI 实例 ID 为eci-bp17gw49eu09yiwm****
  • 待移出的托管实例 ID 为mi-d23fsd******
说明 一次调用请求只支持移出一种类型实例。
i-bp109k5j3dum1ce6****
LifecycleHookboolean

伸缩组移出 ECS 实例或 ECI 实例时,是否触发缩容生命周期挂钩。取值范围:

  • true:触发。
  • false:不触发。
说明 伸缩组移出托管实例时不支持设置该参数项。

默认值:false。

false
ClientTokenstring

保证请求幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

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

返回参数

名称类型描述示例值
object
ScalingActivityIdstring

伸缩活动的 ID。

asa-bp1gbswjhjrw8tko****
RequestIdstring

请求 ID。

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

示例

正常返回示例

JSON格式

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

错误码

HTTP status code错误码错误信息
500InternalErrorThe request processing has failed due to some unknown error, exception or failure.

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2025-02-25OpenAPI 描述信息更新、OpenAPI 错误码发生变更查看变更详情
2024-05-21OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
HttpCode错误码错误信息描述
400IncorrectScalingGroupStatusThe current status of the specified scaling group does not support this action.目标伸缩组必须处于启用(Enable)状态。
400ScalingActivityInProgressYou cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.目标伸缩组不能有正在进行的伸缩活动。
400IncorrectLoadBalancerStatusThe current status of the specified load balancer does not support this action.目标伸缩组内的负载均衡实例必须处于运行中(Active)状态。
400IncorrectDBInstanceStatusThe current status of DB instance "XXX" does not support this action.目标伸缩组内的 RDS 实例必须处于运行中(Running)状态。
400IncorrectCapacity.MinSizeTo remove the instances, the total capacity will be lesser than the MinSize.目标伸缩组的 ECS 实例或 ECI 实例数量减去当前移出的 ECS 实例或 ECI 实例数量不能小于伸缩组最少实例数(MinSize)。
403Forbidden.UnauthorizedA required authorization for the specified action is not supplied.您暂未被授权使用 DetachInstances 接口。
404InvalidScalingGroupId.NotFoundThe specified scaling group does not exist.指定的伸缩组不存在。
404InvalidInstanceId.NotFoundInstance "XXX" does not exist.指定的 ECS 实例或 ECI 实例不存在。