Amazon ElastiCache for Redis Documentation

Amazon ElastiCache for Redis is a managed Redis-compatible in-memory data structure service that can be used as a data store or cache. It is designed to provide the ease-of-use and power of Redis along with the availability, reliability, scalability, security, and performance suitable for demanding applications. 

The service is designed to detect and recover from node failures or engine crashes. Utilizing Multi-AZ failover, you can spread replica nodes across multiple AWS Availability Zones for high availability. If a primary node goes down, Amazon ElastiCache for Redis is designed to fail over to one of up to 5 read replicas.

Through the AWS Management Console, you can launch a Cache Cluster or Replication Group and configure it to your requirements. We offer a range of node sizes, as well as push-button vertical scaling. Additionally, for Redis cluster mode enabled, you can resize your Redis clusters to scale-out and scale-in to adapt to changing demand.

Manageability

Usability

Get started with Amazon ElastiCache for Redis by launching a new Cache Cluster or Replication Group using the AWS Management Console or by making an API call. Resources are pre-configured with the appropriate parameters and settings, and Cache Parameter Groups so you can control and fine-tune your Redis environment. 

Managed Redis

Amazon ElastiCache for Redis is designed to take care of time-consuming management tasks - such as software patch management, failure detection and recovery. You still get native access to the underlying Redis in-memory database environment, so you can use Amazon ElastiCache for Redis with your existing Redis tools and applications.

Monitoring and Metrics

Amazon CloudWatch metrics can provide insights to your Redis resources. You can use the AWS Management Console to view key operational metrics for your Redis instances, including compute, utilized memory, cache hit ratio, active connections, Redis replication and Redis commands.

Event Notifications

Get notified via email or SMS of important events such as snapshot completion and scheduled node replacements. You can use the AWS Management Console or APIs to subscribe to different events associated with your Redis resources.

Tagging

You can tag your Cache Clusters and Redis snapshots for tracking and billing purposes. You can use the Cost Explorer to attribute costs to resources and Resource Groups to easily create and maintain collections of resources that share a common set of tags.

Availability and Reliability

Multi-AZ

Increase availability by leveraging Multi-AZ with automatic failover functionality. You can take advantage of multiple AWS Availability Zones to gain availability, and scale beyond the read capacity constraints of a single node. In case of primary node loss, the service is designed to automatically detect the failure and failover to a read replica to provide higher availability without the need for manual intervention.

Instance Monitoring and Repair

The service continuously monitors the health of your instances. In case a node experiences failure or a prolonged degradation in performance, the service is designed to restart the node and associated processes.

Backup, Restore, and Export

You can create snapshots of your clusters. Using these snapshots, or any Redis RDB-compatible snapshot stored on S3, you can then seed new ElastiCache for Redis clusters. You can also export your snapshots to an S3 bucket of your choice.

Cross-region Disaster Recovery

Global Datastore in Amazon ElastiCache for Redis is designed to provide managed, fast, reliable and secure cross-region replication. Global Datastore is designed to enable you to write to your ElastiCache for Redis cluster in one region and have the data available to be read from two other cross-region replica clusters, thereby enabling disaster recovery across regions. In the unlikely event of regional degradation, you can promote one of the healthy cross-region replica clusters to become the primary cluster with full read/write capabilities. 

Scalability

Scaling Your Workload

Using our APIs or with a few clicks in the AWS Management Console, you can scale up or scale out your existing Redis configuration.For non-cluster mode, you can scale up to a larger node type, and go up to a maximum of 635.61 GiB. Scale up for Redis is designed to make a best effort to retain your existing data and requires Redis replication to succeed.

ElastiCache for Redis cluster provides the ability to add and remove shards from a running cluster. You can scale-out or scale-in your Redis cluster workloads to adapt to changes in demand. ElastiCache is designed to resize the cluster by adding or removing shards and redistributing hash slots uniformly across the new shard configuration, all while the cluster continues to stay online and serve requests. Your existing node endpoints will persist.

Engine Upgrades

You can use the Amazon ElastiCache API or the AWS Management Console to upgrade your Redis clusters to the latest available engine version. The online engine upgrade process is designed to make a best effort attempt to retain your existing data and requires Redis replication to succeed.

Maximize Read Performance with Read Replicas

You can add up to five Redis read replicas per primary node and serve high-volume application read traffic from multiple instances which can increase aggregate read throughput.

Write locally, read globally

Global Datastore is designed to that you can write to your ElastiCache for Redis cluster in one region and have the data available to be read from two other cross-region replica clusters to enable low-latency local reads. 

High availability and Disaster Recovery

Amazon ElastiCache for Redis is also designed to support failovers by detecting the primary node failure and promoting the replica to be the primary with minimal impact. 

Amazon ElastiCache also provides cross region replication with Global Datastore. Global Datastore is designed to enable you to write to your ElastiCache for Redis cluster in one region and have the data available to be read from two other cross-region replica clusters. In the unlikely event of regional degradation, you can promote one of the cross-region replica clusters in the Global Datastore to become the primary cluster with full read/write capabilities. 

Easily Scalable

With Amazon ElastiCache for Redis, you can start small and easily scale your Redis data as your application grows. It is designed to allow you to scale your Redis Cluster environment up to 250 nodes and 250 shards. The online cluster resizing to scale-out and scale-in your Redis clusters helps you to scale your write capacity and adapt to changing demand. To scale read capacity, ElastiCache allows you to add up to five read replicas across multiple availability zones. 

Amazon ElastiCache also enables cross region replication with Global Datastore. Global Datastore is designed to allow you to write to your ElastiCache for Redis cluster in one region and have the data available to be read from two other cross-region replica clusters. 

Security

Network Isolation

Amazon ElastiCache for Redis allows you to run your resources in Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC enables you to isolate your Redis resources by specifying the IP ranges you wish to use for your nodes, and to connect to other applications inside the same Amazon VPC. 

Encryption

Amazon ElastiCache for Redis supports encryption in-transit and at-rest for internode communications. The encryption in-transit feature enables you to encrypt communications between clients and Redis server as well as between the Redis servers (primary and read replica nodes). The encryption at-rest feature allows you to encrypt your disk usage and backups in Amazon S3. Additionally, Amazon ElastiCache for Redis provides AWS KMS integration that allows you to use your own customer managed CMK’s for encryption. Further, you can use the Redis AUTH command for an added level of authentication. 

API-level Permissions

Using the AWS Identity and Access Management (IAM) features integrated with Amazon ElastiCache, you can control the actions that your AWS IAM users and groups can take on Amazon ElastiCache resources. 

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.