AWS Instance Scheduler is a tool from Amazon Web Services that automates when and where a user's virtual machine instances are deployed on the public cloud.
The service can be used to schedule instances from Amazon EC2 and Relational Database Service (RDS). Instance Scheduler can reduce costs through customized starts and stops of a user's cloud-based IT infrastructure.
The tool is only available on the AWS cloud, and requires an AWS account to use. An administrator can set multiple start and stop times for a virtual machine (VM), and those windows can be set for specific days, weeks or months.
Instance Scheduler benefits
Unlike traditional, on-premises infrastructure, the public cloud follows a pay-per-use model.
AWS has a per-second billing structure for its compute instances. This can lead to significant cost-savings if an enterprise schedules its instances to run only during normal business hours, and shuts those machines down overnight and on the weekends. However, if an organization fails to decommission those resources when it no longer needs them, it can result in a hefty charge.
Instance Scheduler can reduce this risk, as it uses automation to shut down resources that are no longer in use. In addition, the tool frees IT staff to focus on less mundane management tasks.
Deploy Instance Scheduler
An administrator can deploy Instance Scheduler via AWS CloudFormation. He or she can use customizable templates -- each with a unique name -- to dictate when instances run, as well as link those schedules to multiple AWS accounts and regions. An admin can define schedules in Amazon DynamoDB tables, and then tag the desired instances to follow that schedule.
An AWS Lambda function, which is triggered by an Amazon CloudWatch event, checks the designated VMs to ensure they are in the appropriate state. Those checks are done every five minutes as a default setting, though the intervals can be changed. Instance Scheduler also has mechanisms to either prevent someone from manually starting an instance that's supposed to be stopped, or to override a schedule for temporary, continued usage.
By default, Instance Scheduler only stops an instance, though it can terminate them, too. For EC2 instances, an administrator can schedule different instances types to run in different time periods. For RDS instances, the service creates a snapshot of that workload each time before it's stopped.