What is the proper way to set up an AWS Auto-Scale group? 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.