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

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 '16 at 20:18
  • @yonran Step scaling policies appear to have a cooldown setting as well. See media.amazonwebservices.com/blog/2015/…
    – ceejayoz
    Apr 22 '16 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 '16 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 '18 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.