TerminateInstanceInAutoScalingGroup - Amazon EC2 Auto Scaling

TerminateInstanceInAutoScalingGroup

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

InstanceId

The ID of the instance.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 19.

Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Required: Yes

ShouldDecrementDesiredCapacity

Indicates whether terminating the instance also decrements the size of the Auto Scaling group.

Type: Boolean

Required: Yes

Response Elements

The following element is returned by the service.

Activity

A scaling activity.

Type: Activity object

Errors

For information about the errors that are common to all actions, see Common Errors.

ResourceContention

You already have a pending update to an Amazon EC2 Auto Scaling resource (for example, an Auto Scaling group, instance, or load balancer).

HTTP Status Code: 500

ScalingActivityInProgress

The operation can't be performed because there are scaling activities in progress.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of TerminateInstanceInAutoScalingGroup.

Sample Request

https://autoscaling.amazonaws.com/?Action=TerminateInstanceInAutoScalingGroup &InstanceId=i-1234567890abcdef0 &ShouldDecrementDesiredCapacity=true &Version=2011-01-01 &AUTHPARAMS

Sample Response

<TerminateInstanceInAutoScalingGroupResponse xmlns="https://autoscaling.amazonaws.com/doc/2011-01-01/"> <TerminateInstanceInAutoScalingGroupResult> <Activity> <AutoScalingGroupName>my-asg</AutoScalingGroupName> <ActivityId>12345678-1234-1234-1234-123456789012</ActivityId> <Description>Terminating EC2 instance: i-1234567890abcdef0</Description> <Cause>At 2022-06-14T00:07:30Z instance i-1234567890abcdef0 was taken out of service in response to a user request, shrinking the capacity from 4 to 3.</Cause> <StartTime>2022-06-14T00:07:30.280Z</StartTime> <Details>{"Availability Zone":"us-east-1a","SubnetID":"subnet-057fa0918fEXAMPLE"}</Details> <Progress>0</Progress> <StatusCode>InProgress</StatusCode> </Activity> </TerminateInstanceInAutoScalingGroupResult> <ResponseMetadata> <RequestId>7c6e177f-f082-11e1-ac58-3714bEXAMPLE</RequestId> </ResponseMetadata> </TerminateInstanceInAutoScalingGroupResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: