Officially, RDS instances can't be directly set up to slave non-RDS databases.

My production master is MySQL running on Hetzner and I want an RDS instance to closely follow it for backup purposes, including for the ability to actually use the RDS as a temporary master in case of disaster recovery (e.g. by having scripts that create our complete production setup on AWS in case Hetzner has a major failure). The point-in-time restoration ability is very important as well.

We can live with a constant 5-10 minute lag between the production master and the RDS backup.

I'm looking for some ideas on how I could achieve more or less the same effect by using, perhaps, some additional tools and/or an intermediate process. I'm also open to a non-RDS solution that can provide similar benefits (but not at a higher price.)


Use Tungsten Replicator - it will allow you replication from a non-RDS instance to Amazon RDS which is otherwise not officially supported, http://code.google.com/p/tungsten-replicator/. Alternatively you could try something like maatkit (now Percona Toolkit - http://www.percona.com/software/percona-toolkit) using the pt-sync-tables command and run it on a cron or perhaps a service on a third-party device (I'm not familiar with Hetzner).