1
votes

I am relatively experienced with many AWS services - but I do have a large gap around Aurora/RDS

I'm trying to create a multi-region multi-master (write replicas) setup

The purpose is to give low latency to users (if each read and write replica is in the user's region) and to give resilience (if there is a region outage, the users can have their requests routed to another region (the latency will be higher, but reduced service is better than no service))

I'm trying to learn about AWS Aurora and I've created a toy cluster to learn. It seems I can create a cluster that is served out of multiple regions (and Aurora replicates data between regions automatically). I've also read that it is possible to have a multi-master setup (in my toy cluster, it only had one write partition, I couldn't work out how to create another write partition in another region, which made me question if it's possible?)

Here is a diagram of what I'm thinking:

https://imgur.com/DzoSpHL

Thank you in advance!

2

2 Answers

0
votes

The purpose is to give low latency to users (if each read and write replica is in the user's region)

I couldn't work out how to create another write partition in another region, which made me question if it's possible?

That is not possible (at least not currently) because of multi-master Aurora limitations.

  • all DB instances in a multi-master cluster must be in the same AWS Region.

and others such as

  • you can have a maximum of two DB instances in a multi-master cluster
  • You can't enable cross-Region replicas from multi-master clusters.

You can read more here


The best thing you can do in your scenario is to create single master and place read replicas into those additional regions (possibly with some caching in necessary).

0
votes

As mentioned earlier it is not possible with Aurora.

However DynamoDB supports multi-active multi-region:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html