Recently I had a contract which required me to immerse myself in AWS configuration for a LAMP stack, which led me to Terraform, amongst other things. I thought I’d publish here the list of resources that helped me. It’s a lot of links!
One tip I found was to use Jenkins to do automatic validation of your Terraform scripts. I think that’s a good tip.
Talk by Nicki Watt of Hashicorp: https://www.youtube.com/watch?v=wgzgVm7Sqlk
Good tutorial: https://www.youtube.com/watch?v=LVgP63BkhKQ
Cloud Best Practices: https://d1.awsstatic.com/whitepapers/AWS_Cloud_Best_Practices.pdf
Elastic beanstalk might be a way to go: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-webserver.html
These days I tend to put everything behind an Nginx reverse proxy: https://github.com/awslabs/ecs-nginx-reverse-proxy
Some AWS Webinars: https://aws.amazon.com/architecture/
Drupal. Which was quite close to what I’d be needing: https://aws.amazon.com/quickstart/architecture/drupal/ and https://aws-quickstart.s3.amazonaws.com/quickstart-drupal/doc/drupal-on-the-aws-cloud.pdf and https://aws.amazon.com/quickstart/architecture/drupal/ and https://github.com/aws-samples/aws-refarch-drupal
Doing your Git stuff at Amazon appears to have some advantages. CodeCommit: https://aws.amazon.com/codecommit/
AWS cost Best Practices: https://aws.amazon.com/premiumsupport/trustedadvisor/best-practices/
Web Hosting general best practices: https://d1.awsstatic.com/whitepapers/aws-web-hosting-best-practices.pdf
A reference architecture for Drupal hosting:
If you’re on AWS it makes sense to use Amazon’s own CDN service. If however, you already have an Akamai account, it’s supported by terraform.
Interestingly, Terraform works across multiple cloud providers.
An introduction from Gruntwork, a Terraform consultancy: https://blog.gruntwork.io/an-introduction-to-terraform-f17df9c6d180
Terraform with AWS: https://dzone.com/articles/terraform-with-aws
Terraform getting started: https://www.pluralsight.com/courses/terraform-getting-started
Hashicorp training: https://www.hashicorp.com/training
Udemy have courses if you want to pay money: https://www.udemy.com/learn-devops-infrastructure-automation-with-terraform/
Gruntwork comprehensive guide: https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca
Gruntwork slideshare: https://www.slideshare.net/brikis98/comprehensive-terraform-training
Another tutorial: https://gist.github.com/p0bailey/3a34689f49b075ed058373dd73a7bce6
All about provisioners: https://www.terraform.io/docs/provisioners/index.html
If Ansible is your configurator of choice, you can shoehorn it in to Terraform.
Chef is natively supported.
Chef and AWS: https://www.chef.io/implementations/aws/
Jenkins on AWS: https://d0.awsstatic.com/whitepapers/DevOps/Jenkins_on_AWS.pdf
And there’s the link dump. It should be enough to keep you going for a couple of days! Overall, I think if you’re going to use AWS, embrace it fully. Except Cloudflare. They’re awesome.