Wondering how to remove a terminated EC2 instance from Auto Scaling group? We can help you!
At times our customers report to us that even after terminating their Amazon EC2 intsance, they see it as healthy (Healthy) and in the standby state (InStandby) in their Amazon EC2 console.
Here at Bobcares, we handle Amazon EC2 instances of customers as a part of our Server Management Services.
Today let’s see how our Support Engineers remove a terminated EC2 instance from Auto Scaling group for our customers.
How to remove a terminated EC2 instance from Auto Scaling group
Generally, EC2 Auto Scaling does not perform health checks for instances in the standby state.
Also, EC2 Auto Scaling will not be aware of instance terminations for instances in the standby state.
Steps to remove a terminated EC2 instance
We can remove terminated instances that are still listed as healthy and in standby using one of the following methods:
1. Terminate the instance using the AWS Command Line Interface (AWS CLI).
2. Detach the instance from the EC2 Auto Scaling group.
3. Take the instance out of the standby state
Terminate the instance
To Terminate the instance, we can use the following command:
aws autoscaling terminate-instance-in-auto-scaling-group --instance-id YOUR-INSTANCE-ID --no-should-decrement-desired-capacity
However, if we have set the lifecycle hook EC2_INSTANCE_TERMINATING for our EC2 Auto Scaling group, we must use CompleteLifecycleAction to remove the instance from the group immediately.
Detach the instance
Detaching the instance will remove it from the EC2 Auto Scaling console.
We can detach using the following command.
aws autoscaling detach-instances --instance-ids YOUR-INSTANCE-ID --no-should-decrement-desired-capacity --auto-scaling-group-name YOUR-ASG-NAME
Take the instance out of standby
Taking the instance out of standby allows Auto Scaling to discover the instance termination using health checks.
We can use the following steps to do this:
1. We can edit our EC2 Auto Scaling group’s maximum size using the AWS CLI or the Amazon EC2 console.
When we put the instance back into service, the desired capacity is incremented by 1 and must not exceed the maximum size value for the group.
Hence we can set the maximum size to the current value + the number of instances being returned to service (1), or we may receive an error similar to the following:
An error occurred (ValidationError) when calling the ExitStandby operation: AutoScalingGroup YOUR-ASG-NAME has min-size=1, max-size=1, and desired-size=1. To place in service 1 instance, please update the AutoScalingGroup sizes appropriately.
Note: A replacement instance is launched to match the desired capacity after your intended instance is terminated.
2. We can take the instance out of standby using the following command:
aws autoscaling exit-standby --instance-ids YOUR-INSTANCE-ID --auto-scaling-group-name YOUR-ASG-NAMEReferences: https://aws.amazon.com/premiumsupport/knowledge-center/auto-scaling-remove-terminated-instance/
[Need assistance? We can help you]
To conclude, we saw the steps that our Support Techs follow to remove a terminated EC2 instance from Auto Scaling group.