AWS: Multi-region setup using single RDS instance

amazon ec2amazon-rdsamazon-web-servicesscalabilityscaling

I'm trying to scale our web application (PHP, MySQL, memcache) in a multi-region scheme. Currently we are using a setup with two EC2 instances behind an ELB and an RDS instance, all of them in US-EAST (Virginia) region.

We would like to have a presence in the EU (Ireland) region as well. This means at least a new EC2 instance there (identical to the others, serving the same application).

I have copied the desired AMI, setup the new instance, setup a same ELB configuration (required for SSL termination) and configured latency-based routing in Route53. And it works as suggested.

But, clients from EU have speed problems. This is due to the fact that the EU EC2 instances connect to the US-based RDS instance. As far as I know Amazon has not yet enabled RDS multi-region replication.

Do you have any suggestions on how to properly speed up the whole setup while using the single RDS instance?

Also, any ideas in general on how to scale things up? Ideally we would like to continue using the RDS technology for various reasons. Nevertheless, I am open to suggestions (I guess the next idea would be to host our own MySQL servers).

Best Answer

You should think carefully why you need to have the same data in both US and EU. After all these are different users.

Running in a multi-region environment is much more complex and usually giving back performance due to the inherent latency between US and EU.

Even if you move out of RDS and try to replicate your data between regions, either asynch or synch, you will get latency issues that will give bad performance to your users.

The easiest way is to set up a dedicated RDS server in EU and share nothing between these instances.