Welcome to SysOps Guide, where I share articles that will serve as step by step guides for my fellow SysOps and DevOps engineers. These articles also act as a portfolio of examples illustrating the types of solutions I am accustomed to implementing in my career. My intent is that other professionals will find useful examples to save them time, and potential employers will better understand my capabilities. I hope you enjoy the content you find here.

In this article I'll walk you through all the steps involved in setting up a highly available Drupal deployment in Amazon's Web Services (AWS) cloud hosting environment. As you will see there is quite a bit involved, and this is just to get things set up up initially, but I aim to give you a step-by-step guide that you can use to navigate the necessary services in AWS along with commands you can copy and paste to get drupal up and running in the Amazon Linux 2023 operating system (OS).

Basically the environment will consist of an Application Load Balancer (ALB), two or more Elastic Compute Cloud (EC2) instances, an Elastic File System (EFS), and a Relational Database Service (RDS) instance. The EFS provides shared file storage for the EC2 instances to access, while the RDS instance provides the MySQL database that Drupal will use, and the ALB distributes incoming web traffic to the EC2 instances. It is critical to understand that each of these components will bet setup with redundancy and fail-over…