+++ noatcards = True isdraft = False +++
-
Websockets and HTTP/2 are now supported.
-
Internet Protocol Version 6 (IPv6) is now supported.
-
Load Balancing via IP is now supported.
-
Prior to the Application Load Balancer, you were advised to use TCP instead of HTTP as the protocol to make it work (as described here) and use the obscure but useful Proxy Protocol (more on this) to pass client IPs over a TCP load balancer.
- Use ALBs to route to services that are hosted on shared clusters with dynamic port assignment (like ECS or Mesos).
(send HTTP requests for “api.mydomain.com” -> {target-group-1}, “blog.mydomain.com” -> {target group 2})
(send HTTP requests for “/api/*” -> {target-group-1}, “/blog/*” -> {target group 2}).
- Only support HTTP/2 over HTTPS (no plain-text HTTP/2).
- Only support HTTP/2 to external clients and not to internal resources (instances/containers).
- ALBs support HTTP routing but not port-based TCP routing.
- ALBs are VPC-only (they are not available in EC2 Classic)
- In a target group, if there is no healthy target, all requests are routed to all targets. For example, if you point a listener at a target group containing a single service that has a long initialization phase (during which the health checks would fail), requests will reach the service while it is still starting up.
- Although ALBs now support SNI, they only support 25 HTTPS certificates per Load Balancer. This limitation is not described here, so it might be subject to change.
- Instances in the ALB’s target groups have to either have a single, fixed healthcheck port (“EC2 instance”-level healthcheck) or the healthcheck port for a target has to be the same as its application port (“Application instance”-level healthcheck) you can't configure a per-target healthcheck port that is different than the application port.