Launching Auto Scaling Groups behind a Classic Load Balancer

Lab Steps

Logging in to the Amazon Web Services Console
Creating a Classic Load Balancer
Create a launch configuration
Create an Auto Scaling Group associated with an ELB
Creating scaling policies
Making it scale

The hands-on lab is part of these learning paths

Solutions Architect – Professional Certification Preparation for AWS
course-steps 48 certification 6 lab-steps 19 quiz-steps 4 description 2
SysOps Administrator – Associate Certification Preparation for AWS
course-steps 34 certification 5 lab-steps 30 quiz-steps 4 description 5

Ready for the real environment experience?

Time Limit1h 45m
star star star star star-half


Auto Scaling helps you maintain application availability and allows you to scale your Amazon EC2 capacity up or down automatically according to the defined conditions. You can use Auto Scaling to help ensure that you are running your desired number of Amazon EC2 instances. Auto Scaling can also automatically increase the number of Amazon EC2 instances during demand spikes to maintain performance and decrease capacity during lulls to reduce costs. Auto Scaling is well suited to applications that have stable demand patterns, or that experience hourly, daily, or weekly variability in usage.

Elastic Load Balancing (ELB) allows the distribution of incoming traffic to your Amazon AWS infrastructure across multiple instances. This represents a great tool in avoiding failures in your applications and web traffic. ELB automatically detects failures in your EC2 instances and redirects traffic to other available instances. 

During this Lab, we will launch an Auto Scaling Group (ASG) behind a Classic Load Balancer and build everything from scratch. In the end of this Lab, we should have an infrastructure that looks like this:


We will create Classic Load Balancer to load balance the traffic to the instances that will be launched in the Auto Scaling group that we will also create. We will follow the security best practices by denying direct access for the EC2 instances by allowing requests coming only from the Load Balancer.

To make sure that our application scales, we will configure some Scaling Policies to scale the infrastructure up and down based on the usage. To do so, we will create a couple of CloudWatch Alarms to monitor a particular metric and trigger the scaling actions.



This is an intermediate level Lab, in order to follow the next steps you should be able to:

  • Describe and launch EC2 instances
  • Understand and use user data scripts
  • Describe, create, and configure Security Groups
  • Describe and launch Classic Load Balancers
  • Describe and launch an Auto Scaling group
  • Basic Understanding of the CloudWatch service

If you don't have this knowledge, please refer to these Labs first:


Learning Objectives:

By the end of this Lab, you should be able to:

  • Associate Auto Scaling groups with Classic Load Balancers
  • Understand how ELB's health checks affect ASGs
  • Configure Scaling Policies



June 27th, 2019 - Added a custom validation lab step to check the work performed in the lab

January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

About the Author


Eric Magalhães has a strong background as a Systems Engineer for both Windows and Linux systems and, currently, work as a DevOps Consultant for Embratel. Lazy by nature, he is passionate about automation and anything that can make his job painless, thus his interest in topics like coding, configuration management, containers, CI/CD and cloud computing went from a hobby to an obsession. Currently, he holds multiple AWS certifications and, as a DevOps Consultant, helps clients to understand and implement the DevOps culture in their environments, besides that, he play a key role in the company developing pieces of automation using tools such as Ansible, Chef, Packer, Jenkins and Docker.