All Products
Search
Document Center

Auto Scaling:RemoveInstances

Last Updated:Sep 10, 2026

Removes one or more ECS instances from a scaling group.

Operation description

Operation description

  • Before you invoke this operation, make sure that the following conditions are met:

    • The scaling group is in the enable (Active) state.

    • No scaling activity is being executed in the scaling group.

If no scaling activity is being executed in the scaling group, this operation can bypass the cooldown time (DefaultCooldown) and be executed immediately.

  • If an ECS instance is automatically created by Auto Scaling through automatic creation, or is manually added but has been entrusted to the scaling group, the ECS instance triggers the economy mode or is released when it is deleted from the scaling group.

  • If an ECS instance is manually added and has not been entrusted to the scaling group, the ECS instance is not stopped or released when it is deleted from the scaling group.

  • If the current number of instances (TotalCapacity) in the scaling group minus the number of instances specified in this operation is less than the minimum number of instances (MinSize) in the scaling group, the invocation is failed.

A successful response only indicates that Auto Scaling accepted the request. The scaling activity can be executed, but a successful response does not guarantee that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned ScalingActivityId.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

ess:DetachInstances

update

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

None None

Request parameters

Parameter

Type

Required

Description

Example

ScalingGroupId

string

Yes

The ID of the scaling group.

asg-bp18p2yfxow2dloq****

RemovePolicy

string

No

The action to take on the ECS instances that are removed. Valid values:

  • recycle: The ECS instance enters the economy mode.

    Note

    This value takes effect only when ScalingPolicy is set to recycle.

  • release: The ECS instance is released.

    The ScalingPolicy parameter of CreateScalingGroup specifies the reclaim mode of the scaling group, but the specific action taken when an instance is removed is determined by the RemovePolicy parameter of RemoveInstances. Examples:

    • If ScalingPolicy is set to recycle and RemovePolicy is set to recycle, the ECS instance enters the economy mode.

    • If ScalingPolicy is set to recycle and RemovePolicy is set to release, the ECS instance is released.

    • If ScalingPolicy is set to release and RemovePolicy is set to recycle, the ECS instance is released.

    • If ScalingPolicy is set to release and RemovePolicy is set to release, the ECS instance is released.

Default value: release.

release

DecreaseDesiredCapacity

boolean

No

Specifies whether to modify the expected number of instances. Valid values:

  • true: After ECS instances are removed from the scaling group, the expected number of instances is decreased by the corresponding number.

  • false: After ECS instances are removed from the scaling group, the expected number of instances remains unchanged.

Default value: true.

true

IgnoreInvalidInstance

boolean

No

Specifies whether to ignore invalid instances when you delete a batch of instances from the scaling group. Valid values:

  • true: Invalid instances are ignored when a batch of instances is deleted from the scaling group.

    If a batch of instances contains invalid instances (for example, instances whose instance status is Pending), the valid instances are successfully deleted, and the scaling activity execute status is displayed as Warning. You can view the invalid instances in the scaling activity details.

  • false: Invalid instances are not ignored when a batch of instances is deleted from the scaling group.

    If a batch of instances contains invalid instances, an error is returned.

Default value: false.

false

InstanceId

array

Yes

The ID of the ECS instance to be removed.

i-28wt4****

string

No

The ID of the ECS instance to be removed. Valid values of N: 1 to 20.

i-28wt4****

RegionId

string

No

The region ID of the scaling group.

cn-qingdao

ClientToken

string

No

The client token that is used to ensure the idempotence of the request.

You can use the client to generate the token, but make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

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

StopInstanceTimeout

integer

No

The timeout period for waiting for an ECS instance to be stopped during the scale-in process. Unit: seconds. Valid values: 30 to 240.

Note
  • By default, this parameter value is inherited from the scaling group. You can also reset this value when you call RemoveInstances.

  • This parameter takes effect only in scale-in processes where RemovePolicy is set to release.

  • If this parameter is specified, the system waits up to the StopInstanceTimeout period for the instance to stop. After the timeout period elapses, the scale-in process continues regardless of whether the instance is stopped.

  • If this parameter is not specified, the system waits until the instance is stopped before continuing the scale-in process. If the instance fails to stop, the scale-in process is rolled back and the scale-in fails.

60

LifecycleHookContext

object

No

The context information of the lifecycle hook.

DisableLifecycleHook

boolean

No

Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:

  • true: Disabled.

  • false: Not disabled.

false

IgnoredLifecycleHookIds

array

No

The list of lifecycle hook IDs to be disabled for the scaling activity.

string

No

The list of lifecycle hook IDs to be disabled for the scaling activity.

ash-bp14zolna43z266bq***

LifecycleHookResult

string

No

Response elements

Element

Type

Description

Example

object

ScalingActivityId

string

The ID of the scaling activity.

asa-bp175o6f6ego3r2j****

RequestId

string

The request ID.

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

IgnoredInstances

object

IgnoredInstance

array<object>

object

InstanceId

string

Code

string

Message

string

Examples

Success response

JSON format

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

Error codes

HTTP status code

Error code

Error message

Description

500 InternalError The request processing has failed due to some unknown error, exception or failure.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.