Cloud Database Costs

AWS Redis Pricing: ElastiCache Bills Memory, Not Traffic

Dr. Somya Hallan · Sep 27, 2026 · 26 min read
AWS Redis Pricing: ElastiCache Bills Memory, Not Traffic

“Serverless” sounds like you pay for traffic. On ElastiCache, you mostly don’t. Keeping 1 GB of data costs $61.32 a month, while serving 1,000 requests a second costs about $6 (Valkey, us-east-1). That tenfold gap is the part of AWS Redis pricing that decides whether you overpay, and it’s why a steady cache can cost 41% less on plain nodes.

The short version:

  • ElastiCache has two pricing models. Nodes charge a fixed hourly rate whether the cache is busy or idle. Serverless charges for the data you store each hour, plus a small fee per request.
  • On serverless, storage is the expensive part. Storing 1 GB costs $61.32 a month on Valkey ($91.25 on Redis OSS). Serving 1,000 requests a second costs $6.04 ($8.94 on Redis OSS).
  • Nodes are cheaper for a steady cache. A steady 5 GB cache with a replica costs $184.54 a month on a node pair and $312.64 on serverless, 41% less on nodes. A 1-year reservation brings the node pair to $124.98.
  • Serverless is cheaper in two cases: your stored data at its busiest is about twice its average or more, or the whole cache is under about 0.6 GB.
  • Traffic only matters at high volume, above roughly 10,000 requests a second for every GB you store.
  • Selfhost.dev has two models. Managed gives you a fully managed Redis instance without having to manage the underlying AWS infrastructure. BYOC gives you the same managed database experience while keeping Redis inside your own AWS account, so you retain control of the infrastructure, AWS billing and network environment while Selfhost.dev handles the operational work.

Put simply, ElastiCache Serverless charges you for how much data you store, not how much traffic you get. Selfhost.dev runs managed Redis on AWS in two ways: Managed runs the instance in our account, while BYOC runs it in yours.

That distinction matters because Managed also bills data transfer out, while BYOC keeps AWS infrastructure and data transfer in your own account.

How much does Redis cost on AWS?

A steady 5 GB Redis cache with a replica costs $184.54 a month on an ElastiCache node pair and $312.64 on ElastiCache Serverless at 1,000 requests a second (Valkey, us-east-1, on demand). Only $6.04 of that serverless bill is traffic. The other $306.60 is the data being stored.

That split holds across very different workloads. The column to watch is the third one.

Your cache Serverless (storage + traffic) Traffic’s share of the bill Node pair, on demand Node pair, 1-year reserved Cheaper
Steady 5 GB 1,000 requests/sec $312.64 2% $184.54 cache.m7g.large $124.98 Nodes 41% less
Steady 5 GB 20,000 requests/sec $427.49 28% $184.54 cache.m7g.large $124.98 Nodes 57% less
Steady 10 GB 5,000 requests/sec $643.42 5% $255.79 cache.r7g.large $174.04 Nodes 60% less
Spiky data 10 GB most of the day, 50 GB for 2 hours $923.38 11% $2,038.16 cache.r7g.4xlarge $1,386.42 Serverless 55% less

Valkey, us-east-1, 730 hours a month, rates from AWS’s price list published on September 2026. Each node is the smallest that holds the data after AWS’s default 25% memory reserve. Serverless replicates across Availability Zones by default, so every node option includes a replica. Reserved means one year, no upfront payment.

Even at 20,000 requests a second, traffic is just over a quarter of the serverless bill. Serverless bills the hourly average of what you store, and a node has to be sized for your peak.

There is another option too. Selfhost.dev BYOC runs Redis on a fixed-size instance inside your own AWS account. For the steady-cache workloads we priced, it costs 33 to 56% less than ElastiCache Serverless, while keeping AWS data-transfer costs in your own account.

See what your Redis costs in your AWS account.

Enter how much data you store and choose BYOC or Managed. Compare the fixed monthly price for your exact configuration, including the difference between running Redis in our account and running it in yours.

[Compare my AWS Redis cost →]

No signup, no card.

How does AWS Redis pricing work?

ElastiCache bills Redis two ways. Nodes charge a fixed hourly rate whether they’re busy or idle. Serverless charges $0.084 per GB-hour of data stored and $0.0023 per million ECPUs on Valkey, or $0.125 and $0.0034 on Redis OSS. Replicas, backups, cross-AZ traffic and old Redis versions can add to the bill.

How much does ElastiCache Serverless cost?

ElastiCache Serverless costs about $61 a month for every GB you store and about $6 for every 1,000 requests a second you serve (Valkey, us-east-1). An empty cache still costs $6.13 a month on Valkey and $91.25 on Redis OSS, because serverless always bills a minimum amount of data.

Serverless has two meters. Storage is billed on the hourly average of the data in your cache. Requests are billed in ECPUs (ElastiCache Processing Units), and AWS defines them simply: “Simple reads and writes require 1 ECPU for each kilobyte (KB) of data transferred.” Heavier commands cost more.

Monthly ElastiCache Serverless cost (Valkey, us-east-1) = GB stored × $61.32 + (requests per second ÷ 1,000) × $6.04
For Redis OSS, use $91.25 and $8.94. Assumes simple commands of 1 KB or less.

That minimum is 100 MB on Valkey and 1 GB on Redis OSS, and there’s no pause: billing stops only when you delete the cache. Reserved nodes don’t apply to serverless; Database Savings Plans, a one-year commitment to an hourly spend, are the discount that does.

How much does an ElastiCache node cost?

An ElastiCache node costs from $9.34 a month for a cache.t4g.micro to $509.83 for a cache.r7g.2xlarge on Valkey (us-east-1, on demand), billed for every hour it exists. Each node holds only about three quarters of its advertised memory as data, because AWS reserves 25% by default.

AWS’s documentation says “reserved-memory-percent defaults to 25%. Do not reduce this value,” and it also recommends raising that to 30% on small nodes and 50% on micro nodes for production.

Node Advertised Usable after the 25% reserve Valkey, on demand Redis OSS, on demand Valkey, 1-year reserved
cache.t4g.micro 0.5 GiB 0.40 GB $9.34 $11.68 $6.42
cache.t4g.small 1.37 GiB 1.10 GB $18.69 $23.36 $12.85
cache.t4g.medium 3.09 GiB 2.49 GB $37.96 $47.45 $25.70
cache.m7g.large 6.38 GiB 5.14 GB $92.27 $115.34 $62.49
cache.r7g.large 13.07 GiB 10.53 GB $127.90 $159.87 $87.02
cache.r7g.xlarge 26.32 GiB 21.20 GB $255.21 $319.01 $173.45
cache.r7g.2xlarge 52.82 GiB 42.54 GB $509.83 $637.29 $346.90

Per node, per month, us-east-1, from AWS’s price list published on September 2026. Reserved is one year, no upfront payment.

Reserved nodes cut these rates by about 32% for one year with nothing upfront, about 36% for one year paid upfront, and about 55% for three years paid upfront.

What else goes on an ElastiCache bill?

Four charges sit on top of the ElastiCache node or storage price: replicas, each billed as a full node; cross-AZ reads at $0.01 per GiB; backups at $0.085 per GB a month; and Extended Support, which adds 80% and then 160% to the node rate on end-of-life Redis OSS versions.

The cross-AZ charge lands on the EC2 side, and only for an app in a different Availability Zone. Replication between nodes is free, and serverless has no cross-AZ charge at all.

Is ElastiCache Serverless cheaper than nodes?

ElastiCache Serverless is cheaper than nodes only when your data changes size a lot. Serverless storage costs $61.32 per GB a month on Valkey, about twice what the same gigabyte costs on a replicated node pair. Traffic adds about $6 per 1,000 requests a second. So a steady cache of a few GB is 40 to 60% cheaper on nodes.

Keeping one GB for a month costs as much as serving about 10,000 requests a second for the same month. For most caches, the data is the bill.

That’s why “use serverless for spiky traffic” is the wrong test. A node is sized for the most data you ever hold. Serverless bills the average. If your traffic spikes but your dataset stays the same size, serverless has nothing to save you, and you pay its higher rate per gigabyte every hour.

With storage alone, and a replica on both sides:

Data held Serverless (Valkey) Cheapest node pair that holds it Node pair, on demand Cheaper
0.5 GB $30.66 cache.t4g.small $37.38 Serverless
1 GB $61.32 cache.t4g.small $37.38 Nodes 39% less
2 GB $122.64 cache.t4g.medium $75.92 Nodes 38% less
5 GB $306.60 cache.m7g.large $184.54 Nodes 40% less
10 GB $613.20 cache.r7g.large $255.79 Nodes 58% less
20 GB $1,226.40 cache.r7g.xlarge $510.42 Nodes 58% less

Valkey, us-east-1, on demand, request charges excluded (they would only widen the gap).

AWS Redis pricing chart: ElastiCache Serverless vs an on-demand node pair from 0.5 GB to 20 GB. Serverless is cheaper at 0.5 GB, nodes are cheaper from about 0.6 GB and cost 58% less at 20 GB.

So the rule is simple. Serverless is cheaper when your busiest hour holds more than about twice the data of a normal hour, or when the whole cache is under about 0.6 GB. Traffic only starts to matter at roughly 10,000 requests a second for every GB you hold.

AWS reaches the same answer in its own pricing blog. For a steady workload averaging 20 GB, it calculated that a node cluster would be 44% more cost-effective than serverless (Unlock on-demand, cost-optimized performance with Amazon ElastiCache Serverless, February 2024).

Not sure which side of the line you’re on?

Your cache isn’t a row in this table. Whether serverless or nodes wins depends on how much your data swings, and that’s already in your CloudWatch history.
[Have an engineer work out which model is cheaper for your cache →]
A real person, not a bot. Free, with no commitment.

When is ElastiCache Serverless worth it?

ElastiCache Serverless is worth it when your data swings. In AWS’s own example, a cache holding 10 GB most of the day and 50 GB for two hours costs $923.38 a month on Valkey Serverless, against $2,038.16 for a node pair big enough for the peak. Serverless also wins below about 0.6 GB, and it never charges for cross-AZ traffic.

How does AWS’s spiky-data example add up?

AWS’s blog priced this cache on Redis OSS at $1,372.40 a month. Here it is on today’s Valkey rates:

ElastiCache Serverless Node pair
What you pay for The average data held 13.33 GB across the day The 50 GB peak, all day
Storage or nodes $817.60 $2,038.16 cache.r7g.4xlarge pair
Requests $105.78 63 million ECPUs an hour on average Included
Monthly total $923.38 $2,038.16

The node pair sits mostly empty for 22 hours a day, and you pay for all of it. That is why serverless comes out 55% cheaper here, and it’s the whole case for serverless.

What else does serverless do better?

  • No capacity planning. You never pick a node size or guess your peak.
  • A 99.99% availability SLA on every serverless cache.
  • No cross-AZ charge. Traffic between Availability Zones costs nothing.

If your data swings like this, or your team never wants to size a cache, serverless is the better choice.

Can nodes close the gap?

Partly. Nodes can be resized, so if your daily peak is predictable, scheduled scaling can narrow the gap. The trade-off is that you run the resize yourself.

How much does ElastiCache cost for a real app?

A steady 8 GB cache with a replica, serving 2,000 requests a second, costs $503.33 a month on Valkey Serverless, $256.47 on an ElastiCache cache.r7g.large pair, and $174.72 with a one-year reserved pair. These figures are for us-east-1 and include one 8 GB backup.

Here is the same app priced line by line. The inputs: 8 GB of data that stays roughly the same size, 2,000 requests a second (90% reads, 10% writes), values of 1 KB or less, a replica for high availability, the app in the same Availability Zone as the primary, and one backup kept.

Line Serverless (Valkey) cache.r7g.large pair, on demand Same pair, 1-year reserved
Memory or nodes $490.56 8 GB × $61.32 $255.79 $174.04
Requests $12.09 $0 $0
Replica sync $0 $0 $0
App reads, same AZ $0 $0 $0
Backup (8 GB) $0.68 $0.68 $0.68
Total per month $503.33 $256.47 $174.72

Valkey, us-east-1, from AWS’s price list published 14 September 2026. The cache.r7g.large holds 10.53 GB after the 25% reserve.

Nodes win by 49% on demand and by 65% reserved, and the gap has nothing to do with traffic. Requests add only $12.09 to the serverless bill. The $490.56 for storage is what makes the difference.

One setting changes the node figure. If the app runs in a different Availability Zone from the primary, the reads add about $44 a month in transfer charges. Keep the app next to the primary and that cost disappears.

Two rules come out of this. Size your cache by its data, not its traffic. Then choose nodes if that data stays steady, and serverless if it swings.

Why is my ElastiCache bill so high?

A high ElastiCache bill usually has one of four causes: data stored on serverless, a replica doubling the node count, Extended Support on an old Redis OSS version (80% extra, then 160%), or cross-AZ traffic. One r/aws user was quoted about $3,000 a month for ElastiCache. The cause was 30 GB of serverless storage, $2,737.50 a month on its own.

The user had been paying under $100 a month elsewhere for a similar setup, and asked where the error was [link: exact thread URL]. Another user spotted it: the estimate had the serverless “average cache data size” set to 30 GB, billed at $0.125 per GB-hour. Thirty gigabytes at that rate is $2,737.50 a month before a single request.

The four causes, with what each one costs:

  • Serverless storage. Every GB held costs $61.32 a month on Valkey and $91.25 on Redis OSS.
  • Replicas. Each one is a full node, so a replica doubles the node bill.
  • Extended Support. An end-of-life Redis OSS version adds 80% to the node rate, then 160% in year three. A cache.m7g.large on Redis OSS goes from $0.158 an hour to $0.284, then $0.411.
  • Cross-AZ traffic. An app in another Availability Zone pays $0.01 per GiB for everything it reads.

None of these appear in the headline price, which is why ElastiCache bills are so hard to predict. We call that gap between the price you expect and the bill you get Bill Variance.

A fixed-size instance removes the biggest of the four causes outright. You pay for the instance, not for every GB it holds, which is how Selfhost.dev prices Redis.

Is one of these on your bill?

Every number on this page is AWS’s list price. Your bill has your usage in it.
[Send us your ElastiCache bill and get it back explained, line by line →]
Free, and reviewed by an engineer.

Why use BYOC instead of ElastiCache?

BYOC is not simply another way to pay for Redis. The important difference is where the infrastructure lives.

With ElastiCache, AWS runs the managed Redis service and bills you for the infrastructure and associated usage. With Selfhost.dev BYOC, Redis runs inside your own AWS account. You pay AWS directly for the instance, storage and data transfer, while Selfhost.dev manages the database for a separate management fee.

That matters when your application sends a lot of data to Redis. Selfhost.dev Managed bills data transfer out from our account, while BYOC keeps that traffic inside your AWS billing model.

The result: managed Redis without moving the infrastructure or its data-transfer costs into someone else’s AWS account.

What does a fixed-price Redis instance cost on AWS?

On Selfhost.dev BYOC, a steady 6 GB cache with a replica costs $209.91 a month, running in your own AWS account with no data-transfer charge from us. The same cache is $255.79 on an on-demand ElastiCache node pair and $373.96 on ElastiCache Serverless (us-east-1, 1,000 requests a second). 

The advantage is not just the headline price: your application-to-Redis data transfer stays on your AWS account rather than becoming Selfhost.dev egress.

Selfhost.dev runs Redis 7.2 on a fixed-size AWS instance, two ways.

BYOC runs it inside your own AWS account. You pay AWS directly for the instance, storage and data transfer. Reads between your app and the cache follow AWS’s own rules, so same-AZ traffic is free, just as it is on ElastiCache.

Managed runs it in our account. A t4g.large with a replica is $136.99 a month, and data transfer out is billed at $0.1215 per GB, including reads from your app. It suits steady caches with moderate traffic, such as staging, sessions and job queues. A 5 GB cache with a replica at 50 requests a second comes to $152.96, against $184.54 on-demand on ElastiCache. As traffic rises, however, the egress charge becomes a larger part of the Managed bill. That’s where BYOC becomes the more relevant comparison.

Both apply the same 25% memory reserve as ElastiCache, yet the same size of machine holds more of your data:

Data Selfhost.dev BYOC pair ElastiCache node pair, on demand ElastiCache Serverless
6 GB $209.91 t4g.large, ~6.1 GB usable $255.79 cache.r7g.large $373.96
12 GB $323.23 r7g.large, ~12.5 GB usable $510.42 cache.r7g.xlarge $741.88

Steady data, one replica, 1,000 requests a second, us-east-1. BYOC includes AWS’s instance, storage, two public IPv4 addresses and cross-AZ replica traffic, plus our fee. ElastiCache is Valkey.

BYOC comes out ahead when your data falls between ElastiCache’s node sizes, because a 16 GiB r7g.large holds about 12.5 GB on Selfhost.dev and about 10.5 GB on ElastiCache. Where an ElastiCache node fits your data exactly, as at 5 GB or 10 GB, its on-demand pair is cheaper. The t4g sizes are burstable, so for sustained heavy CPU the r7g sizes are the like-for-like choice.

For the wider field, see how seven managed Redis providers price a 6 GB cache

Your data size and traffic decide which Selfhost.dev model fits.
Put in the memory you need and whether you want a replica, then switch between BYOC and Managed to see which Selfhost.dev model fits your workload.

Compare my AWS Redis cost →
No account, no card. The link reopens your exact setup.

Which AWS Redis option should you choose?

Choose ElastiCache Serverless if your stored data swings a lot through the day, your cache is under about 0.6 GB, or you never want to size a cache. For those jobs it is the better tool. For a steady cache, it is the most expensive option on this page.

Choose reserved ElastiCache nodes if your data is steady and you can commit for a year. For a cache of up to about 5 GB, a one-year reserved pair at $124.98 a month is the cheapest option on this page.

Choose Selfhost.dev if your data is steady and you want a fixed price with no commitment, billed by the hour. Use BYOC when you want managed Redis inside your own AWS account and want your AWS data-transfer costs to stay there. It is particularly attractive when your data falls between ElastiCache’s node sizes. Use Managed when the cache has moderate traffic and the convenience of having Selfhost.dev run the infrastructure outweighs the egress cost.

One thing to know first: every Selfhost.dev instance has a public endpoint, protected by an IP allowlist and a password. If your cache must be reachable only from inside a private VPC, ElastiCache is the better fit today.

If your data is steady, compare your AWS Redis bill before you deploy.

[Compare my AWS Redis cost →]

Then deploy the configuration that fits. The $5 launch credit covers your first days. No card needed.

Frequently Asked Questions

How much does Redis cost on AWS per month?

The smallest ElastiCache node, a cache.t4g.micro on Valkey, is $9.34 a month in us-east-1. An idle Valkey Serverless cache is $6.13. A realistic production setup, 5 GB with a replica, is $184.54 on an on-demand node pair.

Why am I charged for an idle serverless cache?

ElastiCache Serverless bills a minimum amount of stored data whether or not anything uses it: 100 MB on Valkey and 1 GB on Redis OSS. On Redis OSS that is $91.25 a month for an empty cache.

Are reserved nodes available for ElastiCache Serverless?

No. Reserved nodes apply only to node-based clusters, where they save about 32% for one year with nothing upfront. Serverless can use Database Savings Plans instead, a one-year commitment to an hourly spend.

Is Valkey cheaper than Redis OSS on ElastiCache?

Yes. Valkey nodes cost 20% less than Redis OSS nodes, and Valkey Serverless storage costs 33% less, at $0.084 per GB-hour against $0.125 in us-east-1.

How much does a small Redis cache cost on AWS?

Under about 0.6 GB, serverless is the cheaper way to hold it: 0.5 GB costs $30.66 a month on Valkey Serverless, against $37.38 for a cache.t4g.small pair. From about 1 GB up, the node pair costs less.

Can I run managed Redis in my own AWS account?

Yes. On Selfhost.dev BYOC, Redis runs in your own AWS account and you pay AWS directly for the instance, storage and data transfer. Selfhost.dev adds a management fee of 70% of the Managed price and charges nothing for data transfer.

I’ve seen cache.m7g.large quoted at $0.1011 an hour for Valkey. Is that right?

No. AWS’s price list, published 14 September 2026, has cache.m7g.large at $0.1264 an hour on Valkey and $0.158 on Redis OSS in us-east-1.

Run managed Redis, without the ElastiCache bill.

Dedicated Redis 7 on AWS with snapshots, backups, read replicas, Multi-AZ failover and live metrics. Pay-as-you-go, with billing stopped at a zero balance. Limited-time offer: get $5 in free credit at signup, no card needed.

cost check