This project demonstrates deploying a personal portfolio website on AWS using EC2 instances along with an Application Load Balancer and Auto Scaling Group to achieve high availability, scalability, and fault tolerance.
- HTML, CSS, JavaScript
- AWS EC2
- Application Load Balancer (ALB)
- EC2 Auto Scaling
- Amazon Linux
- Apache Web Server
- SSH
- VPC and Security Groups
- Multiple EC2 instances host the same portfolio application
- Application Load Balancer distributes incoming HTTP traffic
- Auto Scaling Group automatically scales EC2 instances based on CPU utilization
- High availability achieved using multiple Availability Zones
- Created an EC2 Launch Template using Amazon Linux and t2.micro instance type
- Configured Security Groups to allow SSH (22) and HTTP (80)
- Installed Apache web server on EC2 instances
- Deployed portfolio files to
/var/www/html - Verified application access using instance public IP
- Created an internet-facing Application Load Balancer
- Configured HTTP listener on port 80
- Created a target group
- Registered EC2 instances with the target group
- Verified traffic routing using the ALB DNS name
- Created an Auto Scaling Group using the launch template
- Attached the Auto Scaling Group to the Application Load Balancer
- Set minimum, desired, and maximum instance capacity
- Configured scaling policy based on CPU utilization
- Verified automatic scale-out and scale-in behavior
- Portfolio website is highly available and fault tolerant
- Traffic is evenly distributed across EC2 instances
- Instances automatically scale based on traffic load
- Application is accessible via the Application Load Balancer DNS URL
- Launching and configuring EC2 instances
- Implementing load balancing using ALB
- Automatic scaling with Auto Scaling Groups
- Designing scalable and highly available AWS architectures
The application is accessible using the Application Load Balancer DNS endpoint.