Member-only story
AWS is incredibly complex. What with Security Groups, Subnets, Target Groups, Network Interfaces, Public and Private access…phew. Here’s how I configured a relatively complex (but standard!) web app on the platform.
WHY AWS?
We’ve been hosting on DigitalOcean for a decade. But it has become somewhat unreliable (in my opinion) and when we finally had an issue the support was not what I would have hoped. It signaled that the marriage was over and it was time for me to move out of the house!
AWS seemed a logical place to move to. I’ve used it in other companies, so why not my own?
BUT, in other companies, we’ve always had network architects there to sort out the details. This time I was going it alone.
The Web App
I am going to be hosting a relatively straightforward Ruby on Rails web app. By ‘straight forward’ I mean:
- 2 web servers (load balanced) delivering over HTTPS
- 3 or more app servers doing the heavy lifting
- A MySQL (or in this case Aurora MySQL) database serving the data
The servers all need to talk to the database and everything should be nicely protected from the outside world.