Elastic Load Balancing (ELB): What It Is and When to Use It

Definition

Amazon Elastic Load Balancing (ELB) is a managed AWS service that automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and AWS Lambda functions. It acts as a single point of contact for clients, increasing an application's availability and fault tolerance by ensuring traffic is only sent to healthy, operational resources.

How It Works

Elastic Load Balancing operates by accepting incoming traffic from clients and routing it to registered targets in one or more Availability Zones (AZs). The core components of ELB work together to manage this flow:

  1. Load Balancer: The service itself, which serves as the single entry point for all incoming traffic. You interact with it via a DNS name.
  2. Listeners: A listener checks for connection requests from clients, using a protocol and port that you configure (e.g., HTTPS on port 443). Each load balancer must have at least one listener.
  3. Rules: Listener rules determine how the load balancer routes requests. Rules can be based on factors like the URL path, hostname, or HTTP headers, directing traffic to different target groups accordingly.
  4. Target Groups: A target group is a logical collection of your backend resources (targets) that will receive traffic. You define settings for each target group, including the protocol, port, and health check configurations.
  5. Health Checks: ELB periodically sends requests to its registered targets to test their status. If a target fails a specified number of consecutive health checks, the load balancer marks it as unhealthy and stops routing traffic to it until it becomes healthy again.

The typical flow is as follows: A client makes a request to the load balancer's DNS name. A listener on the load balancer receives the request and evaluates its rules. Based on the matching rule, it forwards the request to a healthy target within the designated target group.

ELB also integrates tightly with Amazon EC2 Auto Scaling to automatically add or remove instances from the load balancer as demand changes, ensuring seamless scalability.

Key Features and Limits

ELB offers four types of load balancers, each designed for specific needs:

  • Application Load Balancer (ALB): Operates at the application layer (Layer 7).
    • Features: Advanced routing based on host, path, HTTP headers, and query strings; support for microservices and container-based applications with dynamic port mapping (Amazon ECS); native integration with AWS WAF for security; support for HTTP/2, WebSockets, and gRPC; SSL/TLS termination; user authentication with Amazon Cognito.
    • Limits: 50 listeners per load balancer (not adjustable); 100 rules per load balancer (default, adjustable).
  • Network Load Balancer (NLB): Operates at the transport layer (Layer 4).
    • Features: Capable of handling millions of requests per second with ultra-low latency; preserves the client source IP address; provides a static IP address per Availability Zone (can also use Elastic IPs); ideal for TCP, UDP, and TLS traffic; supports long-lived connections.
    • Limits: 50 listeners per load balancer (not adjustable); 500 targets per Availability Zone per NLB (default, adjustable).
  • Gateway Load Balancer (GWLB): Operates at the network layer (Layer 3).
    • Features: Deploy, scale, and manage third-party virtual appliances like firewalls, IDS/IPS, and deep packet inspection systems; transparently inserts these appliances into the network path without changing routing; uses the GENEVE protocol on port 6081.
    • Limits: 300 targets per Availability Zone.
  • Classic Load Balancer (CLB): Legacy, previous-generation load balancer operating at both Layer 4 and Layer 7. AWS recommends migrating to current-generation load balancers for new applications.

Cross-Zone Load Balancing: This feature distributes traffic evenly across all registered targets in all enabled Availability Zones. It is enabled by default for ALBs and disabled by default for NLBs.

Common Use Cases

  • Web Application Hosting (ALB): Ideal for load balancing HTTP/HTTPS traffic for websites and APIs. Its advanced, content-based routing is perfect for microservice architectures where different services handle different URL paths (e.g., /api and /images).
  • High-Performance & Low-Latency Workloads (NLB): Best suited for TCP/UDP-based applications that demand extreme performance and minimal latency, such as real-time gaming, financial trading platforms, and IoT applications.
  • Deploying Virtual Security Appliances (GWLB): Used to create a centralized, scalable, and manageable entry and exit point for network traffic inspection. This allows you to insert security appliances from AWS Marketplace vendors directly into your network traffic flow.
  • Containerized Applications (ALB): With its deep integration with Amazon Elastic Container Service (ECS), an ALB can dynamically route traffic to containers running on a shared fleet of EC2 instances, mapping to different ports on the same instance.
  • Hybrid Cloud Load Balancing (NLB): An NLB can use IP addresses as targets, allowing it to distribute traffic to on-premises resources connected via AWS Direct Connect or a VPN, facilitating hybrid cloud deployments.

Pricing Model

ELB pricing is generally based on a pay-as-you-go model with two main components: an hourly charge for each running load balancer and a usage charge based on a metric called Load Balancer Capacity Units (LCUs).

  • Application Load Balancer (ALB): Priced per hour plus LCU-hours. An LCU measures dimensions like new connections, active connections, processed bytes, and rule evaluations. You are billed on the dimension with the highest usage.
  • Network Load Balancer (NLB): Priced per hour plus NLCU-hours (Network LCU). NLCUs are based on new connections, active connections, and processed bytes.
  • Gateway Load Balancer (GWLB): Priced per hour plus GLCU-hours (Gateway LCU) and the number of bytes processed.
  • Classic Load Balancer (CLB): Priced per hour plus a charge per gigabyte of data processed.

Data transfer charges may also apply. For detailed and current pricing, it is best to consult the official AWS Pricing page and the AWS Pricing Calculator.

Pros and Cons

Pros:

  • High Availability and Fault Tolerance: Automatically distributes traffic across multiple Availability Zones, rerouting from unhealthy instances to ensure application uptime.
  • Managed Service & Elasticity: AWS manages the underlying infrastructure, and the load balancer scales automatically to handle traffic spikes without manual intervention.
  • Enhanced Security: Integrates with AWS WAF (ALB), AWS Certificate Manager (ACM) for SSL/TLS certificates, and Amazon VPC for network isolation.
  • Flexibility: Offers different load balancer types tailored to specific network layers and use cases (Layer 7, Layer 4, Layer 3).

Cons:

  • Cost: For high-traffic applications, the cost of running multiple load balancers and processing large amounts of data can become significant.
  • Latency: As a middleman, an ELB introduces a small amount of latency to each request.
  • Complexity: The variety of options and configurations can introduce complexity, especially when troubleshooting issues like 5xx errors or health check failures.
  • No Static IP for ALB: Application Load Balancers do not have a static IP address by default, which can be a requirement for some legacy systems or whitelisting. This requires a workaround using an NLB or AWS Global Accelerator.

Comparison with Alternatives

  • ALB vs. NLB vs. GWLB: This is the primary comparison. Choose ALB for web traffic and advanced routing (Layer 7). Choose NLB for extreme performance, static IPs, or non-HTTP protocols (Layer 4). Choose GWLB for deploying third-party virtual appliances (Layer 3).
  • ELB vs. Amazon Route 53: Route 53 provides DNS-based load balancing, which can distribute traffic globally across different AWS regions or to on-premises resources. ELB operates within a single region, distributing traffic to targets within that region. They are often used together: Route 53 for global traffic distribution to regional ELB endpoints.
  • ELB vs. Self-Managed Load Balancer (e.g., NGINX/HAProxy on EC2): A self-managed solution offers maximum customization but requires significant operational overhead for patching, scaling, high availability, and monitoring. ELB is a managed service that handles this automatically, reducing operational burden.

Exam Relevance

Elastic Load Balancing is a fundamental topic on several AWS certification exams, including:

  • AWS Certified Solutions Architect - Associate (SAA-C03)
  • AWS Certified Developer - Associate (DVA-C02)
  • AWS Certified SysOps Administrator - Associate (SOA-C02)

Examinees are expected to know the differences between the load balancer types and be able to choose the appropriate one for a given scenario. Key topics include understanding health checks, cross-zone load balancing, SSL/TLS termination, sticky sessions, and integration with Auto Scaling groups.

Frequently Asked Questions

Q: What is the main difference between an Application Load Balancer (ALB) and a Network Load Balancer (NLB)?

A: The primary difference is the OSI layer at which they operate. An ALB is a Layer 7 (application) load balancer that makes intelligent, content-based routing decisions for HTTP/HTTPS traffic. An NLB is a Layer 4 (transport) load balancer that handles TCP/UDP/TLS traffic at the connection level, offering extremely high performance and low latency.

Q: Can an Elastic Load Balancer have a static IP address?

A: A Network Load Balancer (NLB) can be configured with a static IP address for each Availability Zone it is in, and you can also assign an Elastic IP address to it. An Application Load Balancer (ALB) does not support static or Elastic IPs directly. To achieve this, you can place an NLB in front of your ALB or use the AWS Global Accelerator service.

Q: How do ELB health checks work?

A: Health checks are periodic tests that the load balancer sends to its registered targets to verify their status. You configure parameters like the protocol, port, health check path (for HTTP/S), and thresholds for what constitutes a healthy or unhealthy target (e.g., number of consecutive successful/failed checks). The load balancer will only route traffic to targets that are currently passing these health checks.


This article reflects AWS features and pricing as of 2026. AWS services evolve rapidly — always verify against the official AWS documentation before making production decisions.

Published: 5/9/2026 / Updated: 5/14/2026

This article is for informational purposes only. AWS services, pricing, and features change frequently — always verify details against the official AWS documentation before making production decisions.

More in Networking