全部产品
Search
文档中心

弹性伸缩:RemoveInstances - 从一个伸缩组删除一台或多台ECS实例

更新时间:Sep 10, 2026

从一个伸缩组删除一台或多台ECS实例。

接口说明

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

    • 伸缩组处于启用(Active)状态。

    • 伸缩组中没有正在执行的伸缩活动。

当伸缩组没有执行中的伸缩活动时,该接口可以绕过冷却时间(DefaultCooldown)直接执行。

  • 如果一台 ECS 实例由弹性伸缩自动创建,或者您手动添加但已托管给伸缩组,从伸缩组删除该 ECS 实例时,ECS 实例触发了节省停机效果或者被释放。

  • 如果一台 ECS 实例由您手动添加且未托管给伸缩组,从伸缩组删除该 ECS 实例时,ECS 实例不会被停止或者释放。

  • 如果当前伸缩组的实例数(TotalCapacity)减去该接口指定的实例数小于伸缩组内最小实例数(MinSize),则调用失败。

调用该接口返回成功,只是表示弹性伸缩服务接受了该接口调用的请求,伸缩活动可以执行,但不代表伸缩活动能够执行成功。您需要通过返回的ScalingActivityId查看该伸缩活动的执行状态。

调试

您可以在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-bp18p2yfxow2dloq****
RemovePolicystring

指定被删除 ECS 实例的动作。取值范围:

  • recycle:ECS 实例触发了节省停机效果。

    说明 仅在ScalingPolicyrecycle时生效。
  • release:ECS 实例被释放。

    CreateScalingGroup 的ScalingPolicy参数指定伸缩组的回收模式,但实例被删除时的具体动作,由 RemoveInstances 的RemovePolicy参数决定。例如:

    • ScalingPolicyrecycle,且RemovePolicyrecycle,ECS 实例触发了节省停机效果。
    • ScalingPolicyrecycle,且RemovePolicyrelease,ECS 实例被释放。
    • ScalingPolicyrelease,且RemovePolicyrecycle,ECS 实例被释放。
    • ScalingPolicyrelease,且RemovePolicyrelease,ECS 实例被释放。

默认值:release。

release
DecreaseDesiredCapacityboolean

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

  • true:从伸缩组删除 ECS 实例后,期望实例数也减少相应台数。
  • false:从伸缩组删除 ECS 实例后,期望实例数不会变化。

默认值:true。

true
IgnoreInvalidInstanceboolean

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

  • true:从伸缩组中删除一批实例时会忽略无效实例。

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

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

    如果一批实例中存在无效的实例,则返回结果会报错。

默认值:false。

false
InstanceIdarray

待删除 ECS 实例的 ID。

string

待删除 ECS 实例的 ID。N 的取值范围:1~20。

i-28wt4****
RegionIdstring

伸缩组所属的地域 ID。

cn-qingdao
ClientTokenstring

保证请求幂等性。

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

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

缩容流程中等待 ECS 实例停机成功的超时时间,单位为秒。 取值范围:30~240。

说明
  • 该参数值默认从伸缩组继承,您也可以在调用 RemoveInstances 时重新设置。
    • 该参数仅在 RemovePolicy = release 模式下的缩容流程里生效。
    • 如果设置了该参数,系统会最长等待 StopInstanceTimeout 时间将实例停机成功,超时后无论实例是否成功停机都会继续缩容。
    • 如果没有设置该参数,系统会长时间等待实例停机成功,只有实例停机成功后才继续缩容,停机失败时,缩容流程会回滚,缩容失败。
    60
    LifecycleHookContextobject

    生命周期挂钩上下文信息。

    DisableLifecycleHookboolean

    伸缩活动禁用所有生命周期挂钩。取值范围:

    • true:禁用。
    • false:不禁用。
    false
    IgnoredLifecycleHookIdsarray

    伸缩活动禁用的生命周期挂钩 ID 列表。

    string

    伸缩活动禁用的生命周期挂钩 ID 列表。

    ash-bp14zolna43z266bq***

    返回参数

    名称类型描述示例值
    object
    ScalingActivityIdstring

    伸缩活动的 ID。

    asa-bp175o6f6ego3r2j****
    RequestIdstring

    请求 ID。

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

    示例

    正常返回示例

    JSON格式

    {
      "ScalingActivityId": "asa-bp175o6f6ego3r2j****",
      "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
      "IgnoredInstances": {
        "IgnoredInstance": [
          {
            "InstanceId": "",
            "Code": "",
            "Message": ""
          }
        ]
      }
    }

    错误码

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

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

    变更历史

    变更时间变更内容概要操作
    2025-12-04OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更查看变更详情
    2025-04-16OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2025-02-25OpenAPI 描述信息更新、OpenAPI 错误码发生变更查看变更详情
    2024-10-16OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2024-05-21OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    HttpCode错误码错误信息描述
    404InvalidScalingGroupId.NotFoundThe specified scaling group does not exist.指定的伸缩组在该用户账号下不存在。
    404InvalidInstanceId.NotFoundInstance "XXX" does not exist.指定的 ECS 实例在伸缩组下不存在。
    400InvalidParameterThe specified group does not support the specified RemovePolicy.当前伸缩组不支持停机回收策略。
    403Forbidden.UnauthorizedA required authorization for the specified action is not supplied.您未向弹性伸缩授予完整的 OpenAPI 接口权限。
    400IncorrectScalingGroupStatusThe current status of the specified scaling group does not support this action.指定的伸缩组未处于 Active 状态。
    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 实例使得 TotalCapacity 小于 MinSize。