Getting started with ELB
ELB: practical usage
Load Balancing refers to distributing workloads across multiple computing resources in order to avoid overloading some nodes while leaving others underused. When properly configured, load balancing can greatly increase an infrastructure's availability and performance, optimize throughput and response time, and generally improve the system effectiveness.
AWS has a purpose-build load balancing service called Elastic Load Balancing (ELB). Since the effective use of load balancers is so important even to many smaller deployments, instructor David Clinton crafted this introductory course, covering all the main concepts and practical application of ELB.
Who should take this course
As this is a beginner to intermediate course, you should be able to grasp all the core concepts with just about any background level. Nevertheless you may want to take our introductory EC2 and VPC courses first. Also, our Introduction to AWS might be another good, quick tutorial if you haven't yet seen that.
As a follow up to this course, check out our ELB questions set, and our advanced course How to Architect with a Design for Failure Approach, where you'll get the chance to see ELB in action providing high availability and fault tolerance in a cloud architecture.
If you have thoughts or suggestions for this course, please contact Cloud Academy at email@example.com.
About the Author
David taught high school for twenty years, worked as a Linux system administrator for five years, and has been writing since he could hold a crayon between his fingers. His childhood bedroom wall has since been repainted.
Having worked directly with all kinds of technology, David derives great pleasure from completing projects that draw on as many tools from his toolkit as possible.
Besides being a Linux system administrator with a strong focus on virtualization and security tools, David writes technical documentation and user guides, and creates technology training videos.
His favorite technology tool is the one that should be just about ready for release tomorrow. Or Thursday.
In this video, we'll briefly explore some of the key concepts surrounding load balancing among AWS EC2 instances that you absolutely need to be familiar with.
Load balancers can only manage instances in the same region. That is if you happen to have instances running in North Virginia, then don't expect the load balancer in Tokyo to be able to handle traffic coming to it. So therefore, before you create the instances you want to balance and before you create your load balancer, make sure that they're all living in the same geographic region.
Availability zones are a little more flexible. A load balancer can work among multiple availability zones, as long as they're all in the same region. Load balancers can only manage instances that are in the same VPC (Virtual Private Cloud). So, you select when you create a load balancer, the VPC it's gonna work in, and you'll then be able to choose to balance among instances than in that VPC.
But again, before you get started, you have to make sure you're all pointed and all living in the same VPC.
Load balancers have to have access to the subnets where your instances live. Whether you've simply got a public and a private subnet that were created by default whenever you start a new VPC, or you've added your own custom subnets, make sure when you start up your load balancer, that it's got access to each of the subnets where your instances are running. This is something we'll see is fairly easy to do when you're going through the configuration wizard for creating a load balancer, but you have to be aware of it.
You have to be aware, you have to add all the subnets where instances you want to be managed are living.
A load balancer has its own security group. This is distinct from the security belonging to a VPC or the security group belonging to each of your instances; it has its own. A security group, of course, defines the incoming and outgoing network traffic policy for, in this case, the load balancer. AWS will assign a DNS name automatically to your load balancer. You may want to create a regular domain and route traffic to that domain through the load balancer. But by default, there is a rather long and as we'll see unwieldy and difficult to memorize DNS name that acts as a URL for all external traffic coming to access the data on any of the instances through the load balancer.
A load balancer will perform health checks on all the instances to monitor their health, and will only route traffic to those instances that pass. Finally, you'll have to decide whether your load balancer will be internet-facing or VPC-facing. An internet-facing load balancer will accept traffic coming from the internet at large, and will distribute that traffic among the instances. The web servers, let's say, on the instances that you are managing. A VPC-facing load balancer on the other hand, will allow traffic only from your internal network. We'll explore many more details of these configurations in coming videos.