I've built EC2 hosting solutions before, but the application I'm building now is more advanced and I'd like some insight to see if I'm on the right track. The system is hosting a mobile application API where traffic will likely be coming in from around North America. We're still narrowing down the expected levels but are anticipating serious traffic. The primary operations are DB reads but include proportionally small writes as well.
Here is the layout I'm anticipating. Are there serious problems or otherwise what can I do to improve it?
- large RDS instance storing everything (actual size dependant on researched traffic)
- elastic load balancer directs traffic to
- smaller instances in different zones and regions to geographically spread the load
Our API does not contain any static content like images, so every EC2 instance can point to the core RDS volume and the load balancer can cycle between. Is it smart to do something like this or do I need to get into database master/slave configurations? Even though the traffic is expected to be reasonably high, I don't think it will be that high.