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.
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.
Pricing references
Related posts
- PgBouncer vs RDS Proxy: what connection pooling actually costs
A managed proxy bills per vCPU-hour of the database it fronts. A self-hosted pooler bills as a small container. Both let you run a smaller database instance, which is where the real money is. Here is the arithmetic.
- Self-hosted database on EC2 vs RDS cost: is running your own worth it?
Running Postgres or MySQL yourself on EC2 is cheaper per hour than RDS, but RDS handles backups, failover, and patching. The premium is real, and so is the operational burden it removes. Here is when self-hosting a database pays off, with numbers.
- RDS gp3 vs io1 storage cost: which database volume type to pick
RDS gp3 gives a free IOPS and throughput baseline for a flat per-GB price, while io1 charges separately for every provisioned IOPS. For most databases gp3 is dramatically cheaper. Here is the pricing, the break-even, and when io1 still earns its cost.
- RDS reserved instances cost: how much they save and when to buy
RDS Reserved Instances cut the hourly rate of a database by up to about 40 percent for a one-year term and 60 percent for three years, in exchange for a commitment. Here is how the payment options compare, where the size-flexibility applies, and how to avoid over-committing.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.