top of page
sophia-logo.png
  • Linkedin

Business Implications

Delivers a production-style, cost-efficient stack with clear separation of concerns, secure networking, and fault tolerance. The ALB improves uptime and scalability, RDS ensures data durability, and VPC controls reduce risk—providing a solid blueprint for migrating monoliths or bootstrapping small web platforms.

Final
Outcome

Highly Available Two-Tier Web App

Steps Performed

Provisioned VPC networking, launched RDS in private subnets, deployed two EC2 web servers with Node.js and Nginx, fronted by ALB, and validated end-to-end functionality.

1.

Set Up VPC & Subnets

Created TodoAppVPC (10.0.0.0/16) with two public subnets for EC2 and two private subnets for RDS across AZs. Attached an IGW, built public/private route tables, and prepared isolated networking.

2.

Harden Access With Security Groups

Configured Webserver-SG (HTTP 80 from ALB-SG, SSH 22 as needed) and Database-SG (MySQL 3306 only from Webserver-SG). Added least-privilege IAM roles for EC2/RDS interactions and ops visibility.

3.

Provision RDS MySQL (Private)

Deployed RDS MySQL (free-tier) in private subnets, not publicly accessible. Connected via bastion host to create TodoAppDB and Tasks table. Stored credentials securely and recorded the RDS endpoint for app config.

4.

Launch & Configure EC2 App Tier

Launched two Amazon Linux EC2 instances (public subnets). Installed Node.js, cloned app repo, set .env with RDS details, ran with PM2, and configured Nginx reverse proxy to port 3000. Verified app on each instance.

5.

Add ALB & Target Group

Created ALB (internet-facing) with listener HTTP:80 and ALB-SG. Registered both EC2 instances in TodoApp-TG, set health check /, updated Webserver-SG to allow HTTP from ALB-SG, and validated round-robin traffic via ALB DNS.

AWS Services Used

Amazon EC2
Amazon RDS (MySQL)
Application Load Balancer (ALB)
Amazon VPC
AWS IAM
Security Groups

Node.js & PM2
Nginx
MySQL Workbench / CLI
Git

Technical Tools Used

Two-Tier Architecture Design
VPC Networking & Security
Load Balancing & HA
Linux & App Operations

Skills Demonstrated

Two-Tier To-Do App on AWS

EC2 + RDS With ALB, Secure VPC Networking

Deployed a scalable To-Do web app using a two-tier architecture: EC2 for the Node.js app, Amazon RDS (MySQL) for data, and an Application Load Balancer for traffic distribution. Built inside a secure VPC with public/private subnets, security groups, and least-privilege IAM.

Related Projects

CI/CD For Dockerized 2048 Game

CI/CD For Dockerized 2048 Game

Amazon ECS

Multi-Cloud Weather Tracker with DR (AWS+Azure)

Multi-Cloud Weather Tracker with DR (AWS+Azure)

Azure+AWS

Amazon Polly Text Narrator

Amazon Polly Text Narrator

Amazon Polly

Automated Receipt Processing System - Amazon Textract

Automated Receipt Processing System - Amazon Textract

Amazon Textract

AWS Serverless Event Announcement System

AWS Serverless Event Announcement System

AWS Lambda

Serverless CSV Data Pipeline - ETL

Serverless CSV Data Pipeline - ETL

Amazon Glue

bottom of page