7

We are using Amazon AWS for our web services but given the recent instabilities in their infrastructure, we are trying to figure out how to run our application across multiple regions for additional redundancy.

Ideally, we would run our entire app in a active-active configuration in multiple regions but our main concern is that we are using RDS, which I understand cannot replicate across regions.

One possible solution (though we have not tried or proven it would work) would be to do mysqldump or EBS snapshots every hour or so but this would mean that we would be forced to run in an active-passive configuration. Our data would be at most an hour behind. This carries its own issues around data synchronization when we failover and the master comes back up, so its not the best solution.

Are there any proven solutions for replicating RDS across regions?

2 Answers2

4

I guess the short answer is: Cannot do this.

If you want to do this, you need to run your own MySQL instances instead of using RDS. Lame answer, and I am surprised that Amazon has decided to not support multiple region replication given their alleged dedication to scalable, redundant and fault tolerant infrastructure.

Oh well :\

0

Check out the Multi-AZ replication feature. I think this does what you want albeit a Master-Standby but at least its a hot standby: http://aws.amazon.com/rds/mysql/#features

UPDATE:

I was a little quick to post. Its going to be a matter of the level of redundancy you wish to acheive versus the money you are willing to spend. If money is no issue than region based replication would most likely be best, however you would also need to take your application layer into account for that as well. If cost isn't as big of a deal then Multi-AZ may be simpler and given the latest outage report from Amazon only 2.5% of Multi-AZ RDS were not automatically failed over to their secondaries, that's compared with the close to full failure of all other Single-AZ nodes.

It does not appear that RDS supports any cross-region replication unless you run a full MySQL instance with either multi-region clustering or replication.

Brent Pabst
  • 6,069
  • 2
  • 24
  • 36
  • 1
    Multi-AZ is within one region, not cross-region. – ceejayoz Jul 02 '12 at 14:30
  • 7
    An AZ is not a region. I've never seen Amazon fail to mention when something is cross-region, and the work required to do a cross-region replica and hot-failover are *significantly* different to those for doing it cross-AZ. Also see the FAQ "Will my standby be in the same Region as my primary?" -- "Your standby is automatically provisioned in a different Availability Zone of the same Region" – womble Jul 02 '12 at 14:36
  • Multi-AZ gives you pretty decent redundancy for cheap, as each AZ is isolated from the others with regard to power, network, and physical security. – Jason Floyd Jul 03 '12 at 01:44
  • @JasonFloyd a.k.a. a different shipping container! – Brent Pabst Jul 03 '12 at 02:04