1

With EC2 auto scaling, when using a step scaling policy (as opposed to a simple scaling policy) that scales in due to an alarm that is based on an AWS/EC2 metric (e.g. CPUUtilization <= 30%) with detailed CloudWatch monitoring disabled, when my auto scaling group scales in, it scales in two instances in short succession, without waiting for the metric to update. How can I prevent the auto scaling group from scaling in too fast for the metric to update?

activity history showing two terminations too close together

Edit: here was last night’s scaling history. At 5:15, 5:17, 5:19, 5:21 UTC, auto scaling scaled in due to low CPU Utilization, even though CPU Utilization only has data points at 5:10, 5:15, 5:20, and the scaling event should have ceased after the 5:15 datapoint. There appears to be no way to adjust the cooldown duration of step scaling policy scale ins (step scaling policies ignore the Default Cooldown (=600s) and only scale out policies have estimated instance warmup).

activity history showing 4 terminations within 6 minutes healthy host count showing rapid scale ins and gradual scale outsCPUUUtilization with step scaling policies showing that only scale outs are allowed to have an estimated warmup time

2 Answers 2

4

I had exactly the same problem. What i ended up doing was changing my scale down policy to SimpleScaling reducing by one instance at a time and setting a 10m cooldown. I've also changed my scale down alarm condition to trigger when there are 10 periods of 60 seconds below my threshold of 35% CPU. ( I have detailed cloudwatch metrics enabled ) The idea being that as soon as a scale down occurs then the alarm will turn off faster than if there was fewer periods and a longer evaluation time.

I've still got StepScaling to go up so I scale up fast, but with SimpleScaling and a cooldown to scale in I scale down much more slowly.

0

You'll want to adjust your autoscaling cooldown settings. By default, it's five minutes, but you can customize it in the console or via the API/CLI with PutScalingPolicy.

4
  • Isn’t the cooldown period only for simple scaling policies? The documentation states, “Cooldown periods are not supported for step scaling policies or scheduled scaling.”
    – yonran
    Apr 22, 2016 at 20:18
  • @yonran Step scaling policies appear to have a cooldown setting as well. See media.amazonwebservices.com/blog/2015/…
    – ceejayoz
    Apr 22, 2016 at 20:29
  • Only scale out step scaling policies support estimated warm-up time. Scale in step scaling policies don’t. I have added screen shots from last night that show gradual scale outs but rapid scale ins.
    – yonran
    Apr 23, 2016 at 17:49
  • I believe there is only a "warm-up" setting for step-scaling when you add more instances, but no cooldown during removal.
    – sprut
    Dec 10, 2018 at 22:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .