Can I use Auto Scaling for scaling out a set of servers that run periodically (auto scaling of zero) ? This is not the typical auto scaling use case but it is possible. This would most likely be used for use cases such as batch processing where instances would be spun up to support processing that happens periodically. Here are some ways to solve this use case:
- Auto Scaling, SQS and CloudWatch : You can but it would require to use AWS SQS with Auto Scaling and you would set up an alarm that uses SQS instead of CloudWatch or a custom metrics. See more here:
It is possible to set up an auto scaling group with min EC2 size of ):
http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_BasicSetup.html. You can issue this command: as-create-auto-scaling-group my-test-asg --launch-configuration my-test-lc --availability-zones us-east-1a --min-size 0 --max-size 10 --desired-capacity 1
- OpsWorks : OpsWorks provides a graphical tool for scheduling time-based auto scaling (e.g. “start an instance every Monday at 8:00am and shut it down at 5:00p.m.”).
- Auto Scaling and Cron : The auto scaling API supports a cron-style "recurrence" attribute for scheduled actions: