Schedules
Set the expected state of non-production RDS and EC2 resources throughout the week.
How it works
The scheduler compares each managed resource with its expected state. Outside an active window it stops a running resource. Inside an active window it starts a stopped resource.
Operations are idempotent: if an instance is already in the expected state, no action is taken.
Business Hours
Business Hours mode is the most common. It keeps your instances running Monday through Friday during work hours and stops them at night and on weekends.
Monday to Friday: 08:00 ---- ON ---- 20:00
20:00 ---- OFF --- 08:00
Saturday and Sunday: ------ OFF --------What to expect at a schedule boundary
- Before an active window, a stopped resource remains stopped until the scheduler reaches the configured start time.
- During an active window, a managed resource is expected to be running. If it is already running, SnoozeDB does nothing.
- After an active window, a managed resource is expected to be stopped. Weekends remain stopped unless a custom window says otherwise.
With standard Business Hours (8am–8pm, Mon–Fri), you save approximately 65% of the instance's on-demand cost.
Custom schedules
For specific needs, you can create a fully custom schedule:
- Define different time slots for each day of the week
- Configure instances running only on certain days (e.g. Monday to Wednesday)
- Use Always off for resources that should remain stopped until someone starts them temporarily
Timezones
Schedules are configured in your chosen timezone. If your team is in Europe/Paris, business hours correspond to CET/CEST automatically, including during daylight saving time changes.
Start / Stop behavior
For RDS, SnoozeDB calls rds:StartDBInstance or rds:StopDBInstance. For EC2, it calls the equivalent EC2 start or stop action when the EC2 module is enabled on a paid plan.
The scheduler is idempotent. A resource that is already in the expected state is left unchanged.
A temporary start overrides the normal stopped state for the selected duration. A resource lock blocks scheduler actions until the lock is removed.
Schedule troubleshooting
When no action is taken at the expected time, verify the policy before changing the schedule.
- Confirm that the resource is in Managed resources, not To triage or Protected.
- Check the schedule timezone, active weekdays, start time, and stop time.
- Confirm that the resource is not locked and does not have an active temporary start.
- Review Activity logs for a skipped, failed, or successful action at the boundary.
- Run a sync if the status shown by SnoozeDB no longer matches the AWS console.