Skip to content
English
On this page

Elastic Load Balancing

Elastic Load Balancing (ELB) distributes incoming application or network traffic across multiple targets. These targets are AWS resources such as Amazon EC2 instances, containers, and IP addresses. To foster high availability, ensure the resources are in multiple Availability Zones.

Elastic Load Balancing scales your load balancer as traffic to your application changes over time and can scale to a majority of workloads automatically. You can add and remove compute resources from your load balancer as your needs change, without disrupting the overall flow of requests to your applications.

You can configure health checks, which are used to monitor the health of the computing resources so that the load balancer can send requests only to the healthy ones. You can also offload the work of SSL/TLS encryption and decryption to your load balancer so that your compute resources can focus on their main work.

Elastic Load Balancing offers the following three types of load balancers that feature high availability, automatic scaling, and robust security:

  • Classic Load Balancer: Routes traffic based on either application or network-level information; AWS refers to this load balancer service as simply the Legacy Load Balancer now.

  • Application Load Balancer: Routes traffic based on advanced application-level information that includes the content of the request.

  • Network Load Balancer: Operates at the Layer 3 (Network) layer of the OSI model as well as Layer 4 (Transport). Instead of using DNS endpoints, it uses IP addresses.

The Legacy (Classic) Load Balancer is ideal for simple load balancing of traffic across multiple EC2 instances, whereas the Application Load Balancer is ideal for applications needing advanced routing capabilities, microservices, and containerbased architectures.

The Application Load Balancer also can route traffic to multiple services or load balance across multiple ports on the same EC2 instance. The Application Load Balancer can also work with different target groups. They can commonly be used to develop microservices or test builds.

Key Topic

  • EC2: These virtual servers run your applications in the cloud. You can configure your load balancer to route traffic to your EC2 instances.

  • ECS: This service enables you to run, stop, and manage Docker containers on a cluster of EC2 instances. You can configure your load balancer to route traffic to your containers.

  • Auto Scaling: This service ensures that you are running your desired number of instances, even if an instance fails, and enables you to automatically increase or decrease the number of instances as the demand on your instances changes. If you enable Auto Scaling with Elastic Load Balancing, instances that are launched by Auto Scaling are automatically registered with the load balancer, and instances that are terminated by Auto Scaling are automatically deregistered from the load balancer.

  • CloudWatch: This service enables you to monitor your load balancer and take action as needed.

  • Route 53: This service provides a reliable and cost-effective way to route visitors to websites by translating domain names (such as www.ajsnetworking.com) into the numeric IP addresses (such as 69.163.163.123) that computers use to connect to each other. AWS assigns URLs to your resources, such as load balancers. However, you might want a URL that is easy for users to remember. For example, you can map your domain name to a load balancer.