What is load balancer in AWS?

This recipe explains what is load balancer in AWS

What is load balancer

AWS load balancers accept incoming client application traffic and distribute it across multiple registered targets, such as EC2 instances in different availability zones. The AWS application load balancer feature enables developers to route and configure incoming traffic between end-users and applications in the AWS public cloud.

The AWS elastic load balancer, which serves as a single point of contact for clients, only routes to healthy instances and identifies unhealthy instances. When the target becomes operational, the AWS load balancer algorithm resumes traffic routing to it. In cloud environments with multiple web services, load balancing is critical.

AWS Elastic Load Balancing (ELB) automatically distributes incoming application traffic across multiple targets in one or more availability zones, such as containers, EC2 instances, and IP addresses. This improves the fault tolerance and availability of user applications by distributing and balancing how frontend traffic reaches backend servers. AWS load balancing also checks the health of registered targets and routes traffic accordingly.

AWS Load Balancer Types

There are four types of AWS load balancers supported:

 

  • AWS Classic Load Balancer
  • AWS Network Load Balancer (NLB)
  • AWS Application Load Balancer (ALB)
  • AWS Gateway Load Balancer (GLB)
    • A. Classic Load Balancer:

Initially, the traditional type of load balancer was used. It distributes traffic among instances and lacks the intelligence to support host-based or path-based routing. In some situations, it reduces efficiency and performance. It works at both the connection and request levels. The classic load balancer sits between the transport (TCP/SSL) and application layers (HTTP/HTTPS).

    • B. Application Load Balancer:

This type of Load Balancer is used when decisions about HTTP and HTTPS traffic routing must be made. It supports both path-based and host-based routing. This load balancer operates at the OSI Model's Application layer. Dynamic host port mapping is also supported by the load balancer.

    • C. Network Load Balancer:

This type of load balancer operates at the OSI model's transport layer (TCP/SSL). It can handle millions of requests per second. It is primarily used to balance TCP traffic.

    • D. Gateway Load Balancer:

: Gateway Load Balancers enable you to deploy, scale, and manage virtual appliances such as firewalls. Gateway Load Balancers combine a transparent network gateway with traffic distribution.

 

By acting as a single point of contact for clients, the AWS load balancer improves application availability. As needs change, users can seamlessly add and remove instances from the AWS load balancer without disrupting the overall request flow to the application. As a result, AWS elastic load balancing scales as application traffic fluctuates and can automatically scale to most workloads

Users configure the load balancer with one or more listeners. A listener checks the configured port and protocol for connection requests from clients and forwards them to registered instances using the configured port number and protocol. The AWS load balancer sends requests only to healthy instances thanks to health checks.

By default, the AWS load balancer distributes traffic evenly across enabled availability zones. Maintain instances in roughly equal numbers across availability zones to improve fault tolerance. Cross-zone load balancing is also an option. This kind of elastic load balancing ensures that traffic is distributed evenly across all registered instances

When an availability zone is enabled, a load balancer node is created within the availability zone. Targets do not receive traffic if the availability zone is not enabled, even if they are registered.

Furthermore, the classic AWS load balancer algorithm performs best with at least one registered target in each enabled availability zone, but enabling multiple availability zones for all load balancers is recommended. To ensure continuous traffic routing, AWS application load balancers require the activation of at least two availability zones.

Limitations of AWS Load Balancer

Although AWS load balancers perform well in basic functions, they face a few significant challenges.

AWS Load Balancer Latency

AWS load balancer latency is among the system’s most notable limitations. With a classic load balancer several things can cause high latency, starting with faulty configuration. Beyond that, the high latency trouble spots are basically the same for the AWS application load balancer, especially relating to backend instances:

  • Incorrect configuration
  • Issues with network connectivity
  • And as to backend instances
  • Excessive CPU utilization
  • High memory (RAM) utilization
  • Incorrect web server configuration Problems caused by web application dependencies such as Amazon S3 buckets or external databases running on backend instances

What Users are saying..

profile image

Ray han

Tech Leader | Stanford / Yale University
linkedin profile url

I think that they are fantastic. I attended Yale and Stanford and have worked at Honeywell,Oracle, and Arthur Andersen(Accenture) in the US. I have taken Big Data and Hadoop,NoSQL, Spark, Hadoop... Read More

Relevant Projects

AWS Project - Build an ETL Data Pipeline on AWS EMR Cluster
Build a fully working scalable, reliable and secure AWS EMR complex data pipeline from scratch that provides support for all data stages from data collection to data analysis and visualization.

SQL Project for Data Analysis using Oracle Database-Part 6
In this SQL project, you will learn the basics of data wrangling with SQL to perform operations on missing data, unwanted features and duplicated records.

Azure Stream Analytics for Real-Time Cab Service Monitoring
Build an end-to-end stream processing pipeline using Azure Stream Analytics for real time cab service monitoring

Airline Dataset Analysis using Hadoop, Hive, Pig and Athena
Hadoop Project- Perform basic big data analysis on airline dataset using big data tools -Pig, Hive and Athena.

Python and MongoDB Project for Beginners with Source Code-Part 2
In this Python and MongoDB Project for Beginners, you will learn how to use Apache Sedona and perform advanced analysis on the Transportation dataset.

Azure Data Factory and Databricks End-to-End Project
Azure Data Factory and Databricks End-to-End Project to implement analytics on trip transaction data using Azure Services such as Data Factory, ADLS Gen2, and Databricks, with a focus on data transformation and pipeline resiliency.

Build an ETL Pipeline with DBT, Snowflake and Airflow
Data Engineering Project to Build an ETL pipeline using technologies like dbt, Snowflake, and Airflow, ensuring seamless data extraction, transformation, and loading, with efficient monitoring through Slack and email notifications via SNS

PySpark ETL Project for Real-Time Data Processing
In this PySpark ETL Project, you will learn to build a data pipeline and perform ETL operations for Real-Time Data Processing

AWS Project for Batch Processing with PySpark on AWS EMR
In this AWS Project, you will learn how to perform batch processing on Wikipedia data with PySpark on AWS EMR.

Build an Analytical Platform for eCommerce using AWS Services
In this AWS Big Data Project, you will use an eCommerce dataset to simulate the logs of user purchases, product views, cart history, and the user’s journey to build batch and real-time pipelines.