When you setup an Auto Scaling groups in AWS EC2 Min
and Max
bounds seem to make sense:
However, I've never been able to wrap my head around what the heck Desired
is intended to affect.
I've always just set Desired
equal to Min
, because generally, I want to pay Amazon the minimum tithe possible, and unless you need an instance to handle load it should be at the Min
number of instances.
I know if you use ElasticBeanstalk
and set a Min
to 1 and Max
to 2 it sets a Desired
to 2 (of course!)--you can't choose a value for Desired
.
What would be the use case for a different Desired
number of instances and how does it differ? When you expect AWS to scale lower than your Desired
if desired is larger than Min
?
Here are the explanations for the "min, desired and max" values from AWS support:
MIN: This will be the minimum number of instances that can run in your auto scale group. If your scale down CloudWatch alarm is triggered, your auto scale group will never terminate instances below this number
DESIRED: If you trip a CloudWatch alarm for a scale up event, then it will notify the auto scaler to change it's desired to a specified higher amount and the auto scaler will start an instance/s to meet that number. If you trip a CloudWatch alarm to scale down, then it will change the auto scaler desired to a specified lower number and the auto scaler will terminate instance/s to get to that number.
MAX: This will be the maximum number of instances that you can run in your auto scale group. If your scale up CloudWatch alarm stays triggered, your auto scale group will never create instances more than the maximum amount specified.