This project demonstrates the design and partial implementation of a highly available and scalable web application architecture on AWS.
The architecture follows industry best practices including multi-AZ deployment, network isolation, and secure access patterns.
- Amazon EC2
- Amazon VPC
- Public & Private Subnets
- Internet Gateway
- NAT Gateway
- Security Groups
- Network ACLs
- (Designed) Application Load Balancer
- (Designed) Auto Scaling Group
- (Designed) Amazon RDS
- (Designed) Amazon S3
- Public subnets host internet-facing components like Load Balancer and NAT Gateway.
- Private subnets host EC2 instances for security.
- Internet Gateway allows inbound/outbound internet traffic.
- NAT Gateway enables outbound internet access from private instances.
- Load Balancer distributes traffic across multiple EC2 instances.
- RDS provides persistent storage (designed).
- S3 stores static assets and backups (designed).
- User sends request via internet
- Request enters VPC via Internet Gateway
- Load Balancer distributes traffic (designed)
- EC2 instances process the request
- EC2 communicates with RDS (designed)
- EC2 accesses internet via NAT Gateway if needed
- EC2 instances are deployed in private subnets
- Only controlled access allowed via Security Groups
- NACLs provide subnet-level filtering
- No direct internet access to EC2 instances
Due to AWS account billing requirements, some services such as Application Load Balancer, Auto Scaling, and RDS were not deployed in a personal environment.
However, the architecture is fully designed based on AWS best practices and real-world production systems.
- Private EC2 instances for security
- Public subnets for internet-facing components
- Multi-AZ design for high availability
- NAT Gateway for controlled outbound traffic
- Load Balancer (designed) for scalability
- VPC and subnet design
- Public vs Private networking
- Security groups vs NACLs
- High availability architecture
- Cloud design thinking
- Deploy ALB and Auto Scaling with full AWS account
- Connect EC2 to RDS database
- Store static assets in S3
- Implement Infrastructure as Code (Terraform)






