Amazon ElastiCache Pricing Breakdown: Ultimate Guide 2024
Introduction
Welcome to our pricing breakdown blog series! In this post, we’ll provide a detailed breakdown of the billing components for Amazon ElastiCache, a fully managed, high-performance caching service compatible with Valkey, Redis, and Memcached. ElastiCache is designed to boost application performance by handling hundreds of millions of operations per second with sub-millisecond response times, making it ideal for workloads that require fast and reliable data caching. This service delivers enhanced security, scalability, and performance that surpasses standard open-source caching solutions.
There are 6 key factors that can impact your ElastiCache bill. In this blog, we’ll break down each component to help you understand and manage your costs effectively:
- Engine Type
- Instance Type (On-Demand and Reserved)
- Serverless
- Data Tiering
- Backup and Restore
- Data Transfer
By the end of this breakdown, you’ll have a comprehensive understanding of how ElastiCache billing works and how you can optimize your setup for both performance and cost efficiency.
All pricing examples in this blog refer to rates for the US East (N. Virginia) region
ElastiCache Free Tier
AWS offers a Free Tier to help new users get started with ElastiCache at no cost. If you new to AWS you can use 750 hours per month of ElastiCache cache.t2.micro or cache.t3.micro nodes, free of charge, for the first 12 months.
Additionally, AWS covers 15 GiB of data transfer out each month across all AWS services, including ElastiCache. This free data transfer is available for one year, with no charges for data transferred into or out of ElastiCache nodes within a region.
ElastiCache Serverless Pricing
ElastiCache Serverless offers a flexible, pay-as-you-go pricing model that’s designed to scale with your caching needs. This model charges based on two key metrics: data storage and ElastiCache Processing Units (ECPUs).
- Data Stored: Charges are based on data stored, measured in gigabyte-hours (GB-hrs). ElastiCache Serverless regularly monitors your cache’s data usage, calculating an hourly average to determine storage costs. Each ElastiCache Serverless instance incurs a minimum of 1 GB of metered data storage for Redis OSS and Memcached, while ElastiCache for Valkey offers a more cost-efficient option with 33% lower pricing and a reduced minimum of 100 MB for metered storage.
- ElastiCache Processing Units (ECPUs): Requests to ElastiCache Serverless are billed in ECPUs, which cover both vCPU time and data transfer. Each kilobyte (KB) of data transferred (reads and writes) consumes 1 ECPU. For example, a GET command transferring 3.2 KB of data will use 3.2 ECPUs. Commands requiring more processing time or transferring more data will consume ECPUs proportionately.
Pricing by Engine Type
The cost of ElastiCache Serverless varies by caching engine. Below are the pricing details for each engine.
Valkey
- Data Stored: $0.084 per GB-hour
- ElastiCache Processing Units (ECPUs): $0.0023 per million ECPUs
Memcached
- Data Stored: $0.125 per GB-hour
- ElastiCache Processing Units (ECPUs): $0.0034 per million ECPUs
Redis OSS
- Data Stored: $0.125 per GB-hour
- ElastiCache Processing Units (ECPUs): $0.0034 per million ECPUs
Example: Starting a Cache for a New Application
Scenario: You’re building a new app that needs a cache to store frequently accessed data for improved performance. You estimate an average dataset size of 10 GB and a request rate of 50,000 requests per second.
Cost Breakdown:
- Data Storage:
- Hourly: 10 GB * $0.0837/GB-hour = $0.837/hr
- Monthly: $0.837 * 24 hours * 30 days = $602.64/month
- ECPU Usage:
- Hourly: 50,000 requests/second = 180 million ECPUs per hour
- Cost per hour: 180 million ECPUs / 1 million * $0.00227 = $0.409/hr
- Monthly: $0.409 * 24 hours * 30 days = $294.48/month
Total Cost:
- Hourly:
- Data Storage: $0.837/hr
- ECPU: $0.409/hr
- Total: $1.246/hour
- Monthly:
- Data Storage: $602.64/month
- ECPU: $294.48/month
- Total: $897.12/month
This serverless approach enables you to dynamically adjust your cache usage and costs, making it ideal for applications with fluctuating demand. Valkey provides a particularly economical option for data storage and ECPU usage, offering a lower-cost solution for users focused on cost efficiency.
Instance Charges
On-Demand Instances
Using on-demand nodes provides flexibility, as you’re charged for memory capacity by the hour without any long-term commitments. Billing for on-demand nodes is calculated hourly, starting from the moment a node is launched until it is terminated. Note that any partial node-hour consumed is billed as a full hour.
ElastiCache offers a range of on-demand node types tailored to different caching needs, including:
- Standard cache nodes
- Memory-optimized cache nodes
- Network-optimized cache nodes
Additionally, pricing varies based on the caching engine used, with options available for:
- Valkey
- Memcached
- Redis
Each node type offers distinct capabilities and pricing, allowing users to select the best fit for their specific application requirements. A complete list of available node types and pricing details by engine can be seen here.
Reserved Instances
Amazon ElastiCache offers Reserved Nodes (RIs) as a cost-effective option, providing substantial discounts off the regular hourly rate when you commit to a one-year or three-year term. With reserved nodes, you have multiple payment options to further customize your savings:
- No Upfront: Pay low hourly charges with no initial payment.
- Partial Upfront: Make a one-time, partial upfront payment and benefit from lower hourly charges.
- All Upfront: Pay the entire cost upfront for the lowest possible hourly charges.
ElastiCache reserved nodes come with size flexibility, allowing your reserved node discounts to apply across various node sizes. This flexibility enables you to adjust the node size as your workload demands change, eliminating the need to lock into a specific node size and simplifying capacity planning.
Reserved node pricing is also available for cluster nodes utilizing data tiering, enabling further cost savings for data-intensive workloads.
Note: Reserved nodes are not available with ElastiCache Serverless.
Example of Reserved Instance pricing
Let's take the cache.m7g.xlarge node using the Valkey engine as an example with the No Upfront payment option:
- On-Demand Rate: $0.2520 per hour
- Reserved Rate (No Upfront): $0.171 per hour
- Savings: 32% over On-Demand
By choosing a reserved instance for a cache.m7g.xlarge node, you could save 32% compared to the on-demand rate, making it a cost-effective choice for steady, long-term workloads.
For more information, refer to the ElastiCache reserved node documentation.
Data Tiering
Amazon ElastiCache offers data tiering for nodes that utilize solid state drives (SSD) to optimize costs by automatically offloading less frequently accessed data from memory to SSD storage. While data stored on SSD has slightly higher latency and lower throughput compared to data stored in memory, data tiering helps balance performance with cost efficiency.
ElastiCache nodes with data tiering are well-suited for workloads that frequently access up to 20% of their data and for applications that can tolerate a bit more latency when accessing less-frequently used items for the first time.
For example, ElastiCache r6gd nodes—which combine memory and SSD—offer nearly 5x more total storage capacity than traditional memory-only r6g nodes. This configuration can result in over 60% cost savings when utilized at maximum capacity.
Note: Data tiering is not available with ElastiCache Serverless.
Here are the available instances with their hourly prices and other specifications for Valkey Engine.
And these are the instances for the Redis OSS engine.
Example: Hosting a Terabyte-Scale Cache with Data Tiering
Scenario: You’re running a reporting application that accesses recent data frequently, while keeping 12 months of historical data (1 TiB total) for compliance. To boost performance, you use ElastiCache for Valkey with the cache.r6gd.16xlarge node type, benefiting from data tiering. The application runs in US East (N. Virginia) without read replicas, snapshots, or Global Datastore.
Cost Breakdown:
- Node Charges:
- Dataset Size: 1 TiB
- cache.r6gd.16xlarge capacity: 314.33 GiB memory + 1592.56 GiB SSD = 1906.89 GiB total
- Nodes required: 1 node (1 TiB fits within one node)
- Hourly Cost: $9.98/hr
- Monthly Cost: $9.98 * 24 hours * 30 days = $7,184.64/month
- Comparison (Fully in Memory):
- Nodes required: 4 nodes of cache.r6g.16xlarge (each with 314.33 GiB memory)
- Hourly Cost (in memory): 4 nodes * $6.567 = $26.27/hr
- Monthly Cost (in memory): $26.27 * 24 hours * 30 days = $18,946.56/month
- Savings with Data Tiering: 52.5%
By using data tiering, you achieve significant cost savings of 52.5% compared to a fully in-memory setup, while maintaining low-millisecond latencies for frequently accessed data.
Backup and Restore
Amazon ElastiCache offers backup and restore service, allowing you to securely store backups at a rate of $0.085 per GiB per month across all AWS Regions. This fixed rate provides predictable storage costs for maintaining backups over time.
There are no additional data transfer fees for creating backups or restoring data from a backup to a cache.
Data Transfer
Data transfer pricing depends on whether the transfer occurs within the same Availability Zone (AZ), across different AZs within a Region, or between Regions.
Data Transfer Costs Within a Region
- Same Availability Zone: There are no charges for data transfers between Amazon Elastic Compute Cloud (Amazon EC2) and ElastiCache within the same Availability Zone.
- Different Availability Zones: Standard Amazon EC2 Regional data transfer charges apply when transferring data between an EC2 instance and an ElastiCache node located in different Availability Zones within the same Region. The cost is $0.01 per GiB for data in or out, but only the data transfer in or out of the EC2 instance incurs a charge.
Data Transfer Costs Across Regions
ElastiCache Global Datastore supports fully managed, fast, and reliable cross-Region replication for applications requiring global data access. For data transfers from the primary (source) Region, the following charge applies:
- Global Datastore Data Transfer OUT from ElastiCache: $0.02 per GiB (US East, N. Virginia)
Global Datastore is compatible with m5, r5, r6g, r6gd, m6g, m7g, and r7g nodes, though it is not eligible for the AWS Free Tier.
Note: Global Datastore is not available with ElastiCache Serverless.
AWS Outposts
AWS Outposts is a fully managed service that brings AWS infrastructure, services, APIs, and tools directly to customers' on-premises locations, such as data centers or colocation spaces. With Outposts you can build and run applications locally, using AWS-managed infrastructure, while enjoying the same programming interfaces available in AWS Regions.
Outposts are available for a three-year term, with flexible payment options:
- No Upfront: Pay low hourly charges with no initial payment.
- Partial Upfront: Make a one-time, partial upfront payment for lower ongoing charges.
- All Upfront: Pay the entire cost upfront for the most discounted rate.
Pricing for AWS Outposts
Pricing for ElastiCache on Outposts varies based on the instance type (Standard nodes or Memory-optimized nodes) and engine type (Valkey, Redis, or Memcached). For a complete list of available instances and their pricing, visit the ElastiCache Outposts pricing page.
ElastiCache for Outposts supports only m5 and r5 family nodes.
Conclusion
Amazon ElastiCache offers flexible pricing options. By understanding the key cost factors—such as engine type, instance type, data storage, and data transfer—you can optimize both performance and expenses. With options for various caching engines and configurations, ElastiCache enables you to build efficient, scalable applications while managing costs effectively. Use this guide to make informed decisions and tailor ElastiCache to best fit your workload and budget.