Skip to content

panwar100/three-tier-web-architecture-on-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

three-tier-web-architecture-on-aws

This project documents my step-by-step implementation of the AWS Three-Tier Web Architecture Workshop,done independently for learning and hands-on practice.


πŸ“ Repository Structure

three-tier-web-architecture-on-aws/
β”œβ”€β”€ app-tier/         # Application layer code (backend)
β”œβ”€β”€ web-tier/         # Web server layer code (frontend)
β”œβ”€β”€ nginx.conf        # NGINX config used in web tier
β”œβ”€β”€ README.md         # Documentation of this project
└── LICENSE           # Project license

πŸš€ Project Steps

πŸ”½ Part 0: Setup

  • βœ… Git Clone

Screenshot from 2025-05-14 15-58-14 Screenshot from 2025-05-14 15-58-48

  • βœ… S3 Bucket Creation

Screenshot from 2025-05-13 18-24-24

  • βœ… IAM Role

Screenshot from 2025-05-13 18-27-54 Screenshot from 2025-05-13 18-31-01


🌐 Part 1: Networking & Security

βœ… VPC & Subnets

Screenshot from 2025-05-13 18-33-32 ...

βœ… Subnets

Screenshot from 2025-05-13 18-39-07 Screenshot from 2025-05-13 18-39-50 Screenshot from 2025-05-13 18-40-34 Screenshot from 2025-05-13 18-41-40 Screenshot from 2025-05-13 18-42-40 Screenshot from 2025-05-13 18-43-35

subnet is created

Screenshot from 2025-05-13 18-44-49

βœ… Internet Gateway

Screenshot from 2025-05-13 18-46-03

attach vpc to internet gateway

Screenshot from 2025-05-13 18-46-19 Screenshot from 2025-05-13 18-46-33

βœ… NAT Gateway

Screenshot from 2025-05-13 18-47-41 Screenshot from 2025-05-13 18-48-45

NAT gateway is created

Screenshot from 2025-05-13 18-50-36

βœ… Route Tables (Public & Private)

create two route one public one private

  • Publice Route table

Screenshot from 2025-05-13 18-51-25

edit route

Screenshot from 2025-05-13 18-51-55 Screenshot from 2025-05-13 18-52-20

edit subnet Associations

Screenshot from 2025-05-13 18-52-36 Screenshot from 2025-05-13 18-52-56

Screenshot from 2025-05-13 18-53-25

  • Private Route table

Screenshot from 2025-05-13 18-56-02

edit route

Screenshot from 2025-05-13 18-56-38

edit subnet Associations

Screenshot from 2025-05-13 18-57-24 Screenshot from 2025-05-13 18-57-40

route table is created

Screenshot from 2025-05-13 18-59-57


βœ… Security Groups

create 5 security group

  • InternetFacing
  • WebTier
  • Internal Load Balancer
  • PrivateInstance
  • DB-SG

InernetFacing

Screenshot from 2025-05-13 19-06-00 Screenshot from 2025-05-13 19-06-33

webTier

Screenshot from 2025-05-13 19-11-16 Screenshot from 2025-05-13 19-12-07 Screenshot from 2025-05-13 19-13-10

Inernal-lb-sg

Screenshot from 2025-05-13 19-22-17

PrivateInstance

Screenshot from 2025-05-13 19-21-49

DB-sg

Screenshot from 2025-05-13 19-24-06

security group is created

Screenshot from 2025-05-13 19-39-29


πŸ—„οΈ Part 2: RDS (Database Tier)

  • Subnet Group
  • MySQL DB Instance

βœ… create subnet groups

Screenshot from 2025-05-13 19-26-59

βœ… create database

Screenshot from 2025-05-13 19-30-23 Screenshot from 2025-05-13 19-32-19 Screenshot from 2025-05-13 19-33-26


βš™οΈ Part 3: App Tier

  • EC2 Launch for AppServer
  • SSM Connect
  • Configure DB connection
  • Upload app-tier folder to S3
  • Test App
  • Create AMI, Target Group, Load Balancer, Launch Template & Auto Scaling

βœ… Launch instance for AppServer

Screenshot from 2025-05-13 19-40-29 Screenshot from 2025-05-13 19-44-50 Screenshot from 2025-05-13 19-45-23 Screenshot from 2025-05-13 19-46-15

βœ… Configure DB connection

select instance click on connect

Screenshot from 2025-05-14 16-46-33

Screenshot from 2025-05-13 21-32-17 Screenshot from 2025-05-13 21-32-35 Screenshot from 2025-05-13 21-32-50 Screenshot from 2025-05-13 21-33-05

copy endpoint of database

Screenshot from 2025-05-13 21-33-37

paste in this command like this

Screenshot from 2025-05-13 21-33-18

Screenshot from 2025-05-13 21-39-02 Screenshot from 2025-05-13 21-49-55 Screenshot from 2025-05-13 21-50-34 Screenshot from 2025-05-13 21-50-48

βœ… Upload app-tier folder to S3

Screenshot from 2025-05-13 21-43-23

then Screenshot from 2025-05-13 21-51-35 Screenshot from 2025-05-13 21-52-06 Screenshot from 2025-05-13 21-52-39 Screenshot from 2025-05-13 21-52-59

βœ… Test App

Screenshot from 2025-05-13 21-58-40

Test App β€” fix DbConfig.js
Screenshot from 2025-05-13 22-04-54 Screenshot from 2025-05-13 22-01-26

βœ… Create AMI, Target Group, Load Balancer, Launch Template & Auto Scaling

create an image from instance

Screenshot from 2025-05-13 22-09-51 Screenshot from 2025-05-13 22-10-44

create target group

Screenshot from 2025-05-13 22-12-15 Screenshot from 2025-05-13 22-12-55 Screenshot from 2025-05-13 22-13-26 Screenshot from 2025-05-13 22-14-23

create loadbalancer

Screenshot from 2025-05-13 22-14-44 Screenshot from 2025-05-13 22-15-50 Screenshot from 2025-05-13 22-16-59 Screenshot from 2025-05-13 22-17-31

launch template

Screenshot from 2025-05-13 22-19-57 Screenshot from 2025-05-13 22-20-45 Screenshot from 2025-05-13 22-21-18 Screenshot from 2025-05-13 22-21-44

create autoscaling

Screenshot from 2025-05-13 22-22-51 Screenshot from 2025-05-13 22-23-30 Screenshot from 2025-05-13 22-24-06 Screenshot from 2025-05-13 22-24-48


🌐 Part 4: Web Tier

  • Configure nginx.conf with App LB DNS
  • Upload web-tier and nginx.conf to S3
  • Launch EC2 for WebServer
  • Connect via SSM and test in browser
  • Create AMI, Target Group, Load Balancer, Launch Template & Auto Scaling
  • Final Test

βœ… Configure nginx.conf with App LB DNS

now copy the dns and paste on nginx.conf file like 58 line

Screenshot from 2025-05-13 22-30-44 Screenshot from 2025-05-13 22-31-46

βœ… Upload web-tier and nginx.conf to S3

Screenshot from 2025-05-13 22-33-18 Screenshot from 2025-05-13 22-35-15

βœ… Launch instance for WebServer

Screenshot from 2025-05-13 22-44-35 Screenshot from 2025-05-13 22-44-25 Screenshot from 2025-05-13 22-38-11

select instance click on connect then

βœ… Connect via SSM and test in browser

Connect via SSM

Screenshot from 2025-05-14 16-46-33

Screenshot from 2025-05-13 22-49-35 Screenshot from 2025-05-13 22-51-39 Screenshot from 2025-05-13 22-52-04 Screenshot from 2025-05-13 22-53-24 Screenshot from 2025-05-13 22-54-48 Screenshot from 2025-05-13 22-55-47 Screenshot from 2025-05-13 22-58-16 Screenshot from 2025-05-13 23-02-04 Screenshot from 2025-05-13 23-03-07

Test in browser

copy the ip of your intance and paste on your web browser

Screenshot from 2025-05-13 23-04-17

βœ… Create AMI, Target Group, Load Balancer, Launch Template & Auto Scaling

create an image from instance

Screenshot from 2025-05-13 23-06-17 Screenshot from 2025-05-13 23-07-00

create target group

Screenshot from 2025-05-13 23-09-27 Screenshot from 2025-05-13 23-09-44

create loadbalancer

Screenshot from 2025-05-13 23-11-06 Screenshot from 2025-05-13 23-12-09

launch template

Screenshot from 2025-05-13 23-14-18 Screenshot from 2025-05-13 23-14-41 Screenshot from 2025-05-13 23-15-16 Screenshot from 2025-05-13 23-15-36

create autoscaling

Screenshot from 2025-05-13 23-16-36 Screenshot from 2025-05-13 23-17-32 Screenshot from 2025-05-13 23-21-17 Screenshot from 2025-05-13 23-21-44

βœ… Final Test

now copy the dns of loadbalancer and paste on your web browser Screenshot from 2025-05-13 23-22-44


🧠 Learnings

  • Building multi-tier architecture with AWS best practices
  • Role-based access, NAT & IGW usage
  • Auto scaling with load balancers
  • Configuring backend/frontend interaction securely
  • Real-world deployment flow using EC2 and RDS

🧹 Clean-Up

After completing the project:

  • Terminate EC2s
  • Delete Load Balancers
  • Delete NAT Gateways (to avoid billing)
  • Delete RDS (optional: take snapshot)
  • Delete VPC and associated components
  • Remove S3 contents

πŸ”— Workshop Reference

AWS Official Workshop Link

About

My hands-on experience with the AWS three tier architecture Workshop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published