This project demonstrates the deployment of a multi-instance web application with a database. The setup is divided into two parts:
- Part A: Single server with a small database.
- Part B: Scalable architecture with five servers, a medium-sized database, and a load balancer.
-
Clone the Repository:
git clone https://github.com/dbakong/test-web-app.git
-
Create project dependencies
make setup
-
Change to the desired directory
cd test-web-app/part-a # or cd test-web-app/part-b
-
Create a terraform execution plan
make plan
-
Build AWS infrastructure:
make apply
-
Get testing instructions
make test
see
- You have the AWS CLI installed and configured to access an AWS account
- The IAM role you are using has the necessary permissions to create and manage the resources specified in this project, including EC2 instances, RDS databases, and other infrastructure components.
- Ensure your AWS credentials are secure.
- Use IAM roles with the minimum required permissions.
- Manage secrets securely, avoiding hardcoding sensitive information.
Some useful resources for troubleshooting common issues:
This project is licensed under the MIT License - see the LICENSE file for details