Building a Highly Available Web Application with Auto Scaling and RDS

INTERMEDIATE
105 minutes
5 tasks

In this lab, you will create a highly available web application by integrating Amazon EC2, Elastic Load Balancing, Auto Scaling, and Amazon RDS. The exercise will guide you through setting up an Auto Scaling group to handle variable traffic loads, configuring a load balancer for distributing client requests, and deploying an RDS database instance to persist application data. You will ensure that your infrastructure complies with best practices for high availability and fault tolerance, using security measures such as IMDSv2 and encryption.

Scenario

ACME Corporation is moving its web application to AWS to improve reliability and scalability. The app needs to handle varying loads throughout the day while maintaining cost efficiency. Your team is tasked with designing an architecture using EC2 instances with Auto Scaling, ALB, and a managed RDS backend to ensure both high availability and data durability.

Learning Objectives

  • Configure Auto Scaling for EC2 instances
  • Set up Elastic Load Balancing to distribute traffic
  • Deploy a managed RDS instance for database needs
  • Implement security using IMDSv2 and encryption

tasks (5)

task 1: Launch an EC2 instance with the appropriate security settings

15 min

task 2: Set up an Elastic Load Balancer

20 min

task 3: Implement Auto Scaling for EC2 instances

20 min

task 4: Deploy an RDS instance with encryption

25 min

task 5: Configure CloudWatch monitoring for key metrics

25 min

Prerequisites

  • Basic understanding of EC2 and Load Balancing concepts
  • Familiarity with RDS and database management basics
  • Knowledge of AWS Security best practices like IMDSv2

Skills Tested

Configuring and managing scaling mechanisms in compute environmentsImplementing highly available and resilient environments with ALB and RDSImplementing versioning and encryption for storage services