RDS vs Aurora vs Aurora Serverless: A Real-World Cost Comparison for AWS Databases

Mydbops
Jun 10, 2025
10
Mins to Read
All
Cost Comparison for AWS Databases
Cost Comparison for AWS Databases

Cost-Benefit Analysis: RDS vs Aurora vs Aurora Serverless

Choosing between RDS, Aurora, and Serverless involves navigating distinct pricing models. Cost efficiency depends heavily on matching the service's model to the application's workload pattern and resource consumption profile.

Pricing Models

The total cost typically comprises compute, storage, I/O, data transfer, and backup charges.

Compute Costs:

  • RDS & Aurora Provisioned: Billed primarily based on instance hours consumed. Pricing varies by instance type (e.g., db.t3.micro, db.r6g.large), engine, and region. Offers two main purchasing options:

    On-Demand
    : Pay per hour (or per second with a minimum duration, e.g., 10 minutes) with no long-term commitment. Provides maximum flexibility but at the highest hourly rate. Ideal for development, testing, or unpredictable short-term workloads.

    Reserved Instances (RIs)
    : Commit to using a specific instance type in a region for a 1- or 3-year term in exchange for significant discounts (up to 69-72% compared to On-Demand). Best suited for steady-state, predictable workloads where utilization is consistently high.
  • Aurora Serverless v1/v2: Billed based on Aurora Capacity Unit (ACU) hours consumed, calculated on a per-second basis with a minimum duration. One ACU typically represents approximately 2 GiB of memory along with associated vCPU and networking capacity. The number of ACUs scales automatically based on load within the configured min/max range. Serverless v2 recently introduced the ability to scale down to 0 ACUs, potentially eliminating compute costs entirely during idle periods (though storage costs remain). Serverless v2 also supports RIs applied to the minimum configured ACU capacity, offering savings for the baseline load.

Type Pricing Model Billing Details Ideal For Cost Optimization
RDS / Aurora Provisioned On-Demand Billed per hour/second with 10-min minimum. Dev, test, or short-term workloads. Max flexibility, highest hourly rate.
RDS / Aurora Provisioned Reserved Instances 1–3 year commitment for specific instances. Steady-state and predictable workloads. Up to 72% discount vs On-Demand.
Aurora Serverless v1/v2 ACU-Based Per-second billing based on ACUs. Spiky or unpredictable workloads. Auto-scales; v2 can scale to 0 ACUs.
Aurora Serverless v2 Reserved ACU Reserved pricing applies to min ACU set. Baseline workloads with burst capacity. Lowers base cost, retains burst scale.

Storage Costs:

  • RDS: Charges are based on the amount of storage provisioned per GB-month. Different storage types (gp2, gp3, io1, io2, magnetic) have different per-GB costs. Users must provision enough storage to accommodate peak data size, even if average usage is lower.
  • Aurora (All variants - Provisioned, Serverless v1, Serverless v2): Charges are based on the actual storage space consumed by the database volume, billed per GB-month. The volume grows and shrinks automatically as data is added or removed (up to 128 TiB). This pay-for-what-you-use model can be more cost-effective than RDS if provisioned RDS storage is significantly underutilized. The Aurora I/O-Optimized configuration has a higher per-GB storage rate compared to Aurora Standard (e.g., $0.225/GB-month vs. $0.10/GB-month in one pricing example).

Service Billing Model Details Optimization Insight
RDS Provisioned Storage Billed per GB-month based on storage type (gp2, gp3, io1, io2, magnetic). Must provision for peak storage even if average use is lower — can lead to overpayment.
Aurora (All Variants) Dynamic Consumption Billed for actual usage per GB-month. Auto-scales storage up to 128 TiB as data grows/shrinks. Efficient for variable workloads. Aurora I/O-Optimized has higher rates (e.g., $0.225/GB vs. $0.10/GB).

I/O Operation Costs: This is a key area of difference:

RDS:

  • Magnetic Storage: Charged per million I/O requests.
  • General Purpose SSD (gp2): Includes a baseline IOPS performance based on volume size (3 IOPS/GB) and allows bursting. No direct charge per I/O below the burst limit.
  • General Purpose SSD (gp3): Includes a baseline of 3,000 IOPS and 125 MB/s throughput. Users pay for additional IOPS and/or throughput provisioned above this baseline, regardless of actual usage.
  • Provisioned IOPS SSD (io1/io2): Charged per GB-month for storage and per provisioned IOPS-month. Users pay for the IOPS capacity they provision, whether they use it fully or not.

Aurora (Standard Cluster / Serverless Standard):

  • Charged per million I/O requests performed against the database volume (e.g., $0.20 per million requests in one pricing example). This applies to both reads and writes. There is no need to provision IOPS in advance.

Aurora (I/O-Optimized Cluster / Serverless I/O-Optimized):

  • Read and write I/O operations are included with no separate charge. This benefit comes in exchange for significantly higher compute (instance/ACU) costs and storage costs compared to the Standard configuration.

Service Storage Type I/O Cost Model Notes
RDS Magnetic Per million I/O requests Basic performance tier; direct I/O metering
General Purpose SSD (gp2) I/O included up to burst limit Baseline 3 IOPS/GB with burst; no direct I/O charges below limit
General Purpose SSD (gp3) Pay for provisioned IOPS above 3000 Includes 3000 IOPS + 125 MB/s, rest is billed
Provisioned IOPS SSD (io1/io2) Per provisioned IOPS-month Charged even if actual IOPS usage is lower
Aurora (Standard) Cluster / Serverless $0.20 per million requests Covers both reads and writes; no IOPS provisioning
Aurora (I/O-Optimized) Cluster / Serverless Included I/O included, but compute & storage are costlier

Data Transfer Costs:

Standard AWS data transfer charges apply across all services. This includes:

  • Data transfer out to the internet (tiered pricing, first GB/month often free across AWS services).
  • Data transfer between Availability Zones within the same region (e.g., for RDS Multi-AZ replication traffic or cross-AZ application traffic).
  • Data transfer between AWS regions (e.g., for cross-Region replicas or snapshot copies).
  • Data transfer in to AWS is generally free. Data transfer within the same AZ is also typically free. Aurora's internal replication traffic across AZs within the storage layer needs clarification regarding explicit inter-AZ data transfer charges, but the primary cost driver is the storage write itself.

Transfer Type Cost Model Details / Notes
Data Transfer to Internet Tiered Pricing First GB/month often free; charged by volume after that
Between Availability Zones Charged Applies to Multi-AZ replication or cross-AZ traffic
Between AWS Regions Charged Used in cross-region replicas or snapshot copies
Data Transfer In to AWS Free Inbound data is generally not billed
Within Same Availability Zone Free Local traffic between instances typically free
Aurora Internal Replication Unclear Costs primarily from write operations; inter-AZ traffic charges not explicitly stated

Backup Costs:

Backup storage is charged per GB-month.

  • RDS: Automated backup storage up to the size of the provisioned database storage is often included free for active instances; storage beyond that incurs costs. Manual snapshot storage is charged based on usage at S3 rates.
  • Aurora: Uses continuous, incremental backups. Backup storage costs apply for the total storage consumed by these backups beyond any free allocation. Due to the incremental nature, Aurora backups might be more storage-efficient over the retention period compared to full RDS snapshots.

Service Backup Type Cost Model Notes
RDS Automated Backups Free up to DB size Included up to provisioned DB size for active instances
Manual Snapshots Charged per GB-month Charged at S3 rates for total snapshot size
Aurora Continuous Backups Charged per GB-month Incremental backups may be more efficient than RDS full snapshots

Cost Comparison: RDS MySQL vs. Aurora vs. Aurora Serverless

RDS vs. Aurora Provisioned:

A direct cost comparison is complex. Aurora instances can sometimes have a higher hourly On-Demand price than comparable RDS instances. Aurora Standard's pay-per-I/O model can be cheaper than RDS Provisioned IOPS if I/O usage is low to moderate, but more expensive if I/O is very high. Conversely, Aurora's pay-for-used-storage can be cheaper than paying for potentially underutilized provisioned RDS storage. The Aurora I/O-Optimized tier fundamentally changes the calculation; it's designed to be more cost-effective than Aurora Standard (and potentially RDS io1/io2) specifically when I/O costs exceed roughly 25% of the total Aurora database bill. Reserved Instances are available for both RDS and Aurora, offering similar discount levels for predictable workloads.

Provisioned vs. Serverless:

Aurora Serverless (v1/v2) is designed to be cost-effective for workloads that are not running continuously or have significant idle periods. By scaling compute down (or to zero for v2 ) during inactivity, it avoids paying for unused provisioned capacity. However, for workloads with sustained high utilization, the per-ACU-hour cost of Serverless running at peak capacity can exceed the cost of an equivalent provisioned instance, especially if the provisioned instance uses Reserved Instances. Serverless v2's more granular scaling might track usage more efficiently than v1's larger steps, potentially leading to lower costs for certain variable patterns.

Serverless v1 vs. v2:

V2 generally offers better potential for cost optimization due to its finer-grained scaling, support for scaling to zero, support for RIs on minimum capacity, and broader feature set (reducing need for costly workarounds). V1's coarser scaling could lead to over-provisioning during scaling steps.

Comparison Area RDS MySQL Aurora Provisioned Aurora Serverless v1/v2
Compute Pricing Lower On-Demand price Higher hourly price but better I/O model for moderate use Billed per second (ACUs); scales to 0 (v2); ideal for variable or idle workloads
I/O Costs Provisioned IOPS may result in unused cost Pay-per-I/O; cheaper if I/O is low, expensive if high I/O cost included in I/O-Optimized tier
Storage Cost Model Pay for provisioned size (even if underused) Pay only for used storage (up to 128 TiB) Same as provisioned; efficient use of space
Reserved Instance Support Yes Yes v2 supports RIs for min ACU; v1 does not
Idle/Variable Workloads Paying full price even during idle Same as RDS – no auto scale down Auto scale down to 0 (v2); optimal for unpredictable use
v1 vs v2 Differences v2 offers finer scaling, RIs support, better features; v1 has coarser steps

Analyzing Cost Efficiency for Different Workload Patterns

The optimal service from a cost perspective is highly dependent on the workload's characteristics:

Constant High Load:

For applications with predictable, high resource utilization around the clock, Provisioned RDS or Provisioned Aurora with Reserved Instances typically offers the lowest cost. The deep discounts from RIs outweigh the flexibility benefits of On-Demand or Serverless pricing. If the constant load is also extremely I/O intensive, Aurora I/O-Optimized with RIs might be the most economical choice. Running Serverless v2 constantly at its maximum capacity would likely be more expensive than a comparable RI.

Intermittent/Spiky Load:

Aurora Serverless v2 is explicitly designed for this pattern. It scales capacity up to handle peaks and scales down during lulls, ensuring users pay primarily for the resources consumed during active periods. Provisioned instances would need to be sized for peak load, resulting in significant costs for idle capacity during troughs. Serverless v1 could also handle this but with potential performance/cost inefficiencies due to its scaling mechanism.

Development/Testing:

Environments often have long idle periods (nights, weekends). Aurora Serverless v2, with its ability to scale down to 0 ACUs, is highly cost-effective for these scenarios, minimizing compute costs when inactive. The RDS Free Tier might be sufficient for very small development needs. Alternatively, small On-Demand provisioned instances (RDS or Aurora) can be manually stopped when not in use, although storage costs will still accrue.

Read-Heavy, Scalable Loads:

Cost depends on the read pattern. If reads are consistently high, Provisioned Aurora with RIs for the writer and potentially a mix of RI/On-Demand replicas might be optimal due to the efficiency of Aurora replicas. If read traffic is spiky, Aurora Serverless v2 with auto-scaled Serverless v2 replicas could be more cost-effective, scaling read capacity dynamically. RDS would likely require more replica instances (and associated costs) to achieve the same read throughput due to higher potential replication lag.

The fundamental cost dynamic revolves around paying for provisioned capacity versus paying for utilization. RDS pricing is largely based on provisioned resources (instance size, storage size, IOPS). Aurora shifts slightly by charging for used storage and offering a pay-per-I/O option (Standard). Serverless extends this further by making compute capacity elastic and usage-based (ACU-hours). The Aurora I/O-Optimized tier adds another dimension, acknowledging that I/O can dominate costs for certain Aurora Standard workloads and offering a different fixed-rate trade-off. Accurate workload profiling (CPU, memory, I/O patterns over time) is essential for making the most cost-effective choice.

Workload Pattern Cost-Effective Option Notes
Constant High Load Provisioned RDS or Aurora with Reserved Instances Aurora I/O-Optimized with RI is best for I/O-heavy workloads. Serverless v2 is costlier at max capacity.
Intermittent / Spiky Load Aurora Serverless v2 Scales dynamically with workload. More efficient than over-provisioning with RDS or Provisioned Aurora.
Development / Testing Aurora Serverless v2 or RDS Free Tier Serverless v2 can scale to 0 ACUs during idle. RDS Free Tier good for small workloads; stopping instances saves compute but not storage costs.
Read-Heavy, Scalable Loads Aurora Provisioned with RI + Replicas or Serverless v2 Provisioned is better for consistent read traffic. Serverless v2 scales replicas dynamically for spiky loads.
💡 Tip: Provisioned models are best when utilization is constant and predictable. Serverless models shine when demand is bursty, idle-prone, or unpredictable.

Illustrative Cost Calculation Examples

To make these trade-offs concrete, consider these hypothetical scenarios using estimated pricing for the us-east-1 region (Note: Actual costs require using the AWS Pricing Calculator with current rates and specific configurations).

Assumptions:

  • RDS MySQL uses db.r6g.large (2 vCPU, 16 GiB RAM), Aurora Provisioned uses db.r6g.large, Serverless v2 uses ACUs (1 ACU ~ 2 GiB RAM).
  • Storage: 200 GB used/provisioned.
  • I/O: "Low" = 50M/month, "High" = 1B/month, "Spiky High" averages 200M/month but peaks equivalent to 1B/month rate.
  • RDS uses gp3 storage, baseline IOPS/throughput sufficient unless noted. Aurora Standard uses pay-per-I/O. Aurora I/O-Opt uses its specific rates.
  • Compute Usage: "Steady" = 730 hrs/month, "Spiky" = 300 hrs/month equivalent peak usage, "Dev/Test" = 200 hrs/month usage, scales to 0 otherwise.
  • RIs: 1-year, No Upfront used for steady load estimates where applicable (assume ~40% discount).
  • Backup/Data Transfer: Assumed minimal/similar for simplicity in this example.

Scenario 1: Small Steady Web App (Low I/O)

  • Workload: Steady compute, 200 GB storage, 50M I/Os/month.
  • RDS MySQL (RI): ~$70-90/month (Instance RI + Storage)
  • Aurora Std Prov (RI): ~$80-100/month (Instance RI + Storage + Low I/O cost)
  • Aurora I/O-Opt Prov (RI): ~$120-150/month (Higher instance/storage cost outweighs I/O savings)
  • Aurora Serverless v2 (Avg ~2 ACUs): ~$50-70/month (ACU cost potentially lower than smallest RI instance + Storage + Low I/O cost)
  • Observation: For very small, steady loads, Serverless v2 might slightly undercut even small RIs if minimum ACUs needed are low. RDS and Aurora Prov RI are comparable.

Scenario 2: E-commerce Backend (Spiky High I/O)

  • Workload: Spiky compute (avg 300 hrs peak usage), 200 GB storage, peaks at 1B I/Os/month rate (avg 200M I/Os/month). Provisioned sized for peak.
  • RDS MySQL (On-Demand, Prov IOPS for peak): ~$300-500+/month (Large instance On-Demand + Storage + High Provisioned IOPS cost)
  • Aurora Std Prov (On-Demand): ~$400-600+/month (Large instance On-Demand + Storage + High Avg I/O cost - $0.20 * 200 = $40)
  • Aurora I/O-Opt Prov (On-Demand): ~$450-650+/month (Higher instance/storage cost, but I/O included)
  • Aurora Serverless v2 (Scales 1-16 ACUs): ~$150-250/month (ACU cost reflects actual usage + Storage + Avg I/O cost OR I/O-Opt ACU cost if cheaper overall)
  • Observation: Serverless v2 shows significant potential savings for spiky workloads by avoiding payment for idle peak capacity. Aurora Standard's I/O costs become noticeable.

Scenario 3: Dev/Test Environment (Idle ~70% time)

  • Workload: Used 200 hrs/month, idle otherwise. 200 GB storage, Low I/O.
  • RDS MySQL (On-Demand, Stopped when idle): ~$30-40/month (Instance hours + Storage during stops)
  • Aurora Std Prov (On-Demand, Stopped when idle): ~$35-45/month (Instance hours + Storage during stops + Low I/O)
  • Aurora I/O-Opt Prov (On-Demand, Stopped when idle): ~$45-60/month (Higher instance/storage cost)
  • Aurora Serverless v2 (Scales 0.5-4 ACUs, scales to 0): ~$15-25/month (Minimal ACU cost + Storage + Low I/O cost)
  • Observation: Serverless v2 with scale-to-zero offers the most significant savings for environments with substantial idle time. Stopping provisioned instances saves compute but incurs storage costs.

AWS Database costs based on workload variability

(Disclaimer: These are highly simplified estimations. Actual costs depend on precise usage, region, current pricing, RI strategy, and features used. Use the AWS Pricing Calculator for accurate estimates.)

For a more detailed discussion with real-world insights, watch our expert-led webinar on "AWS MySQL Showdown: RDS vs. Aurora vs. Serverless". Watch the full webinar here

Explore our comprehensive breakdown of how each AWS MySQL solution stacks up in terms of scalability, architecture, and cost-effectiveness. Read: AWS MySQL Architecture: Amazon RDS vs. Aurora vs. Serverless

Found the Cost Comparison Insightful?

Let Mydbops Help You Optimize Your AWS Database Spend

As an AWS Advanced Consulting Partner, Amazon RDS Specialist, and Public Sector Partner, Mydbops goes beyond analysis — we implement real cost savings.

Whether you're considering Amazon RDS or a hybrid approach, our team ensures you get maximum performance with minimum cost. Book a Free AWS Cost & Performance Review

No items found.

About the Author

Subscribe Now!

Subscribe here to get exclusive updates on upcoming webinars, meetups, and to receive instant updates on new database technologies.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.