Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
autoscaling_group_capacity_rebalance_enabledProvider: AWS
Service:
autoscalingSeverity: MEDIUM
Categories:
resilienceResource type:
AwsAutoScalingAutoScalingGroupWhat this check verifies
EC2 Auto Scaling groups use Capacity Rebalancing to act on EC2rebalance recommendations by launching replacement Spot instances and terminating at-risk ones after they are healthy.
Assesses whether this proactive replacement behavior is enabled.
Risk
Without Capacity Rebalancing, Spot interruptions can drop targets and reduce capacity, causing timeouts, 5xx spikes, and backlog growth. The two-minute notice is often insufficient, reducing service availability and increasing the chance of cascading failures and slow recovery.Recommendation
Enable Capacity Rebalancing for ASGs that use Spot. Apply resilience practices:- Prefer
price-capacity-optimizedallocation - Keep headroom below
MaxSize - Use lifecycle hooks to drain/deregister
- Design stateless, interruption-tolerant workloads (least privilege and defense-in-depth for dependencies)
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws autoscaling update-auto-scaling-group —auto-scaling-group-name <example_resource_name> —capacity-rebalance
References
- https://docs.aws.amazon.com/awssupport/latest/user/fault-tolerance-checks.html#amazon-ec2-auto-scaling-group-capacity-rebalance-enabled
- https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
- https://trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/EC2/enable-capacity-rebalancing.html
- https://docs.aws.amazon.com/autoscaling/ec2/userguide/enable-capacity-rebalancing-console-cli.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = autoscaling_group_capacity_rebalance_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks