Certablo
← Knowledge Base

Elastic Load Balancing: ALB, NLB & GWLB

How AWS load balancers distribute traffic to healthy targets and how Application, Network and Gateway Load Balancers differ by layer, routing behavior and workload purpose.

CLF-C02

Visual overview

ELASTIC WEB TIERRoute to healthy targets while the compute pool adjusts to demand
Clients
Elastic Load BalancingListeners · rules · health checks
AZ AEC2 targetsAuto Scaling group
AZ BEC2 targetsAuto Scaling group
measurescale out / inhealth checkreplace
The load balancer and Auto Scaling group complement each other: one distributes traffic, while the other manages the amount and health of EC2 capacity behind it.
AWS SERVICE MAPListener → target group → healthy target

Listeners receive traffic; target groups define routing and health checks.

ListenerProtocol + port
Target groupRouting + health checks
Healthy targetEC2 / container / IP
EXAM-RELEVANT MECHANICS

Technical reference

Selection follows traffic semantics. Listeners receive traffic; target groups define destinations and health checks.

ALBHTTP / HTTPS

Layer-7 application routing, including host/path-aware web traffic decisions.

NLBTransport oriented

High-performance connection/transport traffic with network-level semantics.

GWLBGENEVE · port 6081

Designed for virtual network appliances; AWS documents 5-tuple flow hashing and GENEVE encapsulation.

Health checksTarget eligibility

Only healthy registered targets receive traffic according to load-balancer behavior.

Service limits and capabilities can change. Values shown here reflect the current AWS documentation; use the linked official sources below as the source of truth.

What Elastic Load Balancing does

Elastic Load Balancing distributes incoming traffic across registered targets such as EC2 instances, containers and IP addresses, depending on load balancer type. A load balancer presents a stable traffic entry point while the backend fleet changes. Health checks determine which registered targets are eligible to receive traffic, helping isolate unhealthy application capacity without requiring clients to know every backend address.

Listeners define how the load balancer accepts connections. Target groups organize backends and their health-check behavior. For Application Load Balancers, listener rules can make routing decisions and forward different requests to different target groups. Enabling multiple Availability Zones allows traffic to reach healthy capacity across zonal boundaries and is a fundamental availability pattern for internet-facing and internal applications.

Application Load Balancer

Application Load Balancer (ALB) operates at the application layer for HTTP and HTTPS workloads. It understands request-level attributes and supports content-based routing through listener rules, making it well suited to web applications, APIs and microservices that need routing by properties such as host or path. One ALB can direct different application routes to different target groups.

Because ALB understands HTTP semantics, choose it when the decision is about application requests rather than raw transport connections. TLS termination, HTTP-aware features and integration with container targets make it a common front door for modern web services.

Network and Gateway Load Balancers

Network Load Balancer (NLB) is designed for high-performance transport-layer traffic and supports protocols such as TCP, TLS and UDP. It can provide static IP addresses per enabled Availability Zone and can be associated with Elastic IP addresses. Choose NLB when the requirement centers on network-level connections, extreme performance, static addressing, source-IP behavior, or protocols that do not fit an HTTP-aware ALB.

Gateway Load Balancer (GWLB) solves a different problem: inserting and scaling fleets of virtual network appliances such as firewalls or inspection systems transparently in traffic paths. It is not the usual load balancer for a web application. Classic Load Balancer is the previous generation; new architectures generally evaluate ALB or NLB according to application and transport requirements, while existing Classic deployments can be migrated.

Load balancing is not Auto Scaling

A load balancer routes traffic across the healthy capacity that exists. Auto Scaling manages how much EC2 capacity exists. They are often deployed together because their responsibilities complement each other: scaling adds or removes instances, target registration connects those instances to the traffic layer, and health checks keep requests away from unhealthy targets.

High availability still requires architecture beyond the load balancer itself. The targets should be distributed across failure boundaries, downstream data services need appropriate resilience, health checks must represent genuine application health, and capacity must remain sufficient if one zone is removed from service.

Key takeaways

  1. 01

    Elastic Load Balancing routes traffic to healthy registered targets and scales the load-balancing layer as traffic changes.

  2. 02

    ALB is application-aware for HTTP/HTTPS; NLB focuses on transport-level connections; GWLB integrates virtual network appliances.

  3. 03

    Listeners accept traffic, target groups contain backends, and health checks influence which targets receive traffic.

  4. 04

    Load balancing and Auto Scaling are complementary but distinct responsibilities.

Official AWS sources

Use these primary AWS resources for the source material behind this article and for deeper reference.