What is the proper way to setup an EC2 Web Server with the aim of serving a site which experiences high demand once a month via 1 small EC2 for 90% of the time and then enter a load balanced group for the other 10%. I understand the AWS mechanics, AMI, auto scaling, metrics, and load balancer, but I don't know the best practices of setting up a CENTOS server to serve multiple servers.

I was thinking http://tecadmin.net/mount-s3-bucket-centosrhel-ubuntu-using-s3fs/# with S3 buckets (I ran into a few problems), but would a simple mounted volume be better?

I would really appreciate advice from anyone who has used AWS in this way with Drupal. Another article I read is Using a load balancer or reverse proxy.

Obviously, performance is a big consideration. I know S3 is fast, but I imagine it's slower than using a mounted volume.


Drupal considerations are similar to WP, Magento and Stateless applications.

  • Share your code across your auto scaling group via AWS EFS, Lsyncd, S3 or NFS.
  • Use CDN + S3 for static content
  • Separate Database (AWS RDS)
  • Make sure to use Varnish and NGINX.
  • Use Github/BitBucket and define a development workflow system.
  • Cache and manage session via Redis/Memcached.

More details: https://www.clickittech.com/cloud-computing/scaling-in-the-cloud/

The above link is an article about the Art of scaling which considers Drupal, WP and Saas Applications.

Not the answer you're looking for? Browse other questions tagged or ask your own question.