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.
