AWS Ec2 Scheduler Released
One of the little rubs that most folks have with AWS platforms is how to control elasticity based on time.
It’s one thing to say that you can turn off workloads on the weekend or off-hours that your don’t need. It’s another thing to do it.
Giving that logic to systems themselves, they could be shutdown on a schedule — but a “custodian” system/application needed to be deployed and online to bring them back up. You could also let a few third party systems handle this for you as well — but that was extra cost beyond the resources that you had to spend.
AWS just cannibalized that eco-system of tool providers a little bit this month by releasing the EC2 Scheduler CloudFormations Pattern.
This ingenious pattern uses CloudWatch and Lamba serverless architectures along with EC2 tags to set up a framework that can stop and start instances according to a schedule you can set directly through the AWS Console, or within your own asset creation scripts. No third party integration required.
It is a first generation release, so there are some considerations:
It handles weekly schedules only — Sorry, biweekly and monthly intervals are not supported. Temporary automated shutdowns have to be coded over the standard configuration.
No GovCloud Support — Not too surprised are you? For the record China (Beijing) isn’t supported either. On the upside, a single CF deployment of the scheduler can control multiple regions.
Somewhat restrictive context and syntax — So you enter the details for stop and start in custom tags associated with your instances; be careful and remember that you only get 10 tags per EC2 instance.
Your schedules can be set using the following syntax: <start time>; <stop time>; <time zone>; <active day(s)>. The big gotcha here? It must be in UTC.
As a first release goes, there is a lot of good functionality in this pattern. It also integrates tightly enough into CloudWatch that you can add a pattern of you uptimes and schedule to your dashboard, which is a nice feature to help let your customers or upper management understand visually when systems will be / have been up or down.
The concept of programmatic elasticity has been one of the common rally cries to AWS — it’s nice to see that they are making it easier on us to use it natively now.