DEV Community

Wakeup Flower
Wakeup Flower

Posted on

AWS Instance Scheduler

1. Services Supported by Instance Scheduler

Service Resource Type Notes
Amazon EC2 Instances Start/stop instances in a VPC or public subnet based on schedule
Amazon RDS DB instances Start/stop RDS database instances (Aurora, PostgreSQL, MySQL, SQL Server, etc.)
Amazon Redshift Clusters Start/stop Redshift clusters
Amazon Aurora DB clusters Aurora DB clusters can also be scheduled (stopping/starting in supported regions)

Basically, Instance Scheduler handles resources that support start and stop operations.


2. How Instance Scheduler Accesses Services

  • Deployed via AWS CloudFormation template.
  • Creates an IAM role with permissions to:

    • Start/stop resources (ec2:StartInstances, rds:StartDBInstance, etc.)
    • Read tags and resource metadata
    • Write logs to CloudWatch Logs
  • Scheduler uses tags on resources to decide which resources to manage.

    • Example: Schedule=BusinessHours

3. Key Features

Feature Description
Tag-based targeting Only resources with a specific tag are scheduled
Multiple schedules Can define different schedules (business hours, weekends, holidays)
Monitoring & logs Uses CloudWatch logs to track start/stop operations
Flexible timing Supports cron expressions, UTC offsets, and time zones

4. Important Notes

  • Works only with services that support start/stop; cannot schedule services that are always running (like DynamoDB, Lambda, S3).
  • Aurora Serverless v2 doesn’t need Instance Scheduler — it auto-scales.

Summary Table

Question Answer
Supported resources EC2, RDS (instances & Aurora clusters), Redshift
Access method IAM role created by CloudFormation
Selection method Tag-based (Schedule tag by default)
Scheduling flexibility Cron expressions, time zones, multiple schedules

Top comments (0)