Amazon Web Services (AWS) Elastic Load Balancer (ELB) is a fully-managed load balancing service that can distribute traffic across multiple compute resources to improve application availability, scalability, and performance. There are four types of ELB provided by AWS:
- Classic Load Balancer (CLB)
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Gateway Load Balancer (GLB)
Let’s take an in-depth look at each type of ELB:
1. Classic Load Balancer (CLB)
The Classic Load Balancer (CLB) is the original load balancer service offered by AWS. It provides basic load balancing capabilities and is suitable for simple web applications that require a traditional load balancing approach.
Some key features of the CLB include:
-
-
- Layer 4 (Transport Layer) and Layer 7 (Application Layer) load balancing
- Support for TCP, HTTP, and HTTPS protocols
- Session stickiness using cookies or server-side stickiness
- Health checks to monitor the health of the backend instances
- Connection draining to ensure that in-flight requests complete before terminating an instance
- SSL termination to offload SSL/TLS processing from the backend instances
-
2. Application Load Balancer (ALB)
The Application Load Balancer (ALB) is a more advanced load balancing service that is designed for modern, microservices-based applications. It operates at the application layer of the network stack, allowing it to distribute traffic based on application-level information.
Some key features of the ALB include:
-
-
- Layer 7 (Application Layer) load balancing only
- Support for HTTP and HTTPS protocols
- Advanced routing capabilities, including path-based routing and host-based routing
- Support for WebSocket and HTTP/2 traffic
- Integration with AWS services like EC2 Container Service (ECS) and AWS Lambda for serverless applications
- Built-in support for container-based applications, including service discovery and routing to specific containers within a service
-
3. Network Load Balancer (NLB)
The Network Load Balancer (NLB) is a high-performance load balancing service that is designed for applications that require extreme performance, scalability, and low latency. It operates at the transport layer of the network stack, allowing it to handle millions of requests per second with minimal latency.
Some key features of the NLB include:
-
-
- Layer 4 (Transport Layer) load balancing only
- Support for TCP, UDP, and TLS protocols
- Static IP addresses for the load balancer that can be assigned to domain names
- Support for large-scale applications that require high throughput and low latency
- Support for Internet-facing and internal load balancing scenarios
- Integration with AWS services like Elastic Container Service for Kubernetes (EKS) and Elastic Compute Cloud (EC2) for scalable container-based and microservices-based applications
-
4. Gateway Load Balancer (GLB)
Gateway Load Balancer is a type of Network Load Balancer (NLB) offered by Amazon Web Services (AWS) that allows you to load balance IP traffic across multiple resources, such as EC2 instances or containers.
Unlike the traditional Network Load Balancer, which operates at Layer 4 of the OSI model (transport layer), Gateway Load Balancer operates at Layer 3 (network layer). This means that it can distribute IP traffic, including non-TCP/UDP protocols, such as Internet Protocol Security (IPsec), Domain Name System (DNS), and Border Gateway Protocol (BGP).
Gateway Load Balancer is ideal for scenarios where you need to distribute traffic across multiple resources in a highly available and scalable manner, while also preserving the original source IP address. This makes it suitable for applications that require network-level routing, such as VPNs, firewalls, and NAT devices.
Some key features of Gateway Load Balancer include:
-
-
- High availability and fault tolerance: Gateway Load Balancer automatically distributes traffic across multiple resources to ensure high availability and fault tolerance.
- Scaling: Gateway Load Balancer can handle millions of requests per second and can be scaled up or down based on demand.
- Source IP preservation: Gateway Load Balancer preserves the original source IP address of incoming traffic, which makes it ideal for applications that require network-level routing.
- Integration with AWS services: Gateway Load Balancer integrates with other AWS services, such as Amazon Virtual Private Cloud (VPC), AWS Transit Gateway, and AWS Direct Connect.
- Security: Gateway Load Balancer provides security features such as SSL/TLS offloading and support for AWS Certificate Manager.
-
In summary, the Classic Load Balancer (CLB) is a basic load balancing service that is suitable for traditional web applications. The Application Load Balancer (ALB) is a more advanced load balancing service that is designed for modern, microservices-based applications. The Network Load Balancer (NLB) is a high-performance load balancing service that is designed for applications that require extreme performance, scalability, and low latency. Gateway Load Balancer(GLB) is a type of Network Load Balancer that operates at the network layer and is designed for applications that require network-level routing. It provides high availability, fault tolerance, scaling, source IP preservation, and security features.