AWS ElastiCache Redis Cache Cluster Not Using Multi-AZ Deployment

Description:

Amazon ElastiCache for Redis provides the ability to create a standby replica of your cache data in another Availability Zone (AZ) using the Multi-AZ deployment feature. This enhances the availability and fault tolerance of your cache data, ensuring uninterrupted service during planned or unplanned maintenance events. If your ElastiCache Redis cluster is not using Multi-AZ deployments, you might face service disruption during certain AWS maintenance or AZ failure events.


Remediation:

1. Enable Multi-AZ Deployments for ElastiCache Redis:

To ensure high availability and data durability for your ElastiCache Redis clusters, enable the Multi-AZ deployment feature.

AWS Management Console:
  • Navigate to the ElastiCache dashboard.
  • Select the Redis cluster that is not using Multi-AZ deployments.
  • Choose Modify.
  • In the Replication section, check the box for Multi-AZ with Auto-Failover.
  • Click Modify at the bottom of the page.
Terraform:

To enable Multi-AZ deployments for an ElastiCache Redis cluster using Terraform, you can use the following Terraform configuration snippet:

resource "aws_elasticache_replication_group" "example" {
  # ... other configurations ...

  automatic_failover_enabled    = true
  availability_zones            = ["us-west-2a", "us-west-2b"]
  number_cache_clusters         = 2
}

Ensure you have the required Availability Zones defined in your Terraform configuration.


Recommendation:

To achieve high availability for your ElastiCache Redis clusters, always enable the Multi-AZ deployment feature. It allows automatic failover to the read replica in the unlikely event that the primary node fails. This ensures a seamless experience for applications and end-users relying on the cache data.