TL;DR: ElastiCache Reserved Nodes cut 30–55% off the same Redis or Memcached nodes you already run 24/7, in exchange for a 1- or 3-year commitment. The discount applies automatically to matching nodes — there's no "attach" step — but reservations are region-specific, instance-type-specific, non-refundable, and cover compute only. The discipline, not the math, is the hard part: reserve your baseline, never your peak.
The numbers
- Payment tiers: All Upfront 50–55% off, Partial Upfront ~40–45%, No Upfront ~30–35% (still beats on-demand).
- Worked example — 4× cache.r6g.large in us-east-1 running 24/7: on-demand $0.252/hr × 4 × 730 =
$735/mo ($8,820/yr); a 1-yr All Upfront reservation ≈ $5,000 up front saves ~$3,820 in year one (43%). Scale to 20 nodes → tens of thousands/yr. - Coverage is count-based: reserve 3, run 5 → first 3 at reserved rate, other 2 on-demand; run 2 → you still pay for 3 (no refund for the gap).
- Field examples: a stable 8-node e-commerce cache locked a 3-yr All Upfront for 50% off, $60,000+ over three years; a fast-pivoting startup correctly stayed on-demand.
Do this
- Confirm the workload has been steady 3+ months — pull 90 days from Cost Explorer before committing.
- Reserve the baseline, not the peak — steady at 10 shards, spiking to 15 → reserve 10, let the 5 ride on-demand (pair with ElastiCache Auto Scaling).
- Match region and instance type exactly — a us-east-1 reservation does nothing for eu-west-1; a cache.r6g.large reservation does nothing for cache.r6g.xlarge.
- Pick payment by cash flow — All Upfront for max discount and clean accounting, Partial for balance, No Upfront to flatten the monthly bill without capital.
- Blend for less-than-certain workloads — reserve 70–80% of capacity, leave 20–30% on-demand as risk management.
- Set a calendar reminder 60 days before term end — reservations don't auto-renew and silently revert to on-demand.
Gotchas
- You can't resize a reservation — need a bigger node type mid-term and you pay for the old reservation and on-demand for the new nodes; engine and instance type are locked (only AZ-within-region is modifiable).
- Region-locked with no guardrail — AWS won't stop you buying in the wrong region; you'll pay for the reservation and the on-demand nodes elsewhere.
- Compute only — data transfer and backup/snapshot storage still bill on-demand; the cache bill never drops to zero.
- No clean exit — the Reserved Instance Marketplace exists but selling is clunky and usually at a loss.
Skip this if
- The workload is experimental, bursty, short-term, or the infrastructure is changing fast — on-demand flexibility wins; a 1-year reservation on a 6-month project just burns money.
- You haven't confirmed a stable baseline yet — reserve nothing until usage has held for at least 3 months, then commit only to the floor. For the variability side, ElastiCache Auto Scaling handles peaks while these cover the baseline.