awsauroradatabasecost-optimization

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.

The C3X Team··5 min read

Quick answer

Aurora Serverless v2 bills per Aurora Capacity Unit-hour (ACU), where each ACU is a unit of compute and memory, and capacity scales in fine 0.5-ACU increments to match load. You set a minimum and maximum ACU range, and pay for the ACUs in use each second, plus storage and I/O. It pays off for variable, spiky, or intermittent workloads that would otherwise over-provision a fixed instance, because it scales down (to your minimum) during quiet periods. For steady, predictable, high-utilization databases, a provisioned instance with a reservation is usually cheaper, since the per-ACU rate carries a serverless premium.

Aurora Serverless v2 promises database capacity that scales with load so you do not over-provision. The pricing is built on Aurora Capacity Units, and understanding ACUs is the key to knowing whether Serverless v2 will save you money or quietly cost more than a provisioned instance would.

What an ACU is and how billing works

An Aurora Capacity Unit (ACU) is a bundle of compute and memory (roughly a couple of GB of memory with corresponding CPU). Serverless v2 scales capacity up and down in fine 0.5-ACU increments in response to load, and you are billed for the ACUs in use, measured per second and totaled as ACU-hours. You configure a minimum and maximum ACU range: the minimum is the floor you always pay for (it never scales to zero in v2), and the maximum caps how far it can scale up. On top of ACU-hours you pay for storage and I/O separately.

Cost componentHow it is billed
ComputePer ACU-hour, scaling in 0.5-ACU steps between your min and max
StoragePer GB-month of data stored
I/OPer request (or included in the I/O-optimized configuration)

When Serverless v2 saves money

Serverless v2 shines on variable and intermittent workloads. A database with spiky traffic, big daytime peaks and quiet nights, or a dev/test database used only during working hours, would waste money on a fixed provisioned instance sized for the peak. Serverless v2 scales down to your minimum ACU during quiet periods, so you pay for a small floor instead of a full peak-sized instance around the clock. The finer scaling of v2 (versus the original Serverless) makes this responsive and smooth.

When a provisioned instance is cheaper

The catch is that the per-ACU rate carries a serverless premium. For a steady, predictable, high-utilization database that runs near a constant load most of the time, a provisioned Aurora instance is usually cheaper, especially with a reserved instancecommitment, because you pay a lower rate for the capacity you were going to use anyway. Serverless v2's value is elasticity; if you are not using the elasticity (because load is flat), you are paying the premium for nothing.

Choosing and tuning

Use Serverless v2 for variable, spiky, or intermittent workloads and for environments where you cannot predict capacity; use provisioned (ideally reserved) for steady high-utilization production databases. Tune the minimum ACU carefully, since it is your always-on floor, and set the maximum to cap runaway scaling. Watch the I/O cost and consider the I/O-optimized configuration if your workload is I/O-heavy. And because the data underneath bills as storage regardless, this sits alongside broaderdatabase cost considerations and generalsizing discipline.

FAQ

How does Aurora Serverless v2 pricing work?

It bills per Aurora Capacity Unit-hour (ACU), where each ACU is a bundle of compute and memory. Capacity scales up and down in fine 0.5-ACU increments to match load, measured per second, and you pay for the ACUs in use. You set a minimum ACU (the always-on floor) and a maximum (the scaling cap). Storage and I/O are billed separately on top of the ACU-hours.

What is an ACU in Aurora Serverless?

An Aurora Capacity Unit is a unit of database capacity combining compute and memory, roughly a couple of GB of memory with corresponding CPU. Aurora Serverless v2 measures and bills capacity in ACUs, scaling in 0.5-ACU increments between the minimum and maximum you configure. Your bill is the ACU-hours consumed, so knowing how many ACUs your workload draws is the key to estimating cost.

Is Aurora Serverless v2 cheaper than a provisioned instance?

It depends on the workload. For variable, spiky, or intermittent workloads it is usually cheaper, because it scales down to your minimum ACU during quiet periods instead of running a full peak-sized instance around the clock. For steady, predictable, high-utilization databases, a provisioned instance (especially with a reserved instance commitment) is usually cheaper, because the per-ACU rate carries a serverless premium you pay whether or not you use the elasticity.

When should I use Aurora Serverless v2?

For variable and intermittent workloads: databases with big peaks and quiet troughs, dev/test databases used only during working hours, new applications with unpredictable load, and anything where a fixed instance would sit over-provisioned. Its value is elasticity, scaling down when idle. If your load is flat and predictable, you are paying the serverless premium without using the elasticity, and a provisioned reserved instance is cheaper.

Does Aurora Serverless v2 scale to zero?

No. Aurora Serverless v2 always runs at least your configured minimum ACU, so there is a floor you pay for continuously; it does not scale to zero like some serverless products. That makes the minimum ACU setting important: set it low enough to save money during quiet periods but high enough to handle baseline load. For truly intermittent use, that always-on floor is the cost to weigh.

Does C3X estimate Aurora Serverless v2 cost?

C3X prices infrastructure from Terraform before deploy, so an Aurora Serverless v2 configuration, including its ACU range and storage, is costed against a live catalog in the pull request. Because actual ACU consumption depends on runtime load, the exact bill varies, but seeing the configured capacity range and storage cost before deploy helps you compare Serverless v2 against a provisioned instance for your workload.

What to do next

Compare Aurora Serverless and provisioned cost before you deploy. C3X prices your Terraform against a live resource catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.