For disaster recovery, I need to replicate an Amazon Multi-AZ RDS instance currently using MariaDB to a different platform like Google Cloud Platform or Azure. If AWS is down for more than 30 minutes, I want to point my apps over to the other platform.

I know replication could more easily be achieved with an EC2 database, but if it's possible to use RDS I would stick with it.

How can RDS replicate to another cloud platform?

  • Are you trying to do a one-time migration, or constant replication for HA/DR? Can you elaborate more on your business goals? – Brent Ozar Aug 22 '17 at 20:27
  • Hi Brent, I am trying to achieve disaster recovery first and foremost. If AWS is down for more than 30 minutes, I'd want to manually point to the other host as well. – Caleb Pitman Aug 23 '17 at 16:37
  • OK, editing your question so it's clear to folks. Thanks! – Brent Ozar Aug 23 '17 at 17:12

I don't think it can be done solely in RDS, at least not directly between 2 DBaaS platforms. Both vendors would need interoperability in their APIs. I think your stuck standing up a Linux/Windows server in AWS/GCP/Azure to be a "on-prem" host to work in between the DBaaS platforms.

This may be helpful: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Exporting.NonRDSRepl.html

Of course...

Replication to an instance of MySQL running external to Amazon RDS is only supported during the time it takes to export a database from a MySQL DB instance. The replication should be terminated when the data has been exported and applications can start accessing the external instance.

Hopefully you need to do this for a migration, and not ongoing replication, or you don't care about being in a "supported" configuration.

| improve this answer | |
  • I want it for disaster recovery. On Monday, AWS console as well as my site was down for 15 minutes, which was a reminder to do this. I found this article, but have yet to test it: ruempler.eu/2013/07/07/… – Caleb Pitman Aug 23 '17 at 16:30

To "replicate" to another cloud platform I also believe would have to be done outside of RDS. Essentially you would need to export your RDS DB and then import it into a prepped MariaDB instance on the other service. Depending on the size of the DB, that could be tricky. Longer copy time means higher chance of an interruption and data corruption.

Since your need is for disaster recovery, there are other ways to go. You can also use a separate RDS instance in another AWS availability zone (for example, East Coast and West Coast) so you have redundancy there. Then you have RDS support. There are other options for DR in the cloud. You can use public cloud solutions, 3rd party offerings and, AWS offers a range of disaster recovery options.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.