Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ElastiCache Maintenance Window Availability

We are planning to use ElastiCache (Redis) instead of our own redis cluster. However, the "maintenance window" setting creates some questions,

If I use a multi-az replicated cluster, will elasticache failover to available replicas during maintenance windows or does the entire cluster go down during maintenance?

How long does it generally take?

We can also use MemCached instead of Redis, does it have better availability situation during maintenance windows?

How do others handle ElastiCache manintenance windows? Just go woth the downtime?

Thanks!

like image 620
Ekin Koc Avatar asked Nov 22 '14 01:11

Ekin Koc


People also ask

Is ElastiCache High Availability?

With the growth of business-critical, real-time use cases on Redis, ensuring availability becomes an important consideration. To provide high availability, Amazon ElastiCache for Redis supports Redis Cluster configuration, which delivers superior scalability and availability.

How many connections can ElastiCache handle?

Large number of connections Individual ElastiCache for Redis nodes support up to 65,000 concurrent client connections.

What are the available scaling options for ElastiCache Memcached?

The Memcached engine supports partitioning your data across multiple nodes. Because of this, Memcached clusters scale horizontally easily. A Memcached cluster can have from 1 to 40 nodes. To horizontally scale your Memcached cluster, merely add or remove nodes.

Is ElastiCache fully managed?

Amazon ElastiCache is a fully managed, in-memory caching service supporting flexible, real-time use cases.


1 Answers

There are usually 2 maintenance AWS does.

  1. Continuous managed maintenance updates.
  2. Service updates

While creating cluster you need to specify a 60 min maintenance window. Usually all the maintenance updates (1) will happen during that time.

For every service updates you will recieve notifications when there is a scheduled one. Notification will be in the form of email or a notification on the elasticache page etc... Based on the notification you can reschedule the service updates to a comfortable time. If you fail to reschedule it will by default pick you maintenance window and apply the service updates.

Basically during the maintenance updates, AWS will replace your node with a new node with required updates. If you have primary/replica set up with multi az and auto failover set to true, then during maintenance window of the primary node, you replica will be promoted to master and your read/write requests will be served from there. So ideally you don't see any issue during maintenance maybe a few second downtime to promote the replica as master.

If you either don't set up multiaz with auto failover to true or your elasticache has just one node, you will see downtime during maintenance window.

Refer AWS documentation

like image 167
deepanmurugan Avatar answered Oct 17 '22 23:10

deepanmurugan