The hands-on lab is part of these learning paths
Ready for the real environment experience?
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:
- Creating your first Classic Load Balancer
- Creating your first Auto Scaling group
- Introduction to CloudWatch
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.