aws_ rds_ cluster cost estimation
An Aurora cluster (MySQL or PostgreSQL compatible). Priced by per-instance compute, storage by GB used, and I/O (Standard) or compute (I/O-Optimized).
An aws_
First, compute. Each Aurora instance (aws_
Second, storage. Aurora storage is "infinitely scalable" with no provisioning. You're billed only for the data you actually store, at roughly $0.10/GB-month. This is different from RDS, where you pay for provisioned size regardless of usage.
Third, I/O. This is the Aurora-specific dimension. The Standard storage configuration charges per million I/O operations ($0.20/M). The I/O-Optimized configuration eliminates I/O fees but charges higher compute rates (25-30% more). For I/O-intensive workloads (>25% of total cost in I/O), I/O-Optimized is cheaper. For write-light workloads, Standard wins.
Fourth, backup storage above the cluster size. Backups up to 100% of the cluster size are free. Beyond that, you pay $0.021/GB-month.
c3x reads engine, engine_
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_rds_cluster" "main" {
cluster_identifier = "production-aurora"
engine = "aurora-postgresql"
engine_version = "16.4"
database_name = "app"
master_username = "admin"
master_password = var.db_password
backup_retention_period = 14
storage_type = "aurora-iopt1"
skip_final_snapshot = false
}
resource "aws_rds_cluster_instance" "writer" {
cluster_identifier = aws_rds_cluster.main.id
identifier = "production-aurora-writer"
instance_class = "db.r6g.large"
engine = aws_rds_cluster.main.engine
}
resource "aws_rds_cluster_instance" "reader" {
cluster_identifier = aws_rds_cluster.main.id
identifier = "production-aurora-reader"
instance_class = "db.r6g.large"
engine = aws_rds_cluster.main.engine
}Pricing dimensions
What you actually pay for when you provision aws_.
| Dimension | Unit | What's being charged |
|---|---|---|
| Instance hours (provisioned) | per hour per instance | Each writer and reader instance is billed by class. Multiplied across instances. $0.29/hour for db.r6g.large PostgreSQL (Standard storage) |
| Aurora Serverless v2 ACU-hours | per ACU-hour | Serverless v2 scales ACUs from min_ $0.12/ACU-hour for PostgreSQL |
| Storage | per GB-month | Pay only for actual data stored, not provisioned size. Grows automatically. $0.10/GB-month (Standard) or $0.225/GB-month (I/O-Optimized) |
| I/O operations (Standard storage) | per 1M I/O | Read and write I/O operations. Eliminated in I/O-Optimized storage at the cost of higher compute and storage rates. $0.20/1M I/O |
| Backup storage (above cluster size) | per GB-month | Backups up to 100% of cluster size are free. $0.021/GB-month |
Optimization tips
Common ways to reduce aws_ cost without changing the workload.
Use I/O-Optimized storage for write-heavy workloads
Workload-dependent, often 10-30%If I/O exceeds 25% of your bill on Standard storage, I/O-Optimized is cheaper. Compute is 25-30% more expensive but I/O is free.
Use Aurora Serverless v2 for variable workloads
30-70% on variable workloadsServerless v2 scales ACUs by demand. For low or variable utilization (dev, internal tools, multi-tenant SaaS), it's much cheaper than a fixed db.r6g.large running 24/7.
Buy reserved instances for steady-state clusters
30-60%Aurora reserved instances cut compute by 30-60%. Right for production clusters with stable instance count.
Use Graviton instances (db.r6g, db.r7g, db.r8g)
10-20%Graviton Aurora instances are 10-20% cheaper than equivalent Intel sizes (db.r5, db.r6i) with similar or better performance.
FAQ
What's the difference between aws_ db_ instance and aws_ rds_ cluster?
aws_
How does I/O-Optimized storage save money?
Standard storage bills per I/O operation. For databases with high read/write throughput, I/O can be a third or more of total cost. I/O-Optimized eliminates I/O fees but charges 25-30% more for compute and 2.25x more for storage. Crossover is around 25% I/O share of total bill.
Does c3x estimate Aurora Serverless v2 cost?
Yes. c3x reads min_
Are read replicas counted separately?
Yes. Each aws_
Related resources
More AWS resources
Further reading
- Aurora Global Database cost: what cross-region replication really adds
Aurora Global Database gives sub-second cross-region replication and fast disaster recovery, but it bills replicated write I/O, storage in every region, secondary instances, and cross-region transfer. Here is the full cost breakdown and how to keep a global database from multiplying your bill.
- Aurora I/O Optimized: when it actually pays off
Aurora I/O Optimized eliminates per-I/O charges but adds ~30% to instance/storage rates. The break-even is around 25% I/O share of total cost. Here's the math, when to switch, and how to apply it in Terraform.
- Aurora Serverless v2 cost explained: ACUs and when it pays off
Aurora Serverless v2 scales database capacity in fine-grained Aurora Capacity Units and bills per ACU-hour. It can save money on variable workloads but cost more on steady ones. Here is how the pricing works and when to use it.
- AWS DocumentDB cost: instance hours, storage, and I/O add up
DocumentDB bills like Aurora: instance hours per node, $0.10 per GB-month of storage, and $0.20 per million I/O requests. On a busy cluster the I/O line often rivals compute. Here is the full breakdown and where to cut.
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_.