Deploy an Auto-Scaling Web Application with Load Balancer

INTERMEDIATE
100 minutes
5 tasks

This lab focuses on deploying a scalable web application using AWS services, emphasizing provisioning and automating resource management. You will set up an Amazon EC2 instance behind an Elastic Load Balancer and configure Auto Scaling to dynamically adjust to traffic demands. This exercise helps in understanding critical aspects of resource scaling and load distribution, which are essential for maintaining high availability and performance under varying load conditions.

Scenario

You are a CloudOps engineer at a tech company, responsible for ensuring the company's web applications can handle varying traffic loads efficiently. The company just launched a new marketing campaign, anticipating increased web traffic. Your task is to deploy a web application setup that scales automatically to meet traffic demands, ensuring high availability while optimizing costs.

Learning Objectives

  • Implement an Auto Scaling group with scaling policies
  • Configure an Application Load Balancer to distribute incoming traffic
  • Deploy and manage EC2 instances using CloudFormation templates
  • Utilize CloudWatch metrics to monitor and adjust resources

tasks (5)

task 1: Create a VPC with Public and Private Subnets

20 min

task 2: Configure an EC2 Instance Template with IMDSv2

15 min

task 3: Implement an Application Load Balancer with SSL Termination

25 min

task 4: Set Up Auto Scaling with Alarm-Based Scaling Policies

20 min

task 5: Monitor and Verify the Application's Performance Using CloudWatch

20 min

Prerequisites

  • Basic understanding of AWS VPC and networking concepts
  • Familiarity with AWS EC2 and Load Balancing

Skills Tested

Creating and managing Auto Scaling groupsConfiguring an Application Load BalancerDeploying EC2 instances with IMDSv2Monitoring application performance with CloudWatch