Skip to content

Application Load Balancer (v2)

Application Load Balancer (v2)ΒΆ

  • Application [[Load Balancer]]s ([[Layer 7]]) allow to do:
    • Load balancing to multiple [[HTTP]] applications across machines ([[target group]]s)
    • Load balancing to multiple applications on the same machine (ex: [[container]]s)
    • Load balancing based on route in URL
    • Load Balancing based on [[hostname]] in URL
  • Basically, they're awesome for micro services & container-based applications (example: Docker & [[Amazon ECS]])
  • Has a port mapping feature to redirect to a dynamic port
  • In comparison, we would need to create one Classic Load Balancer per application before. That was very expensive and inefficient.

  • Stickiness can be enabled at the target group level
    • Same request goes to the same instance
    • [[Stickiness]] is directly generated by the ALB (not the application)
  • ALB support [[HTTP]]/[[HTTPS]] & [[Websockets]] protocols
  • The application servers don't see the IP of the client directly
    • The true [[IP]] of the client is inserted in the [[header]] [[X-Forwarded-For]].
    • We can also get [[Port]] ([[X-Forwarded-Port]]) and [[proto]] ([[X-Forwarded-Proto]])