RDS Schedule: How to Automate Start and Stop for AWS Databases

Stopping an RDS instance once is easy. Doing it reliably, every day, across every database, for every team, that's where most approaches break down.

The difference between a one-time stop and a proper schedule is the difference between saving money occasionally and saving money permanently.

This guide covers what a good RDS schedule looks like, common patterns for different team types, and how to set one up without writing a single line of code.

What RDS scheduling actually means

An RDS schedule is a recurring rule that defines when a database should be running and when it should be stopped. A complete schedule has two sides: a stop time and a start time.

Stop-only scripts are a common mistake. If your database shuts down at 8pm but nothing starts it back up at 8am, your team arrives on Monday morning waiting 10 to 15 minutes for the cold start. That's not optimization, that's a friction tax.

A good schedule handles both directions, respects timezones, and has a mechanism for exceptions.

What makes a good RDS schedule

The right time window

For most teams, the effective working window is Monday to Friday, 8am to 7pm in the team's primary timezone. Outside that window, dev and staging databases can safely be off. That's roughly 128 hours per week of potential savings : 76% of the total.

Timezone handling

Cron jobs run in UTC by default. A schedule that says "stop at 20:00" means different things depending on where your team works. Always configure schedules in local timezone, not UTC, or you'll end up with databases stopping at 3pm in Paris in winter and 2pm in summer.

Exception handling

Deployments run late. Someone works on a Saturday. A sprint ends at midnight. A good schedule has a way to pause it temporarily without deleting it. This is often the weakest point of DIY schedulers.

Common schedule patterns

The startup standard: weekday business hours

Start: Monday to Friday at 7:30am. Stop: Monday to Friday at 8pm. Result: databases are available before the team arrives and shut down after they leave. Estimated saving: 73% of on-demand cost.

The agency pattern: project-based

Some databases only need to run during active project sprints. SnoozeDB lets you pause a schedule entirely during quiet periods and reactivate it when a project resumes, without losing the configuration.

The global team pattern: overlap window only

If your team is split across Europe and the US West Coast, their overlap is roughly 2pm to 6pm CET. For dev databases that only need to be live during syncs, you can run an aggressive schedule outside those hours and save even more.

How to set up an RDS schedule with SnoozeDB

  1. Connect your AWS account via the CloudFormation stack (2 minutes). SnoozeDB gets read and stop/start access, scoped to RDS.
  2. Select the databases to schedule. SnoozeDB shows all your RDS instances and Aurora clusters. Production databases are flagged so you don't schedule them by accident.
  3. Choose your pattern: Business Hours, Custom, or a preset that fits your team type.
  4. Set your timezone. Schedules run in local time, not UTC.
  5. Save. SnoozeDB handles start, stop, the AWS 7-day auto-restart rule, and conflict detection with snapshots.

Frequently asked questions

Can I apply different schedules to different databases?

Yes. Each database gets its own schedule in SnoozeDB. You can have one pattern for your main dev database and a more aggressive schedule (weekends only off) for a heavier staging environment.

What happens during a deployment that runs late?

You can pause a schedule with one click directly from the dashboard. The database stays running, the schedule stays configured, and resumes automatically the next day.

Does scheduling affect RDS automatic backups?

AWS performs automated backups during the backup window you define in the RDS settings. SnoozeDB detects conflicts between the stop schedule and the backup window and warns you before saving.

Can I schedule Aurora clusters?

Yes. SnoozeDB supports both standard RDS instances (MySQL, PostgreSQL, SQL Server, Oracle) and provisioned Aurora clusters (MySQL and PostgreSQL compatible).

Further reading

Start scheduling your databases today

Connect your AWS account in 5 minutes. No code, no Lambda, no DynamoDB. Just a schedule that works.

14-day trial