Vini.g.fer
Vini.g.fer

Reputation: 11919

Whats the best way to use AWS elasticache with RDS MultiAZ?

I'm currently using RDS MultiAZ from Amazon Web Services on my project, and I was hoping to use ElastiCache to improve the speed of my queries. However I noticed that on ElastiCache I have to define which zone I'm interesting in using.

Just to check if I got it right: MultiAZ means that I have 2 database servers on 2 zones (I'm using South America region): on zone A I have a read and write server (Master) and on zone B I have a read server (Slave). If for any reason zone A goes down, zone B becomes the Master until Zone A returns.

Now how do use ElastiCache (I'm using Memcache) in this case? I can't create a cache cluster with a single endpoint to connect, and 2 nodes (one in each zone). I need to have 1 cache cluster for each zone, and 2 codes for my application so they'll connect to the correct zone?

Already asked that on AWS forums a month ago, but had no response. Thanks!

Upvotes: 2

Views: 3129

Answers (1)

Julio Faerman
Julio Faerman

Reputation: 13501

Amazon ElastiCache clusters are per-AZ and there is no Multi-AZ for ElastiCache as there is for RDS (you are right, that is master/slave replication). So you would need to design around that. This is very context dependent, but here are three ideas:

  • Failure Recovery: monitor your cache cluster and, in the event of a failure, spin a new one in another AZ.

  • Master/Slave: have a standby cache cluster and, in the event of a failure, reroute and scale to the slave.

  • Multi master: have per-AZ cache clusters always up under a Elastic Load Balancer.

EDIT

This answer considers ElasticCache for Memcached. For Redis there is Multi-AZ (master/slave) support.

Upvotes: 1

Related Questions