Building a Scalable Web Application Using Amazon EC2 and ELB

INTERMEDIATE
120 minutes
5 tasks

In this lab, you'll learn how to deploy a scalable web application using Amazon EC2 instances and Elastic Load Balancing (ELB). You will set up an auto-scaling group to handle increased traffic and ensure high availability across multiple availability zones. By the end of the lab, you will have a cost-efficient and robust infrastructure ready to serve traffic dynamically. This will prepare you for designing applications that require high scalability and availability.

Scenario

TechWave, a growing tech company, needs to deploy a new web application that can handle fluctuating traffic demands while maintaining high availability and performance. The management anticipates traffic to surge during marketing events, thus requiring an infrastructure capable of scaling efficiently. The solution should be cost-effective and utilize existing AWS services to ensure reliability. Expected traffic growth during events is projected to increase by 200%.

Learning Objectives

  • Understand how to configure Amazon EC2 instances for scalable web applications.
  • Set up Elastic Load Balancing to manage incoming application traffic across multiple EC2 instances.
  • Configure Auto Scaling policies to automatically adjust the number of EC2 instances based on load.
  • Implement best practices for high availability and fault tolerance using AWS services.

tasks (5)

task 1: Create a Virtual Private Cloud (VPC) with subnets spanning two availability zones

20 min

task 2: Launch and configure EC2 instances in each subnet

30 min

task 3: Configure an Elastic Load Balancer (ELB) to distribute traffic

25 min

task 4: Implement Auto Scaling based on CPU utilization

35 min

task 5: Configure CloudWatch for application monitoring and alerts

30 min

Prerequisites

  • Basic understanding of VPC and subnet concepts
  • Experience with launching and configuring EC2 instances

Skills Tested

Configuring Amazon EC2 and VPC for scalable applicationsImplementing Elastic Load Balancing for high availabilitySetting up Auto Scaling to manage EC2 instance demandsMonitoring applications with Amazon CloudWatch