Every hour your ElastiCache cluster runs in on-demand mode, you are paying the highest possible rate for that node. Reserved nodes are the mechanism for cutting that rate by 30-55% in exchange for a 1-year or 3-year commitment.
For a production cluster running six cache.r7g.xlarge Redis OSS nodes, the difference between on-demand and 3-year All Upfront reserved is approximately $14,500 per year. For Valkey on the same nodes, the combined Valkey discount plus reserved pricing produces savings close to 60% versus on-demand Redis OSS rates.
This guide covers every aspect of ElastiCache reserved node pricing: exact rates for Redis OSS, Valkey, and Memcached, the three payment structures, the October 2024 size flexibility update, the normalization unit mechanics, when Database Savings Plans are a better fit, and the Extended Support cost trap that can silently triple your hourly rate on older engine versions.
What Are ElastiCache Reserved Nodes?
ElastiCache reserved nodes are a billing commitment that lets you pay a lower hourly rate on node-based ElastiCache clusters in exchange for agreeing to a 1-year or 3-year term. You are not provisioning additional capacity or locking yourself into a specific cluster. You are simply agreeing to pay for a minimum amount of node capacity at a discounted rate, and AWS applies that discount to your matching running nodes automatically.
Reserved nodes work for all three node-based engines: Valkey, Redis OSS, and Memcached. They do not work for ElastiCache Serverless, where the billing model is based on ECPUs and GB-hours rather than node-hours. If you run Serverless, your discount path is Database Savings Plans, not reserved nodes.
A reserved node purchase specifies: engine (Valkey, Redis OSS, or Memcached), instance family (e.g., cache.r7g), AWS Region, term (1-year or 3-year), and payment option (All Upfront, Partial Upfront, or No Upfront). Since October 2024, you no longer need to specify a specific node size within the family. The reservation applies proportionally to any node size in the specified family using normalization units.

Also read: AWS Database Savings Plans Explained for DB Teams
What Is the Exact ElastiCache Reserved Node Pricing for 2026?
Here are the on-demand and reserved node rates for the key current-generation node types in US East (N. Virginia) as of April 2026. All rates are per node-hour.
| Node Type | Engine | On-Demand/hr | 1-Year Partial Upfront/hr | 3-Year All Upfront/hr | 3-Year Max Savings |
| cache.r7g.large | Redis OSS | $0.218 | ~$0.142 | ~$0.098 | ~55% |
| cache.r7g.large | Valkey | $0.174 | ~$0.113 | ~$0.078 | ~55% |
| cache.r7g.xlarge | Redis OSS | $0.437 | ~$0.284 | ~$0.197 | ~55% |
| cache.r7g.xlarge | Valkey | $0.350 | ~$0.228 | ~$0.158 | ~55% |
| cache.r7g.2xlarge | Redis OSS | $0.874 | ~$0.568 | ~$0.394 | ~55% |
| cache.r7g.2xlarge | Valkey | $0.699 | ~$0.454 | ~$0.315 | ~55% |
| cache.m7g.large | Redis OSS | $0.155 | ~$0.101 | ~$0.070 | ~55% |
| cache.m7g.large | Valkey | $0.124 | ~$0.081 | ~$0.056 | ~55% |
| cache.m7g.xlarge | Redis OSS | $0.311 | ~$0.202 | ~$0.140 | ~55% |
| cache.m7g.xlarge | Valkey | $0.249 | ~$0.162 | ~$0.112 | ~55% |
| cache.r7g.xlarge | Memcached | $0.437 | ~$0.284 | ~$0.197 | ~55% |
What Are the Three ElastiCache Reserved Node Payment Options?
ElastiCache reserved nodes offer three payment structures. The more you pay upfront, the lower your effective hourly rate over the reservation term.
All Upfront
Pay the full cost of the reservation at purchase. Zero hourly charges for the duration of the term. This offers the highest total savings, typically approaching 55% off on-demand for 3-year terms. Best for teams with capital budget available and high confidence in long-term stable usage. For a cache.r7g.xlarge Redis OSS running 730 hours per month, the 3-year All Upfront cost is approximately $0.197/hr effective, saving roughly $0.240/hr versus the $0.437/hr on-demand rate.
Partial Upfront
Pay a portion of the cost upfront and a reduced hourly rate for the rest of the term. This balances upfront commitment with ongoing billing flexibility. Savings are between No Upfront and All Upfront, typically 40-50% off on-demand for 3-year terms. Most commonly chosen by teams with moderate capital budgets who want to reduce monthly operational expense without a full upfront commitment.
No Upfront
Pay only a lower hourly rate with no upfront fee. Offers the smallest savings, typically 30-40% off on-demand, but requires no capital outlay at purchase. The discount still applies automatically to matching running nodes. Best for teams with no capital budget flexibility or organizations that prefer all costs as operational expense.
How Does ElastiCache Reserved Node Size Flexibility Work?
Before October 2024, ElastiCache reserved nodes were tied to a specific node size. If you bought a reservation for cache.r7g.xlarge and later resized to cache.r7g.2xlarge, the reservation no longer applied and you paid on-demand rates for the new size.
Since October 1, 2024, all ElastiCache reserved nodes offer size flexibility within the same instance family. The mechanics use a normalization unit system, similar to how EC2 and RDS handle instance size flexibility.
How Normalization Units Work
Every ElastiCache node type has a normalization unit value. The reservation’s total unit capacity can be applied to any combination of node sizes in the same family. A cache.r7g.large has 8 units. A cache.r7g.xlarge has 16 units. A cache.r7g.2xlarge has 32 units. A cache.r7g.4xlarge has 64 units.
If you buy a cache.r7g.4xlarge reservation (64 units) but later run two cache.r7g.xlarge nodes (16 units each = 32 units) and one cache.r7g.large node (8 units = 40 units total), your 64-unit reservation covers 40 units at the reserved rate. The remaining 24 units of your reservation are unused. If you add one more cache.r7g.xlarge (16 more units = 56 total), you are still within your 64-unit reservation and everything runs at the reserved rate.
The Valkey Migration Bonus
Redis OSS reservations apply to both Redis OSS and Valkey nodes in the same family and region. Since Valkey is priced 20% lower than Redis OSS, its normalization units are proportionally lower. A cache.r7g.xlarge Redis OSS node has 16 units. The same node running Valkey has 12.8 units (16 x 0.80).
This means if you have a cache.r7g.xlarge Redis OSS reservation (16 units) and migrate to Valkey, your running Valkey node consumes 12.8 units. Your reservation has 3.2 units remaining that can cover a fraction of another node. In practical terms, you get 20% more node coverage from the same reservation spend after migrating from Redis OSS to Valkey. A team running five cache.r7g.xlarge Redis OSS nodes that migrates to Valkey can run six cache.r7g.xlarge Valkey nodes on the same five reserved node purchases.

What Is the Real Dollar Savings from ElastiCache Reserved Nodes?
Let us run the numbers for three realistic production ElastiCache cluster configurations to show what reserved node savings actually look like in dollars per year.
Scenario 1: Standard Redis OSS Session Store (6 nodes, cache.r7g.xlarge)
Configuration: 3 shards x 1 replica per shard = 6 nodes. Node type: cache.r7g.xlarge Redis OSS. Region: US East (N. Virginia).
On-demand annual cost: 6 nodes x $0.437/hr x 8,760 hrs = $22,960/year. 1-year Partial Upfront annual cost: 6 nodes x ~$0.284/hr x 8,760 hrs = ~$14,924/year. Annual savings: $8,036 (35%). 3-year All Upfront annual cost: 6 nodes x ~$0.197/hr x 8,760 hrs = ~$10,355/year. Annual savings: $12,605 (55%).
If this team migrates to Valkey (same cluster, same 6 nodes), the on-demand annual cost drops to: 6 x $0.350/hr x 8,760 = $18,389/year. With 3-year reserved Valkey: 6 x ~$0.158/hr x 8,760 = $8,304/year. Annual savings vs on-demand Redis OSS: $14,656/year (64%). The combined Valkey plus 3-year reserved discount produces the deepest possible ElastiCache savings for provisioned node-based clusters.
Scenario 2: Memcached Application Cache (4 nodes, cache.m7g.xlarge)
Configuration: 4 nodes, cache.m7g.xlarge Memcached. No replication (Memcached does not support replication). Region: US East.
On-demand annual cost: 4 x $0.311/hr x 8,760 = $10,897/year. 1-year Partial Upfront: 4 x ~$0.202/hr x 8,760 = ~$7,078/year. Savings: $3,819 (35%). 3-year All Upfront: 4 x ~$0.140/hr x 8,760 = ~$4,906/year. Savings: $5,991 (55%).
Scenario 3: Large Valkey Cluster (18 nodes, cache.m7g.xlarge, global datastore)
This mirrors the AWS official pricing example for a session store with global replication. 9 nodes in US East primary + 9 nodes in US West secondary. 3-year All Upfront reserved at approximately $0.114/hr (AWS example rate for m7g.xlarge on 3-year all upfront).
On-demand annual cost (18 nodes): 18 x $0.249/hr x 8,760 = $39,240/year. 3-year All Upfront: 18 x $0.114/hr x 8,760 = $17,975/year. Annual savings: $21,265/year (54%). Over the 3-year term: $63,795 total savings.
Also read: EC2 Savings Plans: How They Work, What They Cover & How to Buy
When Should You Use Reserved Nodes vs Database Savings Plans?
Database Savings Plans launched in December 2025. They cover ElastiCache (Valkey engine, provisioned and Serverless) at up to 20% savings for provisioned nodes and up to 35% for Serverless. Here is how to choose between the two discount models.
| Factor | Reserved Nodes | Database Savings Plans | Max Savings | Best For |
| Discount depth (provisioned) | Up to 55% (3-year All Upfront) | Up to 20% (1-year) | Reserved wins by 35 ppt | Reserved for committed workloads |
| Covers Serverless | No | Yes (up to 35%) | DSP only option | DSP for Serverless |
| Engine coverage | Valkey, Redis OSS, Memcached | Valkey only (provisioned + Serverless) | Reserved broader | Reserved for Redis OSS and Memcached |
| Region flexibility | Single region only | Any region | DSP more flexible | DSP for multi-region teams |
| Node size flexibility | Yes (within family, since Oct 2024) | Applies to spend, not node type | Different models | Both are flexible now |
| Term length | 1-year or 3-year | 1-year only | Reserved: 3-year option | Reserved for 3-year horizon |
| Can combine both | Yes | Yes | Stack for max savings | Both together for Valkey provisioned |
For Valkey provisioned nodes with a stable long-term workload, reserved nodes provide the deeper discount. For ElastiCache Serverless, Database Savings Plans are the only discount path. For Redis OSS and Memcached, reserved nodes are the only option. Consider stacking: buy reserved nodes for the base provisioned capacity, then layer a Database Savings Plan on remaining Valkey spend at an additional discount on top.
See also: AWS Database Savings Plans Explained for DB Teams
What Is the ElastiCache Extended Support Cost Trap?
This is the most financially damaging hidden cost in ElastiCache. If you are running Redis 5, 6, or 7 past its community end-of-life date, AWS charges an Extended Support premium on top of your hourly node rate. The premiums are steep.
For provisioned ElastiCache instances: 80% premium for years 1 and 2 of Extended Support. 160% premium for year 3 of Extended Support.
A cache.r7g.large Redis OSS node at on-demand ($0.218/hr) after entering Extended Support in year 1: $0.218 + ($0.218 x 80%) = $0.392/hr, approximately $286/month. In year 3: $0.218 + ($0.218 x 160%) = $0.567/hr, approximately $414/month. The on-demand rate effectively triples in year 3.
The critical interaction with reserved nodes: if you have reserved nodes on a cluster that enters Extended Support, the Extended Support premium is charged on top of your reserved rate. Your reserved rate reduces the base node cost, but the Extended Support percentage premium is calculated on the original on-demand rate, not the reserved rate. So you save on the base compute but still pay a large premium for the EOL version.
EOL dates to know (verify at docs.aws.amazon.com/AmazonElastiCache): Redis 5.x reached EOL January 31, 2026. Redis 6.x and 7.x have upcoming EOL dates. Always confirm the current supported version list before purchasing a 3-year reserved node on an older engine version. Purchasing 3-year reserved nodes and then discovering your engine hits EOL within the term creates a painful double cost.

How Do You Size and Purchase ElastiCache Reserved Nodes Correctly?
Step 1: Pull 30 Days of Node Usage from CloudWatch
Check the EngineCPUUtilization and FreeableMemory metrics for your ElastiCache clusters in CloudWatch over 30 days. Look for nodes that run continuously with stable utilization. Nodes with FreeableMemory consistently above 30% of total node memory are potentially over-provisioned. Nodes running at 70-80% memory utilization for the entire 30-day period are strong reserved node candidates.
Step 2: Identify Long-Running Stable Clusters
Reserved nodes make financial sense for clusters that run 24 hours a day, 7 days a week, and are expected to continue running for at least 12 months. If a cluster might be deprecated, downsized significantly, or moved to Serverless within the year, reserve only the portion you are confident will stay stable. Reservations are non-transferable and non-cancellable.
Step 3: Reserve at the Node Family Level, Not Node Size
Since October 2024, you do not need to size exactly right when purchasing. Reserve within the family (e.g., cache.r7g) and let the normalization unit system handle size variations. If you think you might scale from cache.r7g.xlarge to cache.r7g.2xlarge within the year, buy the r7g family reservation for your current usage. The discount will apply proportionally when you resize.
Step 4: Consider Migrating to Valkey Before Reserving
If you are currently on Redis OSS, migrating to Valkey before purchasing reserved nodes gives you 20% lower on-demand rates, which means your reserved rates are also 20% lower. Combined with 3-year reserved discounts, the effective rate is approximately 60% below on-demand Redis OSS. Valkey is API-compatible with Redis OSS, so migration typically requires no application code changes.
Step 5: Choose 1-Year Unless 3 Years Is Clearly Justified
The additional savings from 3-year versus 1-year reserved nodes are significant (55% vs 35%), but committing to 3 years means your cluster must run the same node family in the same region for 3 full years. For production caches supporting active services, 3-year terms are often justified. For caches supporting services with uncertain roadmaps or potential cloud migrations, 1-year terms are safer.
Which ElastiCache Engine Should You Choose: Valkey, Redis OSS, or Memcached?
The engine choice affects both your on-demand baseline and your reserved node pricing. Here is the honest breakdown for 2026.
Valkey
Valkey is an open-source, Redis-compatible cache engine that AWS added to ElastiCache in 2024. It is API-compatible with Redis OSS, meaning applications built on Redis clients work with Valkey without code changes. The pricing advantage is 20% lower node costs versus Redis OSS for the same instance type. Valkey 8.1 also improved memory efficiency by up to 20% through a new hash table implementation, meaning you can fit more data in the same node.
For new deployments, Valkey is the recommended engine. It is cheaper, actively maintained, and fully compatible. Redis OSS reserved nodes apply to Valkey nodes, so if you are migrating from Redis OSS with existing reservations, you get free bonus coverage from the normalization unit mechanics described earlier.
Redis OSS
Redis OSS is the original engine. It remains the right choice if your application uses features that Valkey does not yet fully support, or if your team requires specific Redis modules (RediSearch, RedisBloom, etc.) that are not available on Valkey. Redis OSS is also the choice if you are in the middle of a long-term reserved commitment and cannot migrate immediately. However, note that older Redis versions (5.x, 6.x) are approaching or past end-of-life, and the Extended Support premiums add 80-160% to your hourly costs until you upgrade.
Memcached
Memcached is the simpler, multi-threaded option. It lacks persistence, replication, data structures, and pub/sub. It is faster for simple key-value lookups due to multi-threading and lower overhead. Use Memcached only if your caching needs are purely ephemeral key-value with no requirements for durability, clustering, or rich data types. New deployments should default to Valkey unless there is a specific technical reason for Memcached. Memcached is not covered by Database Savings Plans; reserved nodes are its only discount path.
What Are the Most Common ElastiCache Cost Mistakes?
Mistake 1: Running Forgotten Clusters
ElastiCache node-based clusters have no scale-to-zero capability. A cluster with zero cache hits costs the same as one serving millions of requests per second. Teams routinely leave development caches, staging environments, and migration-era temporary clusters running indefinitely. A cache.r7g.xlarge Redis OSS node left running for a year costs $3,828 in on-demand charges even if nobody reads from it. Audit your ElastiCache clusters quarterly and terminate anything without active connections.
Mistake 2: Over-Sizing Nodes for the Free Memory Buffer
AWS recommends reserving 25% of a node’s memory for system overhead (replication buffers, OS memory, connection handling). This means only 75% of a node’s total RAM is usable for data. A cache.r7g.xlarge advertises 26.32 GiB but provides roughly 19.74 GiB of usable cache capacity. Teams that size nodes based on total RAM end up running at 90%+ utilization, risking evictions. Size for 70-75% usable memory utilization, which means the node should show 70% of its usable 75% RAM as filled at peak.
Mistake 3: Buying Reserved Nodes Before Confirming the Engine Version
Purchasing 3-year reserved nodes on a Redis 6.x cluster that reaches end-of-life in 12 months means you will pay both the reserved node rate and the Extended Support 80% premium for the remaining 2+ years of your term. Always confirm the engine version end-of-life date before committing to a 3-year reservation. If your engine is within 18 months of EOL, plan the upgrade first, then purchase the reservation on the current-generation version.
Mistake 4: Not Reserving Replica Nodes
Every ElastiCache cluster node, including read replicas, is billed at the same hourly rate as the primary node. A three-shard cluster with one replica per shard has six total nodes: three primaries and three replicas. Reserved node purchases should cover all six nodes, not just the three primaries. Teams that only reserve primaries miss 50% of their eligible reserved node savings.
Mistake 5: Ignoring Backup Storage Accumulation
ElastiCache backup storage is charged at $0.085/GiB-month for snapshots. A 50 GiB cluster with daily snapshots retained for 30 days accumulates approximately 1.5 TB of backup storage: 30 snapshots x 50 GiB = 1,500 GiB x $0.085 = $127.50/month in backup costs alone. Set backup retention policies appropriate to your recovery requirements, not the maximum. For most operational caches, 7 days of snapshots is sufficient.
Also read: EC2 Savings Plans: 1-Year vs 3-Year Commitment ROI Analysis
How Does Usage.ai Automate ElastiCache Reserved Node Purchases?
The manual approach to ElastiCache reserved nodes requires analyzing CloudWatch data across potentially dozens of clusters, sizing reservations against current and projected utilization, deciding between payment options and term lengths, and then re-evaluating all of it whenever cluster configurations change. Most FinOps teams do this quarterly at best, missing the savings in between reviews.
Usage.ai Flex Reserved Instances monitor ElastiCache node consumption continuously and refresh the analysis every 24 hours, compared to AWS Cost Explorer’s 72+ hour refresh cycle. The platform automatically identifies clusters where reserved nodes are under-purchased, over-purchased, or approaching term expiration. It purchases the optimal mix of reservations based on current consumption patterns, factoring in the Valkey migration bonus and size flexibility normalization units.
Usage.ai also covers ElastiCache through the Flex DB Savings Plan, which provides spend-based coverage for Valkey workloads. For teams running a mix of provisioned ElastiCache clusters and ElastiCache Serverless, Usage.ai can optimize both paths under one platform. If a reserved node becomes underutilized because a cluster is resized or deprecated, Usage.ai provides cashback and credits on the unused portion. The fee is a percentage of realized savings only, meaning there is no cost unless Usage.ai actually saves you money.
See how much you can save on ElastiCache with Usage.ai
Frequently Asked Questions
1. What are ElastiCache reserved nodes?
ElastiCache reserved nodes are a billing commitment that gives you a 30-55% discount on node-based ElastiCache clusters in exchange for a 1-year or 3-year term. They work for Valkey, Redis OSS, and Memcached engines on provisioned clusters. Since October 2024, reserved nodes are size-flexible, meaning a single reservation covers any node size in the same family using a normalization unit system. They are not available for ElastiCache Serverless.
2. How much does ElastiCache cost?
ElastiCache pricing depends on engine, node type, and mode. On-demand cache.r7g.xlarge Redis OSS costs $0.437/hr ($319/month). Valkey is 20% cheaper at $0.350/hr ($255/month). Reserved nodes reduce these rates by 30-55%. ElastiCache Serverless costs $0.0000034 per ECPU for Redis OSS and Memcached. Backup storage costs $0.085/GiB-month. Verify all rates at aws.amazon.com/elasticache/pricing — rates change.
3. What is an ElastiCache cache node?
An ElastiCache cache node is the smallest deployable unit in a node-based ElastiCache cluster. It has a fixed amount of CPU, memory, and network capacity determined by the node type (e.g., cache.r7g.xlarge = 26.32 GiB RAM). Every node in your cluster is billed individually at the hourly rate for that node type. Replica nodes cost the same as primary nodes.
4. What is the discount on ElastiCache reserved instances?
ElastiCache reserved nodes offer: No Upfront: 30-40% off on-demand. Partial Upfront: 40-50% off. All Upfront: 45-55% off. 3-year All Upfront provides the maximum discount of approximately 55%. Valkey nodes add an additional 20% cost reduction on top of these reserved discounts versus equivalent Redis OSS on-demand rates.
5. Are reserved nodes available for ElastiCache Serverless?
No. Reserved nodes are only available for node-based (provisioned) ElastiCache clusters. For ElastiCache Serverless, the discount path is Database Savings Plans, which provide up to 35% savings on Serverless Valkey usage. Reserved nodes and Database Savings Plans can be combined: reserved nodes for provisioned clusters and DSP for Serverless caches.
6. Do ElastiCache reserved nodes work across engines?
Redis OSS reserved nodes apply to both Redis OSS and Valkey nodes in the same family and region. Since Valkey is priced 20% lower, a Redis OSS reservation covers 20% more Valkey nodes via normalization units. Memcached reservations only apply to Memcached nodes. Valkey reservations only apply to Valkey nodes.
7. What is ElastiCache Extended Support and how does it affect reserved node costs?
When a Redis OSS engine version reaches end-of-life (Redis 5.x reached EOL January 31, 2026), AWS charges an Extended Support premium of 80% of the on-demand rate in years 1-2 and 160% in year 3, added on top of your existing node rate. Reserved nodes reduce the base rate but do not eliminate the Extended Support premium. Always migrate to a supported engine version before purchasing long-term reserved nodes.
8. Can you cancel ElastiCache reserved nodes?
No. ElastiCache reserved nodes are non-refundable and non-cancellable. The upfront payment and ongoing hourly charges for the reservation term cannot be recovered. If your cluster is deprecated or resized below the reserved capacity, unused reserved node units can flow to other nodes in the same family and region within your AWS account via the normalization unit system.