All cheat sheets
Databasescheat sheet

Redshift Pause and Resume

A Redshift cluster used 9-to-5 still bills 24/7. Pause stops the compute meter (storage keeps billing, resume takes 3–5 min, data intact). Automate it with EventBridge + a 15-line Lambda and a business-hours cluster drops from 168 to ~50 billed hours/week.

Last reviewed: July 14, 2026

TL;DR: A provisioned Redshift cluster used only during business hours bills all 168 hours a week unless you pause it. Pause (2019) shuts down the compute nodes and stops the hourly compute meter — storage keeps billing (pennies by comparison), and resume brings everything back in 3–5 minutes with data, users, and config intact. The savings only compound when you automate it with EventBridge + a tiny Lambda so nobody has to remember.

The numbers

  • Small dc2.large × 2 (~$0.50/hr) 24/7 ≈ $360/mo. Pause nights (6 PM–8 AM) + weekends ≈ 118 paused hours/week, ~50 active → ~$110/mo, saving $250/mo ($3,000/yr) on a tiny cluster.
  • Scales linearly with nodes and class: a 4-node ra3.xlplus (~$1.40/hr/node) on the same schedule saves closer to ~$2,400/mo.
  • Paused = storage only (single-digit % of a typical bill); compute stops cleanly.
  • Field examples: a business-hours reporting cluster went $720 → ~$215/mo ($505 saved); a dev/test ra3.xlplus × 2 went ~$1,008 → ~$462/mo ($6,552/yr).

Do this

  1. Automate with EventBridge → Lambda → Redshift API — two cron rules and ~15 lines of boto3 calling pause_cluster / resume_cluster (AWS publishes a copy-paste sample):
    cron(0 18 ? * MON-FRI *)   # pause weekdays 6 PM
    cron(0 8  ? * MON-FRI *)   # resume weekdays 8 AM
    
    Or once-a-week: pause Friday 6 PM (FRI), resume Monday 8 AM (MON).
  2. Schedule resume 5–10 minutes early — it takes 3–5 min, so fire it before the earliest user query, not at the same moment.
  3. Start with non-prod — get the schedule and Lambda right on a dev cluster before touching anything customer-facing.
  4. Tell the humans — paused clusters refuse connections, so dashboards, ETL schedulers, and after-hours analysts need to know the window.
  5. Tag the cluster and watch Cost Explorer — pause savings show up cleanly in the Redshift service line within a billing cycle.

Gotchas

  • Resume is 3–5 minutes, not instant — schedule the lead time; queries during the paused window get an error, not a slow response.
  • Manual scheduling won't stick — calendar reminders work for two weeks, then someone forgets; the savings only compound if automated.
  • Pause is not scale-to-zero — you still pick and manage cluster sizing.
  • Reserved Instances bill whether paused or not — they pair only with the active hours of a schedule; don't expect pausing to save on RI-covered hours.

Skip this if

  • The cluster genuinely runs 24/7 under load — there's no idle window to exploit; the right conversation is Redshift Reserved Nodes instead.
  • Usage is bursty, customer-driven, or unpredictable — manual scheduling becomes a headache; Redshift Serverless scales to zero on its own without any schedule.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account's Amazon Redshift clusters for
pause/resume scheduling savings. Use the AWS CLI with READ-ONLY
credentials. Do not create, modify, or delete anything — report findings
and recommended (unapplied) fixes only.

1. Inventory: aws redshift describe-clusters — capture ClusterStatus,
   NodeType, NumberOfNodes, and any existing pause/resume schedules
   (describe-scheduled-actions). Estimate $/hr from node type × count.
2. Idle windows: pull CloudWatch AWS/Redshift metrics — connections,
   queries, CPUUtilization hourly over 14-30 days. Identify predictable
   idle stretches (nights, weekends) per cluster. Non-prod (dev/test,
   reporting/BI) clusters are prime candidates.
3. Savings math: current 24/7 = $/hr × 730. Scheduled = $/hr × active
   hours/wk × 4.33. Show the delta per cluster (a business-hours cluster
   is ~50 active hrs vs 168).
4. RI interaction: flag clusters already covered by Reserved Instances —
   RIs bill whether paused or not, so pausing only helps the ACTIVE
   hours of a schedule, not the idle ones.

Report a table: cluster | node type × count | $/hr | current $/mo |
proposed schedule | est. $/mo saved | notes (resume lead time, RI
overlap, Serverless alternative). Change nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The Redshift Pause and Resume walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough