Amazon ElastiCache is a full managed, Redis- and Memcached-compatible service that delivers real-time, cost-optimized performance for modern applications with 99.99% availability. ElastiCache speeds up database and application performance, scaling to hundreds of millions of operations per second with microsecond response time. ElastiCache offers enhanced security, reliability, scalability, and performance when compared to open source alternatives. ElastiCache also unlocks cost savings for read-heavy workloads and provides cost optimization features like data tiering for memory-intensive workloads.
With ElastiCache, you pay only for what you use with no minimum fee. You are charged hourly based on the number of nodes, node type, and pricing model you select. There are no upfront costs or long-term commitments.
ElastiCache supports both on-demand nodes, which allows you to pay by the hour, and reserved nodes, which offers significant discounts for customers who commit to either one-year or three-year terms.
You may also incur costs associated with backup storage, data transfer within or across regions, or use of AWS Outposts.
As part of the AWS Free Tier, you can get started with Amazon ElastiCache for free. Upon signup, new AWS customers receive 750 hours of ElastiCache cache.t2.micro or cache.t3.micro node usage for free for up to 12 months.
There is no ElastiCache data transfer charge for traffic in or out of the ElastiCache node itself. As part of the AWS Free Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.
The AWS Free Tier applies to participating services across our global regions. Your free usage under the AWS Free Tier is calculated each month across all regions and automatically applied to your bill – free usage does not accumulate. The AWS Free Tier is not available in the AWS GovCloud (US) regions or the China (Beijing) region at this time.
A node is the smallest building block of an Amazon ElastiCache cluster. In general, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation node types. For information on which node size to use, see supported node types and choosing your node size.
Using on-demand nodes allows you to pay for memory capacity the by hour with no long-term commitments. This model frees you from the costs and complexities of planning, purchasing, and maintaining hardware and helps transform large, fixed costs into smaller variable costs. When using on-demand nodes, you are billed hourly from the time a node is launched until it is terminated. Each partial node-hour consumed will be billed as a full hour.
Nodes with data tiering use solid state drives (SSD) to automatically optimize the costs of your Amazon ElastiCache clusters by moving the least frequently used items from memory to SSD. Data stored on SSD exhibits slightly higher latency and lower throughput compared to data stored in memory.
ElastiCache for Redis nodes with data tiering are ideal for workloads that access up to 20% of their data regularly, and for applications that can tolerate additional latency the first time a less-frequently accessed item is needed.
ElastiCache R6gd nodes with memory and SSD have nearly 5x more total storage capacity, and can help customers achieve over 60% cost savings when running at maximum utilization compared to ElastiCache R6g nodes with memory only. See Example 4 below for a comparison on how data tiering can reduce your spend.
Amazon ElastiCache reserved nodes provide a significant discount off the ongoing hourly usage rate for the node(s) you reserve in one-year or three-year terms. With reserved nodes, you can choose to:
- Pay low hourly charges with no upfront payment
- Make a one-time, partial upfront payment with lower hourly charges
- Pay all upfront for even lower hourly charges
Reserved node pricing is also available for cluster nodes using data tiering. To learn more, visit our ElastiCache reserved node documentation.
Reserved node plans for ElastiCache
* RI monthly fees are the average monthly payment over the course of the Reserved Instance term. For each month, depending on the ElastiCache instance type you run, the actual monthly payment will equal the actual number of hours in that month multiplied by the hourly usage rate, or the number of seconds in that month multiplied by the hourly usage rate divided by 3600. The hourly usage rate is equivalent to the total average monthly payments over the term of the Reserved Instance divided by the total number of hours (based on a 365-day year) over the term of the Reserved Instance.
** RI effective hourly rate helps you calculate how much a Reserved Instance will save you over On-Demand pricing. When you purchase a Reserved Instance, you are billed for every hour during the entire Reserved Instance term you select, regardless of whether the instance is running. The effective hourly price shows the amortized hourly instance cost. This takes the total cost of the Reserved Instance over the entire term, including any upfront payment, and spreads it out over each hour of the Reserved Instance term.
Backup and restore
With Amazon ElastiCache for Redis, you can store one backup for each active Redis cluster free of charge. Storage space for additional backups is charged at a rate of $0.085 per GB per month for all AWS Regions. There are no data transfer fees for creating a backup or for restoring data from a backup to a Redis cluster.
ElastiCache clusters running Redis can backup their data. You can use the backup to restore a cluster or seed a new cluster. Backup storage is only available for ElastiCache for Redis.
Data transfer costs within a region
There is no charge for data transfer between Amazon EC2 and Amazon ElastiCache within the same Availability Zone (AZ). While standard EC2 regional data transfer charges of $0.01 per GB in/out apply when transferring data between an EC2 instance and an ElastiCache node in different Availability Zones of the same Region, you are only charged for the data transfer in or out of the EC2 instance.
Data transfer costs across regions
Amazon ElastiCache Global Datastore enables fully managed, fast, reliable, and secure cross-region replication. The following charges apply for outgoing traffic from the primary (or source) region.
Global Datastore is available with M5, R5, R6g, R6gd, and M6g nodes, which are not eligible for AWS Free Tier.
AWS Outposts is a fully managed service that extends AWS infrastructure, services, APIs, and tools to customers’ datacenters, co-location spaces, or on-premises facilities. You can purchase Outposts servers for a three-year term with partial upfront, all upfront, and no upfront options available. The price includes delivery, installation, servicing, and removal at the end of the term.
By providing local access to AWS managed infrastructure, Outposts enables you to build and run applications on-premises using the same programming interfaces as in AWS Regions, while using local compute and storage resources for lower latency and local data processing needs. Amazon ElastiCache for Outposts only supports M5 and R5 family nodes.
Usage and pricing scenarios
Example 1: Memcached, Single-AZ, On-Demand
Scenario: You have a simple database caching use case that utilizes Amazon ElastiCache for Memcached. Your total dataset size is 25 GB and your application is architected for a single Availability Zone running in U.S. East (N. Virginia).
Decision: You won’t need to maintain your environment for very long, so you opt for on-demand pricing. You decide to use cache.m6g.large nodes in a five-node cluster as a balance between network performance, memory capacity, and limiting blast radius of node failures by biasing towards more, smaller nodes in a cluster architecture. Your total charges are calculated as follows:
On-demand node charges
cache.m6g.large = $0.149 / hour
Total = $0.149 * 5 node cluster = $0.745 / hour
Example 2: High-Read, Multi-AZ, One-year, No Upfront Cost (Caching)
Scenario: You have a read-heavy workload that utilizes Amazon ElastiCache for Redis. Your total dataset size is 150 GB of 200 byte objects. Your workload is 20 percent writes, 80 percent reads, and approximately 600,000 transactions per second. Since the workload is read-heavy, you use an ElastiCache architecture of one primary node and 5 replica nodes as the replicas can serve the read traffic. You choose the cache.r6g.8xlarge node type as it has enough memory to fit the entire working dataset on each node (keeping in mind the need for reserved memory). You also choose to deploy your workload across two availability zones in U.S. East (N. Virginia).
Decision: The overall workload size is predicted to be stable, so you opt to secure one-year reserved instances with no upfront purchase. Additionally, you utilize the free daily backup feature of ElastiCache and take an additional monthly backup. Your total charges are calculated as follows:
Reserved node charges with one-year commitment, no upfront
1 Primary + 5 Replicas = 6 total nodes
cache.r6g.8xlarge 1-year no upfront effective hourly pricing = $2.241 /hour
6 nodes * $2.241 = $13.446 /hour
Data transfer charges
600,000 transactions per second * 200 bytes * 60 minutes/hour * 60 seconds/minute = 432 GB /hour
Approximately 50 percent of your data will cross AZs due to multi-AZ architecture
432 GB * 50% * $0.01 /GB = $2.16 /hour
Backup storage charges
1 snapshot of 150 GB * $0.085 per GB /month= $12.75 /month
$12.75 / 730 hours in month = $0.017 /hour
Amazon ElastiCache node charges = $13.446 /hour
Data transfer charges = $2.16 /hour
Backup storage charges = $0.017 /hour
Total = $13.446 + $2.16 + $0.017 = $15.623 / hour
Example 3: High-Write with Global Datastore for Amazon ElastiCache for Redis, Three-year Upfront (distributed session store use case)
Scenario: You have a write-heavy distributed session store workload that utilizes Amazon ElastiCache for Redis. Since your users are located all over the United States, you opt to leverage Global Datastore in both U.S. East (N. Virginia) as the primary region and U.S. West (N. California) as the secondary region. Your total dataset size is 25 GB of 200 byte objects. Your traffic pattern is 50,000 writes per second with 50,000 reads per second on the primary region and 50,000 reads on the secondary region. You’ve opted to deploy a clustered architecture across three AZs with three shards and two replica nodes per shard, in each region. A shard is a collection of one to six Redis nodes.
Decision: You expect this workload to be very stable and have opted to commit to reserved instances over three years with full upfront purchasing. For backups you are using the included, free backup. Your total charges would be calculated as follows:
Reserved node charges with 3-year commitment, all upfront
3 shards * 3 nodes per shard * 2 regions = 18 total nodes
cache.m6g.xlarge 3-year all upfront effective hourly pricing = $0.134 /hour
18 nodes * $0.134 = $2.412 /hour
Data transfer charges
100,000 reads per second * 200 bytes * 60 minutes /hour * 60 seconds /minute = 72 GB/hour
50,000 writes per second * 200 bytes * 60 minutes /hour * 60 seconds/minute = 36 GB/hour
Approximately 66% of your data will cross AZs due to multi-AZ architecture
(72 GB + 36 GB) * 50% * $0.01/GB = $0.475 + $0.238 = $0.713 /hour
Global Datastore replication traffic OUT = 36 GB /hour
36 GB * $0.02 = $0.72 /hr
Total = $0.72 + $0.713 = $1.433 /hour
Backup storage charge
Included backup per cluster = Free
Amazon ElastiCache node charges = $2.412 /hour
Data transfer charges = $1.433 /hour
Backup storage charges = Free
Total = $2.412 + $1.433 + $0 = $3.845 /hour
Example 4: Hosting a terabyte-scale cache with low-millisecond latencies using data tiering
Scenario: You are running a reporting application and have chosen ElastiCache to boost performance of the underlying database. The application is temporal in nature, mostly accessing data generated over the last month, but is required to keep 12 months of data for compliance purposes. The application stores 85 GiB per month for a total of 1 TiB.
Decision: Because your application uses mostly the most recent data, you select the cache.r6gd.16xlarge node type with data tiering. Your application is running in the US East (N. Virginia) region. You are not using read replicas, snapshots, Global Datastore, or any other billable ElastiCache feature. Your total charges are calculated as follows:
On-Demand Node Charges
Dataset size: 1 TiB (or 1024 GiB)
cache.r6gd.16xlarge usable memory capacity: 419.1 GiB/node, less 25% reserved memory: 419.1*.75 = 314.33 GiB/node
cache.r6gd.16xlarge solid-state drive (SSD) capacity: 1592.56 GiB
Total capacity per node: 314.33 + 1592.56 = 1906.89 GiB/node
Nodes required for dataset: 1024 GiB ÷ 1906.89 GiB/node = 1 node
cache.r6gd.xlarge on-demand price: $12.477/hr
Total hourly charge: 1 nodes * $12.477/hr = $12.48
Nodes required if running fully in memory: 1024 GiB ÷ 314.33 GiB/node for cache.r6g.16xlarge = 4 nodes
cache.r6g.16xlarge on-demand price: $6.567/hr
Hourly charge for running fully in memory: 4 nodes * $6.567/hr = $26.27
Savings compared to running fully in memory: $26.27 – ($12.48 / $26.27) = 52.5%
Does Amazon ElastiCache have a free tier and can you get started for free?
Yes, you can get started with Amazon ElastiCache for free. New AWS customers receive 750 hours of ElastiCache cache.t2.micro or cache.t3.micro node usage for free for up to 12 months. As part of the AWS Free Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.
The AWS Free Tier applies to participating services across our global regions. Your free usage under the AWS Free Tier is calculated each month across all regions and automatically applied to your bill - free usage does not accumulate. The AWS Free Tier is not available in the AWS GovCloud (US) regions or the China (Beijing) region at this time.
How much does Amazon ElastiCache cost per month?
Use the AWS Pricing Calculator to calculate your Amazon ElastiCache and architecture cost in a single estimate based on locations, data transfer amounts, number of requests, and more. Pay only for what you use with no minimum fee.
What factors affect the costs for Amazon ElastiCache?
Data tiering, reserved nodes, backup and restore, data transfers, and AWS Outposts can affect your Amazon ElastiCache costs.
- Data Tiering: Nodes with data tiering use solid state drives (SSD) to automatically optimize the costs of your ElastiCache clusters by moving the least frequently used items from memory to SSD.
- Reserved Nodes: ElastiCache reserved nodes provide a significant discount off the ongoing hourly usage rate for the node(s) you reserve in one-year or three-year terms.
- Backup & Restore: With ElastiCache for Redis, you can store one backup for each active Redis cluster free of charge. Storage space for additional backups is charged at a rate of $0.085 per GB per month for all AWS Regions.
- Data Transfers: There is no charge for data transfer between Amazon EC2 and ElastiCache within the same Availability Zone (AZ). While standard EC2 regional data transfer charges apply when transferring data between an EC2 instance and an ElastiCache node in different Availability Zones of the same Region, you are only charged for the data transfer in or out of the EC2 instance
How will I be charged and billed for my use of Amazon ElastiCache?
With Amazon ElastiCache, you only pay for what you use and there’s no minimum fee. Pricing is per-node-hour consumed for each node type. Partial node-hours consumed are billed as full hours.
How are data transfer costs calculated between Amazon EC2 and Amazon ElastiCache?
There is no charge for data transfer between Amazon EC2 and Amazon ElastiCache within the same Availability Zone (AZ). While standard EC2 regional data transfer charges apply when transferring data between an EC2 instance and an ElastiCache node in different AZs of the same region, you are only charged for the data transfer in or out of the EC2 instance.
There is no ElastiCache data transfer charge for traffic in or out of the ElastiCache node itself. Standard data transfer rates apply for data transferred out from a region.
When does billing of my Amazon ElastiCache on-demand nodes begin and end?
Billing for Amazon ElastiCache nodes commences as soon as the node is available. Billing continues until the node is terminated, which would occur upon deletion.
What defines billable Amazon ElastiCache node hours?
Amazon ElastiCache node hours are billed any time your node runs in an “Available” state. If you no longer wish to be charged for your node, then you must terminate it to avoid being billed for additional node hours.
Do Amazon ElastiCache prices include taxes?
Unless noted otherwise, Amazon ElastiCache prices exclude applicable taxes and duties, including VAT and applicable sales tax. Customers with a Japanese billing address are subject to a Japanese consumption tax for use of AWS services.