awsrdsrds-proxylambdacost-optimization

RDS Proxy cost: is the always-on charge worth it?

RDS Proxy bills per vCPU of the database it fronts, continuously, whether or not connections flow. Here's how the charge works, when it pays for itself, and when it's overhead you can skip.

The C3X Team··8 min read

Quick answer

RDS Proxy costs ~$0.015 per vCPU-hour of the database it fronts, billed continuously, about $43.80/month for a 4-vCPU instance. It's worth it when it solves connection exhaustion (Lambda fan-out) or speeds failover. For steady, app-managed connection pools it's an always-on charge with little benefit. Confirm the problem before adding the proxy.

RDS Proxy pools and multiplexes database connections so bursty clients don't overwhelm the database's connection limit. It's genuinely useful, but its pricing surprises people: it's an always-on cost tied to the database size, not to traffic.

How the charge works

RDS Proxy bills per vCPU-hour of the underlying database instance, around $0.015/vCPU-hour. The math:

  • 2-vCPU db.t3.medium: ~$21.90/month
  • 4-vCPU db.r6g.xlarge: ~$43.80/month
  • 8-vCPU db.r6g.2xlarge: ~$87.60/month

Notice what's absent: connections and queries. A proxy handling a million connections costs the same as one handling ten, for the same database size. It's a flat, continuous charge proportional to the instance's vCPUs.

When it pays for itself

  • Lambda / serverless fan-out: thousands of concurrent function invocations each opening a connection will exhaust a database's limit. The proxy pools them. This is the canonical use case.
  • Faster failover: the proxy holds connections open and redirects them during a failover, cutting application-visible downtime versus reconnecting to a new endpoint.
  • IAM auth and secrets rotation: centralizes credential handling for many clients.

When to skip it

A traditional application with a fixed, well-managed connection pool (a few long-lived connections per instance) usually doesn't hit connection limits and doesn't need the proxy. Adding it there is ~$44+/month of overhead for a problem you don't have.

Estimate it against the database

Because the proxy cost scales with the database size, it's easy to misjudge. Price it directly, see aws_db_proxy, and put it next to the aws_db_instance it fronts so the combined cost is visible in your plan:

c3x estimate --path .

If the proxy exists mainly to protect a database from Lambda, also read estimating AWS Lambda costs to size the whole serverless path.

Try C3X on your own Terraform

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