Skip to main content

Amazon ElastiCache

Amazon ElastiCache features

Performance and scalability

Open all

ElastiCache helps improve application performance and increase throughput for read-heavy workloads by removing the need to access disk-based databases for frequently accessed data. It scales to hundreds of millions of operations per second with microsecond latency.

ElastiCache Serverless has zero infrastructure management, zero downtime maintenance, and zero maintenance windows. All minor version updates, performance enhancements, and security patches are applied with no configuration required and no disruption to the application. ElastiCache Serverless removes the complex, time-consuming process of capacity planning by continuously monitoring a cache’s compute, memory, and network use and instantly scaling to meet demand.

You can get deploy a cache in under a minute with ElastiCache Serverless as there is no infrastructure to provision. You can get started by specifying a cache name using the AWS Management Console, AWS SDK, or AWS CLI.

With our pay-for-use billing model, you do not have to worry about how quickly ElastiCache Serverless scales back capacity after you scale down a workload. You only pay for the data you store and the compute your application uses. You can use ElastiCache for Valkey starting as low as $6/month with 33% lower pricing on ElastiCache Serverless as compared to other supported engines. 

Watch Introducing Amazon ElastiCache Serverless for a brief overview.

When designing your own cache, ElastiCache auto scaling gives you the ability to apply a scaling policy - dynamic or scheduled - that automatically increases or decreases the desired shards or replicas so you can optimize your applications, whether that be performance or cost optimization. If you select dynamic scaling, ElastiCache scales your cluster automatically to keep a target metric (e.g., free memory capacity) steady while load on your cluster changes. Alternatively, you can choose scheduled scaling to determine the days and times to scale to accommodate predictable workload capacity changes. ElastiCache uses Amazon CloudWatch metrics to determine when it is time to scale up or down.

You can enable auto scaling quickly on an existing or already running cluster. ElastiCache will automatically scale your cluster based on these scaling plans, enabling you to save on overall cloud spend by matching provisioned resources with changing capacity requirements. With auto scaling, you can increase performance of clusters when needed and reduce consumption when resources aren’t required.

Availability and reliability

Open all

ElastiCache offers up to 99.99% availability (SLA) when using a multi-AZ or serverless configuration. ElastiCache Serverless automatically stores data redundantly across multiple AZs with no user configuration required. When designing your own cache cluster, you can create replicas in multiple AZs to achieve high availability and scale read traffic. In the case of primary node loss, ElastiCache automatically detects the failure and fails over to a read replica to provide higher availability without the need for manual intervention.

Global Datastore provides fully managed, fast, reliable, and secure replication across AWS Regions. You can write to your ElastiCache cluster in one Region and have the data available to be read from two other cross-Region replica clusters. With typical cross-region replication latency of under 1 second, your applications can access low latency, local reads close to the end users. In the unlikely event of Regional degradation, one of the healthy cross-Region replica clusters can be promoted to become the primary cluster with full read and write capabilities in less than 1 minute, improving your disaster recovery posture.

Global Datastore uses encryption in-transit for cross-Region data replication to keep your data secure. Additionally, you can also encrypt your primary and secondary clusters using encryption at-rest to keep your data secure. Each primary and secondary cluster can have a separate customer managed key in AWS Key Management Service (KMS) for encryption at-rest.

Global Datastore allows you to easily scale or upgrade regional clusters and ensures that all participating clusters are identically configured. You can also easily add or remove regions from the Global Datastore. With any configuration change, Global Datastore ensures that cross-region replication is appropriately setup and all secondary clusters replicate data from the primary cluster.

You can setup a Global Datastore by starting with an existing cluster or by creating a new cluster. Creating a Global Datastore takes just a few clicks in the AWS Management Console or can be automated by downloading the latest AWS SDK or CLI. Global Datastore is also supported on Amazon CloudFormation

ElastiCache helps protect your data by creating snapshots of your clusters. You can set up automatic snapshots or initiate manual backups in a few steps in the console or through simple API calls. Using these snapshots, or any Valkey or Redis OSS RDB–compatible snapshot stored on Amazon Simple Storage Service (Amazon S3), you can then seed new ElastiCache clusters.

You can also export your snapshots to an Amazon S3 bucket of your choice for disaster recovery, analysis, or cross-Region backup and restore.

ElastiCache continuously monitors the health of your instances. In the case a node experiences failure or a prolonged degradation in performance, ElastiCache will automatically restart or replace the node and associated processes.

Security and compliance

Open all

ElastiCache allows you to run your resources in Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC allows you to isolate your ElastiCache resources by specifying the IP ranges you wish to use for your nodes and to connect to other applications inside the same Amazon VPC. You can also use this service to configure firewall settings that control network access to your resources.

ElastiCache supports encryption in transit, which allows you to encrypt all communications between clients and your ElastiCache server as well as within the ElastiCache service boundary. ElastiCache also supports encryption at rest, which allows you to encrypt your disk usage and backups in Amazon S3. ElastiCache Serverless always encrypts data at rest and in transit using TLS. 

Additionally, ElastiCache provides AWS Key Management Service (AWS KMS) integration that allows you to create your own keys for encryptions. You can use the Valkey and Redis OSS AUTH command for an added level of authentication. There’s no need to manage the lifecycle of certificates because ElastiCache automatically manages the issuance, renewal, and expiration of certificates.

ElastiCache supports authentication with AWS Identity and Access Management (IAM) authentication using IAM identities, Valkey or Redis OSS AUTH, and role-based access control (RBAC).

With IAM, you can authenticate a connection to ElastiCache using IAM identities to strengthen your security model and simplify many administrative security tasks. Valkey or Redis OSS authentication tokens enable Valkey or Redis OSS to require a password before allowing clients to run commands, thereby improving data security.

ElastiCache supports compliance with programs such as SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI, HIPAA, and FedRAMP. See AWS Services in Scope by Compliance Program for the current list of supported compliance programs.

Easy to use

Open all

ElastiCache is a fully managed caching service that automates time-consuming management tasks - such as capacity planning, software patch management, failure detection, and recovery - allowing you to pursue higher value application development. You get built-in access to the underlying cache environment, making it straightforward to use ElastiCache with your existing Valkey, Memcached, and Redis OSS tools and applications. With ElastiCache Serverless, all minor version updates, performance enhancements, and security patches are automatically applied with no configuration required and without application disruption.

You can use the Amazon Aurora and Amazon RDS console to create an ElastiCache cluster to complement your relational database. By doing so, you can accelerate application performance with faster reads and reduce costs. Learn more about creating and attaching an ElastiCache cluster to Amazon Aurora and Amazon RDS.

Amazon CloudWatch metrics provide insights to your ElastiCache resources at no additional charge. You can use the console to view over 40 key operational metrics for your instances, including compute, utilized memory, cache hit ratio, active connections, replication, and commands. To learn more about monitoring your cache cluster, refer to our documentation on monitoring CloudWatch metrics for ElastiCache.

ElastiCache publishes messages about notable events. ElastiCache Serverless events including new cache creation, deletions, and cache configuration updates are sent to Amazon EventBridge. When working with self-designed cache clusters, ElastiCache sends events to Amazon Simple Notification Service (Amazon SNS).

You can tag your ElastiCache resources and snapshots for tracking and billing purposes. Using AWS Cost Explorer, you can attribute costs to resources and resource groups to create and maintain collections of resources that share a common set of tags.

To simplify application development, ElastiCache provides native support for JSON documents in addition to data structures included in Valkey and Redis OSS. ElastiCache supports partial JSON document updates as well as powerful searching and filtering using the JSONPath query language. JSON support is available for ElastiCache version 7.2 and above for Valkey and ElastiCache version 6.2 and above for Redis OSS.

Cost effective

Open all

With ElastiCache, you only pay for the resources you consume—with no upfront costs or long-term commitments. You are charged for data stored and compute consumed with ElastiCache Serverless and hourly based on the number of nodes, node type, and pricing model selected when designing your own cluster. You can further optimize costs on ElastiCache Serverless for Valkey with 33% reduced price and 90% lower minimum data storage of 100 MB. For ElastiCache for Valkey self-designed node-based, you can benefit from 20% lower cost per node. Visit the ElastiCache pricing page to learn more.

You can optimize your relational database costs with in-memory caching using ElastiCache. You can save up to 55% in cost and gain up to 80x faster read performance using ElastiCache with Amazon RDS for MySQL (compared to Amazon RDS for MySQL alone).

ElastiCache offers data tiering, which is a price-performance option that uses lower-cost SSDs in each cluster node in addition to storing data in memory. It is ideal for workloads that access up to 20% of their overall dataset regularly and for applications that can tolerate additional latency when accessing data on SSD.

ElastiCache data tiering is available when using ElastiCache version 7.2 for Valkey and above and ElastiCache version 6.2 for Redis OSS and above on AWS Graviton2-based R6gd nodes. R6gd nodes have nearly 5x more total capacity (memory + SSD) and can help you achieve over 60% savings when running at maximum utilization compared to R6g nodes (memory only).

 

ElastiCache reserved nodes provide you with a significant discount over on-demand usage when you commit to a one-year or three-year term. With reserved nodes, you can make a no upfront, partial upfront, or all upfront payment to create a reservation to run your node in a specific Region.

These reservations are available in one-year or three-year increments and offer a significant discount off of the ongoing hourly usage charge. ElastiCache reserved nodes offer size flexibility within a node and AWS Region, and the discounted reserved node rate will be automatically applied to usage of all sizes in the same node family.