You need a robust platform to speed up your read/write operations per second if you provide services such as live streaming, social media networking, and analytics. By storing frequently accessed objects in faster memory (RAM or in-memory data stores instead of slower disk-based storage), caching reduces latency.
Amazon ElastiCache is a managed, in-memory data store and caching service in one. It helps you configure, coordinate, and optimize caching processes for distributed workloads using either Memcached or Redis caching engines.
ElastiCache doesn’t just speed up your operations. It also saves you the time and money involved in setting up and optimizing your own caching system from scratch. Is ElastiCache pricing worth it — and how much does Amazon ElastiCache cost, really?
Table Of Contents
ElastiCache Pricing Model Explained
ElastiCache charges on a pay-as-you-go basis. This means you:
- Only pay for the capacity you use.
- You do not need to pay anything upfront.
- You won’t be required to sign any long-term contracts if you choose not to.
However, AWS offers ElastiCache at a fixed price for 1 or 3 years. Here’s how ElastiCache pricing works in more detail.
How Does Amazon ElastiCache Pricing Work?
ElastiCache runs on Nodes. Nodes are ultimately Amazon EC2 instances using customized software and prefixed with “cache”. Thus, ElastiCache charges hourly based on the number of nodes, the type of node, and the pricing model you choose.
Depending on your needs, you may use nodes individually or in a cluster. With ElastiCache, you can pair every primary node with a caching node. The more nodes you replicate, the more you’ll have to invest.
Pricing for ElastiCache is either on-demand or reserved.
- ElastiCache’s on-demand pricing lets you pay only for the resources and capacity your ElastiCache On-Demand Nodes use per hour. No upfront payments are necessary. No contracts or long-term commitments are required.
- ElastiCache reserved pricing enables you to make a small, once-off, advance payment for each node you want to reserve for one or three years. Each node you reserve gets you a substantial discount off the standard hourly rate.
ElastiCache on-demand nodes give you the flexibility to manage your nodes as needed to meet your workload requirements. This ElastiCache billing method makes sense if you are just getting started with a workload or the service and you’re not sure how much power to reserve.
But that flexibility makes on-demand nodes more expensive per hour than ElastiCache Reserved nodes.
See, ElastiCache nodes tend to be on for longer intervals. Also, they don’t support auto-scaling groups, which could have saved costs when usage is low. Reserved Instances may make sense if you need consistent ElastiCache node performance over time for predictable consumption.
But there’s something else.
Current generation ElastiCache node types deliver higher memory and computing power, and cost, than previous generation node types. In other words, the type of node you choose will have a huge impact on your ElastiCache costs.
If you are unsure which ElastiCache nodes to use, check out CloudZero Advisor. CloudZero Advisor provides recommendations on the best ElastiCache node types for your specific workload based on factors like pricing, cache instance, node size, AWS region, and more.
Use CloudZero Advisor to choose the right ElastiCache node types for your needs
Now, how much do Amazon ElastiCache nodes cost?
How Much Do Different ElastiCache Node Types Cost?
There are several factors that determine the price of Amazon ElastiCache nodes, including:
- Cache node type (On-demand or reserved nodes and whether they run atop General or Memory-Optimized Amazon EC2 instances)
- Cache node size (micro, small, medium, large, Xlarge, 2XLarge, 4XLarge, 8XLarge, 12XLarge, 16XLarge, and 24XLarge)
- Compute resources used (virtual CPU (vCPU), RAM memory, and network bandwidth)
- AWS Region
- Backup storage costs
- Costs of transferring data within or across AWS regions
- Costs associated with using AWS Outposts on-premises
Let’s dig into these factors some more — not so much as to confuse things, but just enough to understand how ElastiCache pricing works.
ElastiCache on-demand node pricing
You pay for on-demand nodes’ memory capacity per hour. Each partial hour of usage counts as a full hour, too. You do not need any prior planning or provisioning to use these nodes. The on-demand billing method is ideal if your workloads are variable, or inconsistent, or if you are just starting a new workload type and are unsure how much power it will require.
Billing for on-demand nodes starts from the time you launch a node until you terminate it.
From the US East North Virginia region, here are examples of prices for mid-size, current-generation, and General Purpose ElastiCache on-demand nodes per hour:
General Purpose Cache node type |
vCPU |
RAM (Memory) |
Network bandwidth |
Price |
cache.t2.medium |
2 |
3.22GiB |
Low to moderate |
$0.068/hour |
cache.t3.medium |
2 |
3.09GiB |
Up to 5Gbps |
$0.068/hour |
cache.t4.medium |
2 |
3.09GiB |
Up to 5Gbps |
$0.065/hour |
cache.m4.large |
2 |
6.42GiB |
Moderate |
$0.156/hour |
cache.m5.large |
2 |
6.38GiB |
Up to 10Gbps |
$0.156/hour |
cache.m6g.large |
2 |
6.38GiB |
Up to 10Gbps |
$0.149/hour |
Notice how the latest ElastiCache node types offer better price-performance over earlier-generation node types.
That pattern continues when choosing the right memory-optimized ElastiCache node types for your workload:
Memory-optimized Cache node type |
vCPU |
RAM (Memory) |
Network bandwidth |
Prices |
cache.r4.large |
2 |
12.3GiB |
Up to 10Gbps |
$0.228/hour |
cache.r5.large |
2 |
13.07GiB |
Up to 10Gbps |
$0.216/hour |
cache.r6.large |
2 |
13.07GiB |
Up to 10Gbps |
$0.206/hour |
Current-generation, memory-optimized cache node types also deliver higher price performance at lower cost.
ElastiCache reserved nodes pricing
Unlike on-demand nodes, reserved nodes require prior planning to provision the most optimal capacity for your workloads over a one- or three-year period. Committing gets discounts of up to 55% (3 years) or up to 36% (1 year) off on-demand node pricing.
You convert nodes to reserved nodes by calling the purchasing API or using the reserved node option in your AWS console. During the purchase, you will be required to specify a region, a node type, a payment term, and the number of nodes you intend to reserve. As soon as you select a region, AWS limits the use of reserved nodes in any other region except the one you have designated.
Also, ElastiCache reserved nodes offer three payment plans:
- All upfront (pay 100% in advance to get the highest discount per node per hour)
- Partial upfront (pay monthly for a significant discount)
- No upfront (enjoy up to 31% off on-demand node pricing with no upfront payment)
This image illustrates the savings you can achieve by using Amazon ElastiCache reservation pricing in the US East (Ohio) region, one-year term, partial upfront payment plan, and using memory-optimized nodes:
Here’s what you get if you choose to pay all-upfront over three years but with similar Amazon ElastiCache’s reserved node types:
Your Amazon ElastiCache instance type clearly affects your monthly ElastiCache bill.
Other Factors That Affect Amazon ElastiCache Pricing
Data tiering, backup storage, and data transfers within and outside ElastiCache also affect your Amazon ElastiCache spending. Here’s a quick look at how.
Data tiering pricing in ElastiCache
With ElastiCache clusters that tier data, objects with low usage frequency are automatically moved from memory to SSDs to optimize costs.
Although SSDs store more data than memories, their latency and throughput is higher.
The ElastiCache for Redis data tiering feature is suitable for workloads that access up to 20% of their data frequently, as well as for workloads that can tolerate longer latency when requesting less frequently accessed objects.
Again, you’ll notice the latest-generation ElastiCache node types provide better price performance here.
For example, using R6gd nodes with memory and solid state drives provides almost 5X more overall storage capacity (and 60% cost savings when running at full utilization) over ElastiCache R6g nodes with only memory.
ElastiCache costs for backup storage
Backup storage in AWS refers to storage for snapshots created automatically or manually (user-initiated).
Backup storage is only available with ElastiCache for Redis. Each active ElastiCache for Redis cluster stores one snapshot for free. Additional backup space costs $0.085 per GB per month, regardless of your location.
It is free to transfer data for creating and restoring snapshots.
ElastiCache data transfer costs
If you transfer data to and from Amazon EC2 within a single AWS Availability Zone (AZ), Amazon ElastiCache won’t charge you.
You pay only for the data transfer in/out of an Amazon EC2 instance — not in or out of a particular Amazon ElastiCache node. It costs $0.01 per GB in/out between different Availability Zones of the same AWS Region.
Also, the Free Usage Tier provides new customers with 15GB of data transfer out for free each month for one year. The plan applies across all AWS services.
For data transfers across several AWS regions, Amazon ElastiCache for Redis provides Global Datastore, which optimizes cross-region data replication. Different charges apply for data transfers out of the primary region (or source). Currently, Global Datastore is only available with M5, R5, R6g, R6gd, and M6g nodes, which are not eligible for the Free Tier.
ElastiCache pricing for AWS outposts
AWS Outposts provides local access to fully managed AWS infrastructure. With AWS Outposts, you can build and run workloads on-premises using the same APIs as in AWS Regions, but using local compute and storage capacity to achieve low latency.
For now, ElastiCache for Outposts only supports the M5 and R5 node families whose pricing applies differently as well.
How To Understand, Reduce, And Optimize Amazon ElastiCache Costs
As you can see, the billing process for Amazon ElastiCache is complicated. It may not always be easy to translate this knowledge into reducing your ElastiCache costs immediately. We get it, and you are not alone.
Let’s take it one step at a time. First, you’ll want to determine which ElastiCache instance type is best for your application. With a tool like CloudZero Advisor, you can see recommendations based on pricing, caching node size, AWS Region, and caching instance type.
Next, deploy your ElastiCache node types and track your costs from the start with CloudZero. Unlike most cost management tools, CloudZero collects, enriches, and presents your costs granularly — even if you have messy cost allocation tags.
CloudZero breaks down your costs by hour, service, and environment. In addition, you can view your costs by individual customer, product feature, product, team, project, and more, like this:
That’s only scratching the surface. CloudZero also offers budgets and cost forecasting, real-time cost anomaly detection, and more. Don’t just take our word for it.
to see why ambitious brands like Drift (cut their AWS spend by $2.4 million annually) and Obsidian (25% spend cut) use CloudZero.
Amazon ElastiCache Pricing FAQs
Here are answers to some of the most frequently asked questions about the ElastiCache pricing model.
What is Amazon ElastiCache used for?
ElastiCache is a cache-as-a-service. Caching involves using dedicated, high-speed storage layers to hold a portion of data, often transient, so subsequent requests for it are served up faster than it would take to retrieve it from the primary storage location every time.
How does ElastiCache pricing work?
Pay-per-use is the default pricing model for Amazon ElastiCache, which charges you for only the resources you consume per hour per node (On-demand node pricing).
However, you can also commit to a 1- or 3-year contract and receive up to a 55% discount per node per hour (Reserved nodes for Amazon ElastiCache).
Overall, the price you pay depends on factors such as the type of caching node you choose, its size, and the region in which you run it. Also affecting costs are backup storage and data transfer costs.
What is the difference between Dax and ElastiCache?
DAX is suitable for read-intensive workloads and is an ideal in-memory cache for DynamoDB. ElastiCache is suitable for managing caching processes for both Redis and Memcached.
Are Redis and ElastiCache the same?
Redis is an open-source advanced key-value store, an in-memory data store that persists on disk. Since it supports keys that contain sorted sets, strings, lists, hashes, and sets, Redis is often called a data structure server.
Meanwhile, ElastiCache provides a fully managed caching service on AWS that supports Memcached and Redis caching.
How does Elasticache compare to CloudFront?
The Amazon CloudFront Content Delivery Network (CDN) uses endpoint caches located close to traffic sources to speed up web content delivery. Conversely, ElastiCache stores a subset of data in memory rather than on disk, making its retrieval much faster whenever the same data is needed.