- An RDS bill has five main parts: instance hours, provisioned storage (and IOPS), backup storage above the free allowance, data transfer, and optional features such as RDS Proxy or Extended Support.
- Multi-AZ with one standby roughly doubles both the instance rate and the storage rate, because AWS runs and stores a second copy of the database.
- Backup storage is free up to the total storage you have provisioned in a Region; you pay only for the excess.
- Reserved Instances (1 or 3 years) and Database Savings Plans (1 year) lower the instance rate in return for a commitment; neither discounts storage.
- Our worked estimates for RDS for PostgreSQL range from about 14 USD a month (small dev database) to about 455 USD a month (Multi-AZ plus a read replica), before tax.
How AWS RDS pricing works
AWS RDS pricing is pay as you go: the RDS pricing page states that you pay only for what you use with no minimum fees, choosing between On-Demand and Reserved Instances. Each engine (PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2) has its own pricing page, and rates differ by Region, instance class and deployment option, so an Amazon RDS cost estimate always starts with those three choices.
According to the Amazon RDS FAQs, your bill is built from DB instance hours, provisioned storage per GB-month, I/O requests (magnetic storage and Aurora only), provisioned IOPS, backup storage and data transfer. The sections below take each in turn. If you are new to the service, start with what Amazon RDS is.
| Charge | How it is measured | Notes |
|---|---|---|
| DB instance hours | Per hour the instance runs, billed per second after a 10-minute minimum | Rate depends on instance class, engine, Region and deployment option |
| Storage | Per GB-month provisioned | gp3, gp2, io1 or io2; Multi-AZ storage costs double |
| Provisioned IOPS and throughput | Per IOPS-month or MiB/s-month provisioned | Only for Provisioned IOPS volumes, or gp3 above its baseline |
| Backup storage | Per GiB-month above the free allowance | Free up to your total provisioned storage in the Region |
| Data transfer | Per GB | Internet egress and cross-AZ or cross-Region traffic; replication to a Multi-AZ standby is free |
| Optional extras | Varies | RDS Proxy, Extended Support, snapshot export, public IPv4 addresses |
Instance hours: the largest line for most databases
The instance is usually the biggest cost. AWS bills per DB instance-hour from launch until the instance is stopped or deleted, and the PostgreSQL pricing page says partial hours are billed in one-second increments with a 10-minute minimum after a billable status change such as creating, starting or modifying the instance. Burstable classes (db.t3, db.t4g) run in Unlimited mode, so sustained CPU above the baseline adds CPU credit charges.
Stopping an instance stops the instance-hour charge but not the storage charge: the RDS User Guide states that while an instance is stopped you are still charged for provisioned storage and backup storage, and a stopped instance restarts automatically after 7 days. For dev and test databases this is the simplest way to cut cost; see the RDS free tier guide for other ways to avoid surprise charges.
Storage and IOPS
You choose General Purpose SSD (gp3 or the older gp2) or Provisioned IOPS SSD (io1 or io2). The RDS pricing page lists General Purpose capacity from 20 GiB to 64 TiB and Provisioned IOPS volumes from 1,000 to 256,000 IOPS and 100 GiB to 64 TiB. Magnetic storage is deprecated and no longer offered for new instances.
For PostgreSQL, MySQL, MariaDB and Db2, the RDS storage documentation lists a gp3 baseline of 3,000 IOPS and 125 MiB/s for volumes from 20 to 399 GiB, rising to 12,000 IOPS and 500 MiB/s from 400 GiB, where you can provision more IOPS and throughput for an extra charge. Small databases therefore pay only the per-GB rate. Provisioned IOPS volumes charge for both the storage and the IOPS you provision, whether you use them or not.
Backup storage and data transfer costs
Backups. The Amazon RDS FAQs state that free backup storage is provided up to your account's total provisioned database storage across the Region, and only the excess is charged. Longer retention periods and extra manual snapshots grow backup storage; snapshots you keep after deleting an instance are billed until you delete them. The RDS backups guide covers retention and restores.
Data transfer. Traffic between RDS and EC2 in the same Availability Zone is free, and so is replication between Availability Zones for Multi-AZ deployments. Traffic between an EC2 instance and an RDS instance in different Availability Zones follows the standard EC2 regional rate. Data sent out to the internet, and cross-Region copies of snapshots or read replicas, are charged per GB. A publicly accessible instance also incurs the standard public IPv4 address charge.
Multi-AZ, read replicas and Reserved Instances
Multi-AZ. A Multi-AZ DB instance deployment keeps a synchronous standby in another Availability Zone. For the classes in the price table below, the Multi-AZ instance rate is twice the Single-AZ rate, and Multi-AZ gp3 storage is twice the Single-AZ storage rate; check other classes on the pricing page, as the ratio is not identical for every class. Multi-AZ DB clusters (two readable standbys) are priced separately. The trade-offs are explained in Multi-AZ vs read replicas.
Read replicas are billed as standard DB instances at the same rate as their instance class, plus their own storage; replication traffic within a Region is free.
Reserved Instances and Savings Plans. RDS Reserved Instances run for one or three years with No Upfront, Partial Upfront or All Upfront payment; AWS says No Upfront is only offered on a one-year term, and the Region, engine, instance class, deployment type and term cannot be changed after purchase. AWS quotes savings of up to 69% for steady-state use. Database Savings Plans are a newer, more flexible option: a one-year commitment measured in dollars per hour that AWS says reduces database costs by up to 35% across engines, instance families and Regions. You cannot combine a Savings Plan and a Reserved Instance on the same workload, and neither covers storage or I/O.
How to reduce your Amazon RDS cost
- Right-size the instance class first; it is usually the largest line.
- Stop dev and test instances when idle (they restart after 7 days), or delete them and keep a snapshot.
- Use gp3 under 400 GiB unless you need guaranteed IOPS; pay for Provisioned IOPS only when latency demands it.
- Keep backup retention and manual snapshots in line with your recovery needs, and delete old snapshots.
- Commit with Reserved Instances or a Database Savings Plan once usage is steady.
- Upgrade engine versions before they reach end of standard support to avoid RDS Extended Support charges.
- Keep the database private and in the same Availability Zone as the busiest application servers where you can.
To compare RDS with alternatives, see AWS RDS vs Azure SQL Database, AWS RDS vs Google Cloud SQL and Amazon RDS vs Amazon Aurora.
Pricing
Prices from the provider's official pricing pages, checked 8 October 2026, region US East (N. Virginia), in USD, excluding tax. List prices only; discounts, commitments and your actual usage change the bill.
Rates below are for RDS for PostgreSQL (no licence included), read from the AWS price data that the RDS for PostgreSQL pricing page displays. Other engines have their own price lists (SQL Server and Oracle licence-included rates also cover the licence), so check the page for your engine. Backup storage beyond the free allowance is listed at 0.095 USD per GiB-month, internet data transfer out at 0.09 USD per GB for the first 10 TB a month, and cross-AZ traffic between EC2 and RDS at 0.01 USD per GB in each direction. CPU credits for T-class instances above baseline cost 0.075 USD per vCPU-hour.
For comparison, a 1-year No Upfront Reserved Instance lists db.m8g.large at 0.113 USD per hour Single-AZ and 0.225 USD per hour Multi-AZ, against 0.168 and 0.336 USD On-Demand. RDS Extended Support for an engine version past end of standard support adds a per-vCPU hourly charge; AWS's own N. Virginia example is 0.100 USD per vCPU-hour in the first year.
| Item | Single-AZ | Multi-AZ (one standby) |
|---|---|---|
| db.t4g.micro (2 vCPU, 1 GiB) | 0.016 USD per hour | 0.032 USD per hour |
| db.m8g.large (2 vCPU, 8 GiB) | 0.168 USD per hour | 0.336 USD per hour |
| db.m8g.large, 1-year RI, No Upfront | 0.113 USD per hour | 0.225 USD per hour |
| General Purpose SSD (gp3) storage | 0.115 USD per GB-month | 0.23 USD per GB-month |
| Provisioned IOPS SSD (io1) storage | 0.125 USD per GiB-month | 0.25 USD per GiB-month |
| Provisioned IOPS (io1) | 0.10 USD per IOPS-month | 0.20 USD per IOPS-month |
| Backup storage above free allowance | 0.095 USD per GiB-month | 0.095 USD per GiB-month |
Example 1: development database
- RDS for PostgreSQL, db.t4g.micro, Single-AZ, On-Demand, running all month (730 hours)
- 20 GB gp3 storage (below 400 GiB, so the 3,000 IOPS baseline is included)
- Default backups that stay within the free allowance (backup storage not above 20 GB)
- Excluded: CPU credits above baseline, data transfer, public IPv4 address, tax, free tier credits
| Item | Basis | Estimated per month |
|---|---|---|
| Instance | 730 hours x 0.016 USD | 11.68 USD |
| Storage | 20 GB x 0.115 USD | 2.30 USD |
| Backup storage | Within free allowance | 0.00 USD |
| Estimated total | About 13.98 USD per month |
Example 2: small production database
- RDS for PostgreSQL, db.m8g.large, Single-AZ, On-Demand, 730 hours
- 100 GB gp3 storage
- 130 GB of backup storage in the Region, so 30 GB is above the 100 GB free allowance
- 50 GB a month of data transfer out to the internet
- Excluded: Multi-AZ, cross-AZ traffic, public IPv4 address, tax
| Item | Basis | Estimated per month |
|---|---|---|
| Instance | 730 hours x 0.168 USD | 122.64 USD |
| Storage | 100 GB x 0.115 USD | 11.50 USD |
| Backup storage | 30 GB x 0.095 USD | 2.85 USD |
| Data transfer out | 50 GB x 0.09 USD | 4.50 USD |
| Estimated total | About 141.49 USD per month |
Example 3: high-availability production database
- RDS for PostgreSQL, db.m8g.large, Multi-AZ with one standby, On-Demand, 730 hours
- 200 GB gp3 storage on the Multi-AZ primary
- One db.m8g.large Single-AZ read replica with its own 200 GB gp3 volume
- Backup storage within the free allowance; 200 GB a month of data transfer out to the internet
- Excluded: RDS Proxy, cross-AZ traffic to application servers, public IPv4 addresses, tax
| Item | Basis | Estimated per month |
|---|---|---|
| Primary instance (Multi-AZ) | 730 hours x 0.336 USD | 245.28 USD |
| Primary storage (Multi-AZ) | 200 GB x 0.23 USD | 46.00 USD |
| Read replica instance | 730 hours x 0.168 USD | 122.64 USD |
| Read replica storage | 200 GB x 0.115 USD | 23.00 USD |
| Data transfer out | 200 GB x 0.09 USD | 18.00 USD |
| Estimated total | About 454.92 USD per month (instances on 1-year No Upfront RIs instead: 730 x 0.225 + 730 x 0.113 = 246.74 USD, saving about 121.18 USD a month) |
Worked examples are estimates calculated from the list prices above; they are not quotes or measured bills.
Frequently asked questions
How much does Amazon RDS cost per month?
It depends on the instance class, storage and Region. Using US East (N. Virginia) list prices checked in October 2026, a small db.t4g.micro PostgreSQL database with 20 GB of gp3 storage works out at about 14 USD a month, a db.m8g.large with 100 GB at about 141 USD, and a Multi-AZ db.m8g.large with a read replica at about 455 USD, before tax.
Is RDS charged when the instance is stopped?
Partly. AWS stops charging instance hours while an instance is stopped, but you still pay for provisioned storage, Provisioned IOPS and backup storage. A stopped instance starts again automatically after 7 days.
Does Multi-AZ double the RDS cost?
For a Multi-AZ DB instance deployment with one standby, the listed instance rates for db.t4g.micro and db.m8g.large and the gp3 storage rate are all twice the Single-AZ rates in US East (N. Virginia). Backup storage is charged the same way for Single-AZ and Multi-AZ, and replication traffic to the standby is free.
How much do RDS read replicas cost?
A read replica is billed as a standard DB instance at the rate of its instance class, plus its own storage. AWS does not charge for replication traffic between the source and a replica in the same Region; cross-Region replicas incur data transfer charges.
Are Reserved Instances or Savings Plans better for RDS?
Reserved Instances can save more (AWS quotes up to 69%) but lock the Region, engine, class, deployment type and term. Database Savings Plans (up to 35%, one-year term) apply across engines, instance families and Regions. You cannot stack both on the same workload.
Sources
- Amazon RDS pricing
- Amazon RDS for PostgreSQL pricing
- AWS price data: RDS for PostgreSQL On-Demand (all Regions)
- AWS price data: RDS for PostgreSQL 1-year No Upfront RIs, Single-AZ, US East (N. Virginia)
- AWS price data: RDS for PostgreSQL 1-year No Upfront RIs, Multi-AZ, US East (N. Virginia)
- AWS price data: data transfer
- Amazon RDS Reserved Instances
- Database Savings Plans pricing
- Amazon RDS FAQs
- Amazon RDS User Guide: DB instance storage
- Amazon RDS User Guide: Stopping a DB instance
- Amazon RDS User Guide: Read replicas
Checked 8 October 2026.
How we research cloud database guides: our editorial method. CodeWithSQL earns nothing from the providers mentioned.