Application Load Balancer (ALB)
Overview
It functions at the application layer (the seventh layer of the OSI model) (HTTP).
After the load balancer receives a request, it evaluates the listener rules in priority order to determine which rule to apply, and then selects a target from the target group for the rule action.
You can configure listener rules to route requests to different target groups based on the content of the application traffic.
Routing is performed independently for each target group, even when a target is registered with multiple target groups.
You can configure the routing algorithm used at the target group level.
Components
Load balancer
Serves as the single point of contact for clients.
The load balancer distributes incoming application traffic across multiple targets.
You add one or more listeners to your load balancer.
Listener
You must add one or more listeners.
It checks for connection requests from clients, using the protocol and port that you configure.
Rules determine how the load balancer routes requests to its registered targets.
Target group
The target group could contain:
An IP address.
EC2 Instances.
Lambda functions.
You can register a target with multiple target groups.
When you create each listener rule, you specify a target group and conditions.
When a rule condition is met, traffic is forwarded to the corresponding target group.
You can create different target groups for different types of requests.
E.g. you can create one target group for general requests and another target group for requests to the microservices for your application.
Support For
Path conditions.
You can configure rules for your listener that forward requests based on the URL in the request.
This enables you to structure your application as smaller services, and route requests to the correct service based on the content of the URL.
Host conditions.
You can configure rules for your listener that forward requests based on the host field in the HTTP header.
This enables you to route requests to multiple domains using a single load balancer.
Routing based on fields in the request, such as HTTP header conditions and methods, query parameters, and source IP addresses.
Redirecting requests from one URL to another.
Returning a custom HTTP response.
HTTP headers
HTTP requests and HTTP responses use header fields to send information about the HTTP messages.
ALBs support the following
X-Forwarded
headers:X-Forwarded-For
X-Forwarded-Proto
X-Forwarded-Port
Last updated