plainstackBook a free call
← All guides

Databases8 min read

Do AWS Savings Plans cover RDS?

The console says "compute". RDS runs on compute. The conclusion is reasonable, and it is wrong.

By Plainstack/

This is the single most expensive misunderstanding in AWS commitment pricing, and it's an easy one to fall into. The Savings Plans console talks about "compute". RDS runs on compute. The conclusion is reasonable and it is wrong.

There is no such thing as an RDS Savings Plan

Worth stating plainly, because it's what people are usually searching for. AWS does not sell one. The instrument for RDS is a Reserved Instance, and it behaves differently: tied to an engine and an instance class rather than to a dollar-per-hour commitment.

What each instrument actually covers

WHAT THE RDS LINE IS ACTUALLY MADE OFSINGLE-AZInstance hoursStorageBackupsMULTI-AZInstance hours × 2StorageBackupsThe standby instance you never query is billed at the same rate as the one you do.
Savings Plans and Reserved Instances cover different halves of the bill. Nothing covers both.

| Instrument | Covers | Does not cover | | --- | --- | --- | | Compute Savings Plan | EC2, Fargate, Lambda | RDS, ElastiCache, OpenSearch, Redshift, DynamoDB | | EC2 Instance Savings Plan | EC2 in one family and region | Everything else, including Fargate and Lambda | | RDS Reserved Instances | RDS only, per engine and class | Anything that isn't RDS |

The word "Compute" in Compute Savings Plans means the EC2 family of services, not "anything that uses a CPU". Managed databases are billed as their own services and priced with their own commitment instruments.

How to tell whether this is you, in about two minutes

Open Cost Explorer, set the date range to last month, and group by usage type. Then look for two things:

  • A line like USE1-InstanceUsage:db.r6g.xlarge with a meaningful dollar figure. That's RDS running at on-demand rates.
  • A SavingsPlanCoveredUsage line. Check what services it actually applies to.

If the RDS usage lines are large and there is no ReservedInstance line beside them, every hour your databases run is being billed at the most expensive rate AWS offers.

The other quick check: RDS → Reserved instances in the console. An empty list is an unambiguous answer.

What it costs to leave alone

RDS is typically the second-largest line on an AWS bill after EC2 — often 15 to 25% of the total. A company spending $12,000 a month with $2,400 in RDS, running entirely on demand, is leaving a meaningful discount on the table every month for no reason other than nobody realising the Savings Plan didn't reach it.

Reserved Instance discount rates vary by engine, term, region and payment option, and AWS changes them — check the actual rate in your console rather than trusting any number you read, including AWS's headline figures, which assume the most aggressive three-year all-upfront case.

Buying RDS reservations without regretting it

The mechanics differ from Savings Plans in ways that matter.

Reservations are tied to engine and instance class. An RI for db.r6g.xlarge on PostgreSQL does not apply to db.m6g.xlarge, and does not apply to MySQL. Migrating engines or resizing an instance can strand a reservation you're still paying for.

Size classes have some flexibility, families do not. Within an instance family and region, RDS reservations offer size flexibility for some engines — so a reservation can partially cover a different size in the same family. It will not cross families.

Right-size before you reserve. This is the same rule as everywhere else and it bites harder here, because you're locking a specific instance class for a year. Reserving an oversized database means paying a discounted rate for capacity you were about to remove anyway. Work through the RDS guide first — especially turning off Multi-AZ where it isn't needed, because that halves the thing you're about to commit to.

Decide

Should you reserve this database?

Production, stable, right-sizedYes. It runs 24/7, the class isn't changing, and the discount is free money. One year, no upfront, unless you're certain about three.
Recently resizedWait a month. Confirm the new class holds under a full billing cycle before locking it in for a year.
Still oversizedFix that first. Reserving now locks in the waste at a discount, which is worse than paying on demand for another month.
Staging or devNo. Switch it off outside working hours instead — that saves more than a reservation would, and commits you to nothing.

The same logic applies to ElastiCache, OpenSearch and Redshift, which also have their own reserved-node pricing and are also not covered by any Savings Plan.

The others nobody remembers either

RDS gets noticed eventually because it's large. These are missed for longer:

  • ElastiCache — reserved nodes, same model, and cache clusters are routinely oversized so right-size first.
  • OpenSearch — reserved instances, and analytics clusters are the most over-provisioned thing in a typical account.
  • Redshift — reserved nodes, and a paused cluster costs nothing, which is often the better answer.
  • DynamoDB — not reservations but reserved capacity, and only worth it on predictable provisioned-throughput tables.

The order that works

  1. Right-size and switch off what shouldn't be running.
  2. Buy a one-year, no-upfront Compute Savings Plan for the EC2 side, sized to your 90-day floor.
  3. Buy RDS and ElastiCache reservations separately, for what's left after step one.
  4. Put every expiry date in a shared calendar the day you buy — commitments end silently and the bill jumps overnight.

The commitments guide covers sizing in more detail, including why you commit to the trough and not the peak.

If you'd rather see how much of your bill is sitting in uncovered database usage before working through any of this, the free teardown reads a Cost Explorer export in your browser and shows the service split — no signup, nothing uploaded.

Check your own account

Does this apply to you? Find out in two seconds.

Drop a Cost Explorer export into the free teardown. It reads your service mix and tells you which of these patterns show up in your bill — in your browser, with no upload and no email.