Aurora Serverless free when unused? Not so fast!

Amazon Aurora Serverless, recently GA is an RDS type similar to other RDS'es : It's a relational database that you consume like a service. All the administrative tasks (Backups, updates) are done by AWS.

Serverless also brings auto-scaling so AWS provision for you, when needed, the required capacity for your workload. This capacity can also go to zero when unused, which means your DB is available for free. Wonderful for pre-production or dev environments.

Is it really cheaper?

Automatic scaling is a wonderful feature, and this article is just going to talk about how, for low budget consumers, the "scaling-to-zero" doesn't necessarily means big savings.

At the time this article is written, Aurora Serverless is available for MySQL only ; this is what we're going to compare here. Also, prices are for Ireland.

Criteria Classic Aurora Aurora Serverless
Minimal billing interval Hour Second, with a 5 minutes minimum (and 5 min cooldown)
Cost per hour, worst-case $0.044 (0.035 with RI) $0.14 (2 ACU @ 0.07)
Worst-case 24h price $1.056 (0.84) $3.36

In the worst case, meaning if we never scale to zero workers in the Serverless model, the cost is incresed by a factor between 3 and 4.

You said worst case though

To break even, the Aurora Serverless instance needs to be inactive more than two-third of the time. If your environment is used only in one timezone during business hours, it can make this cut.

However, beware:

  • You probably have monitoring in place. Are those checks triggering underlying SQL calls?
  • Is your load-balancer health-check triggering SQL requests?
  • Is your application keeping SQL sessions open to the database?
  • ... Keep in mind that the billing stops 5 minutes after your last SQL request!

Aurélien JOGA

Join the discussion