0
votes

I'm running a social network, but costs are too high, and I have for now only two solutions.

Close it, or reduce costs. The only available way to reduce costs would be to run some rds replicas on ec2 spot instances. I already know the risks, but it is the best I can do.

I will keep some normal rds instances running so case the spot instances are cancelled it won't impact too much.

The problem is that amazon says:

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.

Do they control this in some way? Will it stop replicating after some hours? They doesn't explain why, or when it will stop replicating...

1

1 Answers

2
votes

The concept here appears to be the word "supported."

We typically interpret "is not supported" to mean "will not work" or "cannot be done" or "is prohibited" ... however, in this case, it appears to mean "is not an official part of our product offering; it may work just fine, but we will not provide you with any support assistance if it does not do what you intend, or causes unexpected issues or interactions."

In my experience, the last definition is the one that applies here.

Anecdotally, I can tell you that I have had external replicas of RDS for MySQL running without incident ever since the feature was introduced in RDS for MySQL 5.6. Indeed, as I mentioned elsewhere, the fact that this does indeed work is the primary reason I dropped my objection, as senior DBA, to my CIO's desire to use RDS in production systems.

When I say "external replicas," I am referring to both replicas running on EC2 instances, as well as on machines in my own corporate data center, connected to RDS masters in VPC.

The closest thing to official documentation that my interpretation is correct seems to be in an official 2013 webcast, Amazon RDS for MySQL: Best Practices for Performance and Data Migration, in a conversation that begins at around 56:45 with AWS personnel making these statements:

"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."