aws_elasticache_cluster cost estimation
Managed Redis or Memcached. Priced per node-hour by instance type, with no storage or request charges.
An aws_elasticache_cluster is a managed in-memory cache running Redis or Memcached. Unlike S3 or DynamoDB, ElastiCache has no per-request or per-GB-month charges. You pay for the underlying compute nodes by the hour, period.
The cost model is identical to EC2: pick a node type (cache.t4g.micro through cache.r7g.16xlarge), pick a region, and pay the hourly rate times the number of nodes. A 3-node cache.m6g.large cluster in us-east-1 costs about 3 × $0.156/hour × 730 hours = $342/month.
Redis clusters have two replication modes. A non-cluster-mode cluster has one primary plus zero or more replicas (set via num_cache_nodes). A cluster-mode cluster shards data across multiple primary nodes, each with optional replicas (aws_elasticache_replication_group, not aws_elasticache_cluster). Pricing is the same per node either way; cluster mode just adds more nodes.
Memcached clusters always use multiple nodes for sharding. Each node is billed independently.
Reserved nodes (aws_elasticache_reserved_cache_node) cut prices by 30-60% for 1- or 3-year commitments. Useful for steady-state caches that you know you'll run continuously.
c3x reads node_type, num_cache_nodes, and engine from the Terraform configuration. Reserved pricing is applied via purchaseOption in c3x-usage.yml.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_elasticache_cluster" "session_cache" {
cluster_id = "session-cache"
engine = "redis"
node_type = "cache.m6g.large"
num_cache_nodes = 1
parameter_group_name = "default.redis7"
engine_version = "7.1"
port = 6379
}Pricing dimensions
What you actually pay for when you provision aws_elasticache_cluster.
| Dimension | Unit | What's being charged |
|---|---|---|
| Node hours | per node per hour | Hourly rate for the node type. Multiplied by num_cache_nodes for the total. c3x assumes 730 hours/month. $0.156/hour for cache.m6g.large in us-east-1 |
| Data transfer between AZs | per GB | Cross-AZ replication traffic for Multi-AZ clusters. Usage-based. |
| Data transfer out to internet | per GB | Egress to the public internet. ElastiCache is typically accessed from EC2 in the same VPC (free). |
Optimization tips
Common ways to reduce aws_elasticache_cluster cost without changing the workload.
Use Graviton (cache.m6g, cache.r6g) over Intel nodes
About 20%Graviton ElastiCache nodes are roughly 20% cheaper than equivalent Intel nodes (m5, r5) with similar or better performance for Redis and Memcached workloads.
Buy reserved nodes for steady-state caches
30-45%Caches rarely scale up and down. A 1-year all-upfront RI cuts on-demand cost by 30-45%. Model with purchaseOption: 'reserved' in c3x-usage.yml.
Consider ElastiCache Serverless for spiky workloads
Workload-dependentServerless bills by GB-hour of data stored and ECPU operations, not by node-hour. Cheaper for unpredictable or low-baseline workloads. Replaces provisioned clusters with cache.serverless.
Right-size the node type
30-50%ElastiCache memory utilization is a CloudWatch metric (DatabaseMemoryUsagePercentage). Nodes running below 40% memory can usually drop a size. Check CloudWatch before resizing.
FAQ
Does c3x handle ElastiCache Serverless?
Yes. ElastiCache Serverless is a separate resource type with different pricing (per GB-hour stored, per ECPU). c3x detects the serverless config and uses the right pricing model.
Is Multi-AZ replication free?
The replica node itself costs the same hourly rate as the primary. Cross-AZ replication data transfer is billed per GB but typically small for Redis.
Does c3x estimate Redis storage?
ElastiCache doesn't bill by storage size. The node type defines the memory limit; you pay for the node regardless of how much memory you use. There's no separate storage line item.
What's the difference between aws_elasticache_cluster and aws_elasticache_replication_group?
aws_elasticache_cluster is for single-shard Redis or Memcached. aws_elasticache_replication_group is for Redis with multiple shards (cluster mode) or with explicit primary/replica topology. c3x estimates both, with replication_group being more common for production Redis.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_elasticache_cluster.