Skip to main content

Application Load Balancer (ALB)

  • What it is
    • Layer 7 (HTTP/HTTPS) load balancer. Understands the content of the request, not just the connection.
    • The default choice for web applications, microservices, and containers.
  • Content-based routing
    • Routes on path (/api/* → one target group, /images/* → another).
    • Routes on host header (shop.example.com vs blog.example.com), HTTP method, query string, source IP, and custom headers.
    • This is the capability Network Load Balancer (NLB) fundamentally cannot provide — it never sees the HTTP layer.
  • Target types
    • EC2 instances, IP addresses, AWS Lambda functions, and ECS tasks (dynamic port mapping, so many containers per host).
  • Other features
    • Built-in authentication via Amazon Cognito or OIDC before traffic reaches your app.
    • Native integration with AWS WAF — NLB has none.
    • TLS termination with free certificates from AWS Certificate Manager (ACM).
    • Sticky sessions, health checks per target group, HTTP/2 and gRPC, redirects and fixed responses.
  • Trade-offs
    • Higher latency than NLB (milliseconds, not microseconds) because it parses and re-forms the request.
    • DNS name only — no static IP. Front it with AWS Global Accelerator if clients need fixed IPs to allowlist.
  • See also

Linked from