New See exactly what you're overpaying AWS in under 60 seconds. Try the Calculator for free →

RDS Storage Cost: How gp3, io1, and io2 Are Priced

Understand RDS storage pricing and choose between gp3, io1, and io2 based on your workload’s performance and cost requirements.
Updated September 2, 2026
15 min read
RDS Storage Costs: gp3 vs io1 vs Magnetic, With Exact Rates, IOPS Math, and the April 2026 Magnetic Deprecation
In this article
Key takeaways
1
RDS storage cost goes beyond the per-GB charge. Storage type, IOPS, throughput, deployment, and backups can all affect your bill.
2
gp3 is AWS’s recommended general-purpose SSD option. It provides a predictable baseline with independent storage.
3
io2 Block Express offers higher durability and performance limits than io1. For new Provisioned IOPS deployments, evaluate io2 alongside your workload requirements.
Understanding RDS storage cost is more complicated than multiplying storage by a per-GB rate.

Amazon RDS offers multiple storage types, including gp3, io1, and io2 Block Express. Each storage option uses a different pricing model and supports different performance characteristics.

Storage costs can also increase when you provision additional IOPS, add throughput, use a Multi-AZ architecture, or retain large amounts of backup data.

Many teams focus on DB instance costs while overlooking storage configuration. In practice, overprovisioned IOPS, unsuitable storage choices, and outdated pricing assumptions can create unnecessary database spend.

This guide explains how Amazon RDS storage pricing works, compares gp3, io1, and io2 Block Express, and provides a practical framework for selecting storage based on measured workload requirements.

The Short Answer

Start with gp3 if it satisfies your measured latency, IOPS, throughput, and durability requirements.

For workloads that require consistently high IOPS, predictable low-latency performance, or enhanced durability guarantees, evaluate io2 Block Express.

AWS positions Provisioned IOPS storage for I/O-intensive workloads that require consistent performance and low latency.

Moreso, Magnetic storage has been fully deprecated. According to the Amazon RDS storage documentation, Amazon RDS has completed migration of existing magnetic storage volumes to gp3, and snapshots can no longer be restored to magnetic storage.

How RDS Storage Costs Are Calculated

RDS storage pricing depends on multiple components, not just allocated storage.

Depending on the storage type and deployment configuration, your monthly storage-related bill can include:
  • Allocated storage, measured in GB-month
  • Provisioned IOPS
  • Provisioned throughput
  • Multi-AZ deployment-related storage charges
  • Backup storage beyond the included allocation
  • Data transfer and other service-specific charges
The exact pricing varies by Region, database engine, deployment architecture, and storage configuration.

The current AWS pricing structure is published on the Amazon RDS pricing page.

Our Amazon RDS Reserved Instances guide explains how Reserved DB Instances work and where they fit into an RDS cost strategy.

Example RDS Storage Cost Calculation

Consider an Amazon RDS for PostgreSQL Single-AZ deployment in US East (N. Virginia) using io2 Block Express with 1,024 GiB of storage and 3,000 provisioned IOPS.

Using the published rates of $0.125 per GiB-month for storage and $0.10 per provisioned IOPS-month, the estimated monthly storage charge is:
Component Calculation Monthly Cost
Storage 1,024 GiB × $0.125 $128
Provisioned IOPS 3,000 × $0.10 $300
Total storage-related cost $428
Note: This estimate includes storage and provisioned IOPS only. It excludes DB instance charges, backup storage beyond the included allocation, data transfer, taxes, and other applicable Amazon RDS charges.

For io2 Block Express, maximum throughput depends on provisioned IOPS, I/O size, database engine, storage size, and DB instance limits rather than a separately provisioned throughput setting. See Amazon RDS storage specifications

For gp3, configuration limits must be checked before calculating cost. For example, at 2 TiB, RDS for PostgreSQL has a 12,000-IOPS and 500-MiB/s baseline, so an 8,000-IOPS configuration cannot be modeled as “3,000 included + 5,000 additional IOPS.”

For a different gp3 configuration, calculate the storage and provisioned-performance components using the applicable engine, Region, storage size, deployment type, IOPS, and throughput. See Amazon RDS for PostgreSQL pricing.

For a different configuration, use the AWS Pricing Calculator to model the applicable storage, IOPS, deployment, engine, and instance costs.

Why Multi-AZ Matters

Deployment architecture also affects storage economics.

Multi-AZ deployments maintain redundant database infrastructure across Availability Zones. Consequently, the storage-related cost structure differs from a Single-AZ deployment.

When building an RDS cost model, include the actual deployment architecture rather than multiplying a Single-AZ storage estimate across a production environment.

The Most Common RDS Storage Pricing Mistake

One common modeling error is using Amazon EBS pricing when estimating RDS storage costs.

Although Amazon RDS uses AWS storage infrastructure, RDS storage pricing is not simply the same as standalone EBS pricing.

For example, RDS gp3 has its own pricing structure and included performance characteristics. A spreadsheet based directly on EBS rates can therefore produce an incorrect RDS cost estimate.

Also read: EBS Snapshot Cost and ELB Pricing: What You Are Actually Paying For

Understanding RDS Storage Types

gp3: General Purpose SSD Storage

gp3 is AWS’s recommended general-purpose SSD storage option for Amazon RDS.

It provides a predictable performance baseline and, in supported configurations, allows storage, IOPS, and throughput to be managed independently.

Key characteristics include:
  • SSD-backed storage
  • Included baseline performance
  • Independent scaling of storage and performance in supported configurations
  • Broad applicability across development, test, staging, and production workloads
gp3 is a useful starting point when its performance characteristics meet the workload’s measured requirements.

io1: Provisioned IOPS SSD Storage

io1 is designed for workloads that require provisioned storage performance. Unlike gp3, io1 charges for provisioned IOPS from the first IOPS rather than providing the same included performance baseline.

io1 has historically been used for production databases requiring predictable storage performance.

For new high-performance deployments, however, io2 Block Express should also be evaluated because it provides higher durability and higher performance limits in supported configurations.

io2 Block Express

io2 Block Express is a Provisioned IOPS storage option designed for demanding RDS workloads.

According to the Amazon RDS storage documentation, supported configurations can provide:
  • Up to 256,000 IOPS
  • Up to 16,000 MiB/s throughput in supported engine, storage-size, I/O-size, and DB instance configurations
  • Sub-millisecond latency
  • 99.999% durability
Actual IOPS and throughput limits depend on the database engine, allocated storage, I/O size, DB instance class, and other configuration requirements.

For existing io1 workloads, supported configurations can also be migrated to io2 Block Express without changing the database engine.

If you are comparing RDS with another AWS database architecture, see our RDS vs. Aurora cost comparison for the broader cost considerations.

Storage Limits Vary by Engine and Configuration

Storage performance limits are not universal across Amazon RDS. Maximum IOPS and throughput can vary according to:
  • Database engine
  • Storage type
  • Allocated storage
  • DB instance class
  • Nitro support
  • Deployment architecture
  • I/O size
For example, supported Db2, MariaDB, MySQL, PostgreSQL, and certain Oracle configurations can reach different io2 Block Express throughput limits depending on the underlying configuration.

A Practical Tip:

Before selecting a storage type, consult the Amazon RDS storage specifications and limitations for the specific engine and configuration.

Which RDS Storage Type Should You Choose?

Decision framework for choosing Amazon RDS gp3, io1, or io2 storage based on latency, IOPS, throughput, and durability requirements
The right storage type depends on measured performance requirements rather than a workload label such as “production” or “development.”

Start with these questions

  1. What latency target must the application meet?
  2. What are peak and sustained IOPS requirements?
  3. What throughput is required during peak activity?
  4. Does the workload require enhanced durability characteristics?
  5. Is storage actually the performance bottleneck?
  6. Is the DB instance class capable of delivering the required storage performance?
  7. Are there engine-specific storage limits that affect the configuration?

Decision framework

Requirement Starting point
Workload fits within gp3 performance characteristics gp3
Consistently high IOPS requirements io2 Block Express
Strict low-latency requirements io2 Block Express
Enhanced durability requirements io2 Block Express
Existing io1 deployment Evaluate io2 Block Express
This is a starting framework, not a universal rule.

For example, a PostgreSQL workload that consistently requires very high IOPS and strict latency targets may justify io2 Block Express. Another production database may perform well on gp3 if its measured requirements remain within gp3’s capabilities.

The decision should follow observed workload behavior rather than the environment being labeled “production.”

If you are comparing broader database economics, our Amazon RDS pricing guide provides additional context on RDS pricing and commitment options.

Common Mistakes That Increase RDS Storage Costs

Overprovisioning IOPS

Provisioning substantially more IOPS than the workload consumes can increase storage costs without improving application performance.

Review database and storage performance metrics before increasing provisioned IOPS. Confirm that storage performance is actually limiting the workload.

Ignoring the DB Instance Class

Storage does not operate independently from the rest of the database configuration.

A storage configuration may support a particular IOPS or throughput level while the selected DB instance class imposes a lower practical ceiling.

Evaluate the storage and instance configuration together.

Focusing Only on Storage Size

Allocated storage is only one component of RDS cost.

Provisioned IOPS, throughput, backup storage, and deployment architecture can materially change the final bill.

Using Outdated Storage Assumptions

Magnetic storage is no longer available for new deployments or snapshot restores.

If an older cost model still includes magnetic storage assumptions, update the model to reflect the current RDS storage options documented by AWS.

How Usage.ai Fits

Choosing the right storage type helps establish an efficient technical baseline. Once you’ve optimized storage, IOPS, throughput, and deployment architecture, the next question is whether predictable RDS usage should be covered by a commitment.

At Usage.ai, we help teams manage eligible Amazon RDS commitments as usage changes over time. Rather than relying on manual forecasting and one-time purchasing decisions, Usage.ai continuously evaluates commitment coverage and commitment risk.

With Flex Insured Commitments, teams can get the up to 69% savings of a 3-year Amazon RDS Reserved Instance commitment with none of the commitment.

If an eligible Flex Commitment costs more than equivalent pay-as-you-go usage, we provide cashback protection to help cover the difference. See our cashback documentation for details.

The result is a managed commitment strategy that helps organizations pursue available AWS database discounts while reducing long-term commitment exposure.
OPTIMIZE YOUR RDS COSTS
Make RDS Storage Work Smarter.

Choose the right storage, performance, and cost balance for your RDS workloads—with confidence.

Frequently asked questions

What affects RDS storage cost?

RDS storage cost can include allocated storage, provisioned IOPS, provisioned throughput, deployment architecture, backup storage, and other applicable service charges. The exact components depend on the storage type and configuration.

Is gp3 cheaper than io1?

gp3 and io1 use different pricing structures. gp3 includes baseline performance, while io1 charges for provisioned IOPS. Which option costs less depends on storage size and the performance requirements of the workload.

Should I choose io1 or io2?

For new Provisioned IOPS deployments, io2 Block Express should be evaluated where the workload requires high IOPS, low latency, or enhanced durability. Existing io1 deployments can also be evaluated for migration where the configuration supports io2.

Does Multi-AZ increase RDS storage costs?

Multi-AZ changes the infrastructure and storage cost structure because database resources are maintained across Availability Zones. Cost models should therefore use the actual deployment architecture rather than a Single-AZ assumption.

How do I choose between gp3 and io2?

Start with measured latency, IOPS, throughput, and durability requirements. Choose gp3 when it satisfies those requirements. Evaluate io2 Block Express when the workload needs performance or durability characteristics beyond what gp3 can provide.

Share
Facebook
X
LinkedIn
Reddit
Cut cloud cost with automation
Latest from our blogs