Skip to content

075 Application Load Balancer

  • Layer 7 (HTTP)
  • Support HTTP, HTTPS, HTTP/2, WebSocket

Type

  • Load balance to multiple HTTP apps across machines
  • Load balance to multiple apps on the same machine (contains)

Routing table to different target groups

  • Route based on path in URL
  • Route based on hostname in URL (including subdomain)
  • Route based on query, headers

Great for microservices & container-based app

A port mapping feature to redirect to a dynamic port in ECS

ALB and HTTP Based Traffic

Diagram

  • Different microservices with same load balancer

Target Groups

  • EC2 instances (HTTP)
  • ECS tasks (HTTP)
  • Lambda functions (HTTP is translated into JSON)
  • IP addresses (must be private IP)

ALB

  • can route to multiple target groups
  • health checks at target group level

Query based load balance

Diagram

ALB Good to know

Uses fixed hostname as public access

The servers don’t see the IP of the client directly

  • true IP of client is inserted in the header X-Forwarded-For
  • We can also get X-Forwarded-Port and X-Forwarded-Proto