🔵 Architecture |
To build and deploy a scalable, secure, and highly available Three-Tier Web Application Architecture on AWS using best practices, automation, and monitoring tools.
- 📌 AWS Account
- 📌 Basic knowledge of Linux
Purpose: Serve static files, handle user requests, and route traffic to the Application Tier.
| Service | Purpose |
|---|---|
| Amazon EC2 | Host Nginx web servers |
| Application Load Balancer (ALB) | Internet-facing ALB for traffic distribution |
| Amazon Route 53 | Domain management and DNS routing |
| Amazon ACM | Provision and manage HTTPS certificates |
| Auto Scaling Group | Ensure availability and scalability |
| Security Groups | Control inbound access (HTTP/HTTPS/SSH) |
| Amazon AMI | Golden image for web server setup |
Purpose: Execute application logic (Node.js), process API requests, and communicate with DB Tier.
| Service | Purpose |
|---|---|
| Amazon EC2 | Run Node.js app server |
| Auto Scaling Group | Maintain desired number of app servers |
| Internal ALB | Load balance traffic between app servers |
| Amazon S3 | Store zipped Node.js application package |
| Amazon IAM Role | Allow EC2 to access S3 and RDS securely |
| Amazon AMI | Golden image for app server setup |
| Security Groups | Restrict access only from Web Tier |
| PM2 | Process manager to run app persistently |
Purpose: Store and manage application data securely.
| Service | Purpose |
|---|---|
| Amazon RDS (MySQL) | Managed relational database |
| Multi-AZ Deployment | High availability & failover support |
| DB Subnet Group | Isolate RDS within private subnets |
| Security Groups | Allow traffic only from App Tier (port 3306) |
| Service | Purpose |
|---|---|
| Amazon VPC | Isolated network for the entire architecture |
| Subnets (Public/Private) | Separate workloads logically and securely |
| Internet Gateway | Enable internet access for web tier |
| NAT Gateway | Allow private instances (app/db) to access the internet |
| Elastic IP | Static IP for NAT Gateway |
| Route Tables | Control traffic routing between subnets |
| Amazon CloudWatch (optional) | Monitor instance performance, scaling policies |
🔵 Architecture |
🔵 Architecture |
Three main layers:
- Web Tier: Handles client requests and serves the front-end website.
- Application Tier: Processes API requests and handles the business logic.
- Database Tier: Manages data storage and retrieval.
- Role: Entry point for all client traffic.
- Functionality:
- Distributes requests to web tier EC2s.
- Performs health checks.
- Role: Serves front-end and routes API calls.
- Components: Nginx on EC2, React.js front-end.
- Functionality:
- Serve static files.
- Redirect API to internal ALB.
- Role: Manages traffic between Web and App Tier.
- Functionality:
- Routes API calls to App EC2s.
- Ensures high availability.
- Role: Handles business logic.
- Components: Node.js on EC2.
- Functionality:
- Process requests.
- Interact with DB.
- Return data to Web Tier.
- Role: Reliable data storage.
- Functionality:
- Structured data storage.
- Multi-AZ high availability.
- SQL queries and transactions.
- Ensures even traffic distribution.
- Implemented at both Web and App tiers.
- External ALB checks Web EC2s.
- Internal ALB checks App EC2s.
- Web Tier and App Tier auto-scale based on metrics.
- SSL/TLS for
learnaws.co.in. - Auto-renew and bind with external ALB.
- DNS management for
learnaws.co.in. - Routing and health-check-based failover.
This architecture ensures high availability, scalability, and reliability by:
- Load balancing traffic across tiers.
- Monitoring instance health.
- Auto-scaling based on usage metrics.
- Isolated networking via VPC and Subnets.


