Explanation
Why the waste happens and who it affects.
Every night and weekend hour is billed at the full node-hour rate for every node, even though the cluster has no connections for most of that time.
Redshift supports pausing a provisioned cluster, which suspends on-demand compute billing while keeping the data, and supports recurring scheduled pause and resume actions. The waste affects teams that keep one or more full-size non-production copies of a production warehouse, and it is invisible in utilization reviews that only look at daily averages.
Billing model
The pricing dimensions that drive this cost.
Pausing changes what a provisioned cluster is billed for.
- Available cluster
- Each compute node is billed per hour at the on-demand rate for as long as the cluster is available
- Paused cluster
- On-demand compute billing is suspended, and only the cluster's storage continues to incur charges
- Pause and resume transitions
- Partial hours are billed in one-second increments after a billable status change such as pausing or resuming
- Reserved nodes
- Billed for every hour of the term regardless of whether the cluster is running, so pausing a reserved cluster saves nothing on compute
How to detect
5 checks to find it in your estate.
- Identify non-production clusters by tag, account or naming convention and list their scheduled actions (for example with the describe-scheduled-actions CLI command) to find clusters with no pause and resume schedule
- Plot DatabaseConnections and CPUUtilization at hourly granularity over several weeks; long daily and weekend windows with zero connections indicate a cluster that could be paused
- Check SYS_QUERY_HISTORY for the time ranges when user and ETL queries actually run, including any overnight test or load jobs that a schedule must allow for
- Confirm the cluster is billed on-demand rather than covered by reserved nodes, since pausing only reduces on-demand compute charges
- Check that the cluster is eligible to pause: EC2-Classic clusters, HSM clusters and clusters with automated snapshots turned off cannot be paused
How to fix
5 ways to remove the waste.
- Create a recurring pause and resume schedule for the hours the cluster is not needed; the Redshift console creates two scheduled actions, suffixed -pause and -resume, for the chosen date range
- Allow for resume time in the schedule: resuming can take several minutes before queries can run, and query performance can be affected for a period while the cluster re-hydrates
- Update CloudWatch alarms that fire on missing metrics, because a paused cluster does not emit hardware metrics, and move maintenance-sensitive scheduled actions (snapshots, resizes) to hours when the cluster is running, since they are not performed while paused
- Keep reserved node coverage for production clusters that run continuously, and leave schedulable non-production clusters on on-demand pricing so pausing actually reduces cost
- For non-production workloads with short, unpredictable bursts of use, evaluate Redshift Serverless, which does not bill compute when no queries are running
Documentation
Vendor references for pricing and configuration.