AWS ElastiCache provides managed in-memory caching with three engines: Redis OSS, Valkey (the open-source Redis fork), and Memcached. Pricing depends on your engine choice, node size, number of replicas, and whether you use the new Serverless option. A common pitfall is over-provisioning node sizes for peak traffic that happens a few hours per day.
TL;DR: ElastiCache node-based pricing starts at $0.017/hour for cache.t4g.micro. Serverless pricing is $0.0034/ECPU and $0.125/GB-hour for storage. Valkey nodes are 20% cheaper than Redis OSS. For variable workloads, Serverless eliminates over-provisioning. For steady traffic, reserved nodes with Graviton (r7g, m7g) save 40-60% over on-demand x86 instances.
Engine Pricing Comparison
Node-Based Pricing (Popular Sizes)
| Node Type | vCPUs | Memory | Redis OSS/hr | Valkey/hr | Memcached/hr |
|---|---|---|---|---|---|
| cache.t4g.micro | 2 | 0.5 GB | $0.017 | $0.014 | $0.017 |
| cache.t4g.medium | 2 | 3.09 GB | $0.068 | $0.054 | $0.068 |
| cache.r7g.large | 2 | 13.07 GB | $0.252 | $0.202 | $0.250 |
| cache.r7g.xlarge | 4 | 26.32 GB | $0.504 | $0.403 | $0.500 |
| cache.r7g.4xlarge | 16 | 105.81 GB | $2.016 | $1.613 | $2.000 |
Valkey discount: Approximately 20% cheaper than Redis OSS for equivalent node types. AWS recommends Valkey for new deployments. See the ElastiCache pricing page for current rates.
ElastiCache Serverless
| Component | Redis OSS | Valkey |
|---|---|---|
| Compute (ECPU) | $0.0034 per ECPU | $0.0027 per ECPU |
| Data storage | $0.125/GB-hour | $0.100/GB-hour |
| Minimum | None | None |
One ECPU represents the compute for a simple GET or SET command. Complex operations like SORT consume multiple ECPUs.
Node-Based vs Serverless Cost Comparison
| Workload | Node-Based (r7g.large) | Serverless |
|---|---|---|
| 10 GB cache, 1M requests/hr, 24/7 | $184/mo (1 node) | ~$295/mo |
| 10 GB cache, 1M requests/hr, 8 hrs/day | $184/mo (always on) | ~$98/mo |
| 50 GB cache, 5M requests/hr, 24/7 | $1,470/mo (2x r7g.4xl) | ~$1,380/mo |
| Variable: 2-50 GB, bursts | $1,470/mo (sized for peak) | ~$400-800/mo |
Rule of thumb: Serverless saves money when utilization is under 60% or workloads are highly variable.
Hidden Costs
Multi-AZ Replication
Enabling Multi-AZ with automatic failover doubles your node cost (primary + replica). A cache.r7g.large in Multi-AZ costs $368/month instead of $184.
Backup Storage
| Backup Type | Cost |
|---|---|
| Automated backups (1 snapshot) | Free |
| Additional backup storage | $0.085/GB/month |
Data Transfer
| Direction | Cost |
|---|---|
| Same AZ (EC2 to ElastiCache) | Free |
| Cross-AZ | $0.01/GB each direction |
| Cross-Region replication | $0.02/GB |
Cross-AZ transfer adds up quickly for high-throughput caches. Placing your application and cache in the same AZ eliminates this cost.
Reserved Node Savings
| Term | Payment | Savings vs On-Demand |
|---|---|---|
| 1-year no upfront | Monthly | ~25% |
| 1-year all upfront | One payment | ~33% |
| 3-year all upfront | One payment | ~55% |
A cache.r7g.large reserved for 3 years costs approximately $83/month vs $184/month on-demand.
Cost Optimization Tips
1. Use Valkey Instead of Redis OSS
Valkey is 20% cheaper per node with feature parity. For new clusters, Valkey is the default recommendation from AWS.
2. Enable Data Tiering
For r6gd node types, data tiering automatically moves less-accessed data to SSD. This provides up to 5x more capacity at about 60% of the cost of pure in-memory nodes.
3. Right-Size with CloudWatch Metrics
Monitor EngineCPUUtilization and DatabaseMemoryUsagePercentage. If memory usage stays under 50%, downsize your node type.
4. Use Graviton Nodes
r7g and m7g (Graviton) instances are approximately 10% cheaper than equivalent x86 (r6i) instances while providing better performance.
Related Guides
- AWS DynamoDB Pricing Guide
- AWS RDS Pricing Guide
- AWS OpenSearch Pricing Guide
- AWS Savings Plans vs Reserved Instances
FAQ
Should I use ElastiCache Serverless or node-based?
Use Serverless for dev/test environments, variable workloads, or when you want zero management. Use node-based with reserved instances for production workloads with predictable, steady traffic patterns.
Is Valkey compatible with Redis?
Yes. Valkey is API-compatible with Redis OSS 7.2. Existing Redis clients work without code changes. AWS recommends Valkey for new deployments due to lower cost and active open-source development.
How do I estimate my ElastiCache costs?
Track your current cache hit rate, data size, and requests per second. For Serverless, multiply requests by $0.0027/ECPU (Valkey). For node-based, pick a node with 2x your data size for headroom and compare monthly cost.
Lower Your ElastiCache Costs with Wring
Wring helps you access AWS credits and volume discounts to lower your ElastiCache costs. Through group buying power, Wring negotiates better rates so you pay less per node hour.
