Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

Three Tier Architecture

alt text

Prerequisites (I recommend researching all of these if needed)

  1. Install AWS CLI (configured with credentials)
  2. Add IAM permissions for new user account from root (good practice) - I gave Administrator access to my non root account
  3. Install Terraform
  4. your own AWS key pair

Architecture Overview

This project demonstrates Infrastructure as Code (IaC) best practices by deploying a scalable three-tier architecture on AWS using Terraform. It showcases modular design, security best practices, and proper resource management.

The three-tier architecture consists of:

  1. Presentation Tier (Frontend): Web servers in public subnets that handle user requests
  2. Application Tier (Backend): Application servers in private subnets that process business logic
  3. Data Tier (Database): RDS MySQL database in private subnets for data storage

Deployment (how to use)

  1. Clone the repository
git clone https://github.com/wegoagain-dev/three-tier-architecture.git
cd three-tier-architecture
  1. Initialise the repository
terraform init
  1. Plan deployment
terraform plan
  1. Apply configuration
terraform apply --auto-approve
  1. Access outputs
terraform output

Please allow up to 10 minutes for resources to be provisioned. Mostly due to the database 😑 image


When deleting terraform and creating new one - either change name of secretsmanager(new name) or force delete using below as it dont allow you to create it again due to policy

aws secretsmanager delete-secret --secret-id three-tier-rds-password --force-delete-without-recovery

Ensure to delete as this can be costly if you just keep resources running

terraform destroy --auto-approve

NOTES

  • For ingress SSH for public IP never make this accessible from 0.0.0.0, always change it to your personal IP

What's next

I am looking to integrate the following next:
CI/CD pipeline integration
Container orchestration (ECS/EKS)
Monitoring stack (Prometheus/Grafana)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages