Mysql – RDS to EC2 thesql replication

amazon ec2amazon-rdsMySQLmysql-replication

I would like to create a RDS mysql and to replicate it to an EC2 server so the DB will be local and thus the query time will be faster (the EC2 is a web server).
According to the second paragraph here Using Replication to Export MySQL 5.6 Data:

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.

I understand it can't or shouldn't be done.
Am I right?
Is there other alternatives?

Also,
I saw this two below questions but the first was the other way and the second was years ago before the RDS replication feature was even available:

  1. Is it possible to use an EC2 RDS MySQL instance as a slave to an external master?
  2. Amazon RDS to EC2 replication

Best Answer

I understand it can't or shouldn't be done. Am I right?

I would say you are incorrect, in spite of the fact that what you are saying seems consistent with what's documented.

A plain reading of the documentation notwithstanding, you can do this indefinitely, on an ongoing basis, as long as you don't expect Amazon to provide support for your non-standard configuration... which, to me, seems reasonable. Almost certainly, using native replication like this is a better alternative than any other mechanism.

As of this writing, I have had servers configured like this for over a year with no issues.

Going beyond this anecdotal evidence, confirmation of my position can actually be found in an official RDS Webinar, in a conversation that begins at around 56:45:

"You can keep it in a replicated state indefinitely...

"...as long as you take the responsibility to maintain the replication..."

"We are not preventing you from doing ongoing replication if that's what you want."

Note that, as always with MySQL replication, your slave's configured @@SERVER_ID must be different than the master's, and different than any other RDS or non-RDS replica connecting to the same master.