Elastic Load Balancing

Managed load balancer that spreads incoming traffic across healthy targets in multiple Availability Zones.

Verified against AWS documentation · 2026-09-09

Key facts

  1. 01One DNS name in front of many targets — health checks decide who gets traffic, unhealthy targets are skipped automatically
  2. 02ALB = Layer 7 (HTTP/HTTPS), routes on path, host, or header. NLB = Layer 4 (TCP/UDP/TLS), extreme performance, static IP per AZ
  3. 03GWLB = Layer 3 gateway that fronts third-party firewall and inspection appliances. CLB = previous generation
  4. 04Regional, not global: you enable AZs and ELB puts a node in each. Auto Scaling registers and deregisters instances for you; ACM certs terminate HTTPS at the load balancer
  5. 05Reality check: CLB inside a VPC still runs and isn't retired, but AWS labels it previous generation and recommends migrating — treat it as the legacy option, never the right answer for a new build

Exam triggers

Phrases and scenarios that point here.

  • "Distribute traffic", "single point of contact", "survive an AZ failure" → ELB across multiple AZs
  • Route /api and /images to different backends, or host-based routing for microservices → ALB
  • "Static IP for partner allow-listing", "millions of requests per second", "UDP", "lowest latency" → NLB
  • All traffic must pass a third-party firewall appliance before reaching workloads → GWLB

Not this service

  • Add or remove capacity as demand changes → EC2 Auto Scaling (ELB spreads traffic, it never creates servers)
  • Cache and serve content close to users at the edge → CloudFront

Use cases

  1. 01Public web app where an internet-facing ALB fronts an Auto Scaling group spanning two AZs — one instance dies and users never notice
  2. 02Three-tier setup: internet-facing ALB for the web tier, internal ALB for the app tier, so app servers never need a public IP
  3. 03Path-based routing where /api, /admin, and /static hit different target groups behind one domain and one certificate
  4. 04Game server or IoT broker on raw TCP/UDP where partners need a fixed IP to allow-list in their own firewall → NLB
  5. 05Rolling deploys: new instances register and start taking traffic once health checks pass, old ones drain in-flight connections before shutdown

How it's charged

  1. 01Two parts: a flat hourly charge per load balancer (partial hours round up to a full hour) plus capacity units metered per minute
  2. 02Capacity units are LCU (ALB), NLCU (NLB), GLCU (GWLB) — you pay only for the single highest dimension in the hour (new connections, active connections, processed bytes, plus rule evaluations on ALB), not the sum of them
  3. 03CLB is the exception: hourly plus per-GB of data processed, no capacity units
  4. 04An idle load balancer with zero traffic still bills its hourly charge — forgotten test ALBs quietly reappear on the bill every month
  5. 05Public IPv4 addresses and standard data transfer are billed separately, on top of the ELB line item

Commonly confused with

References