Simple Notification Service (SNS)
Kinesis + MQ
Databases & Analytics
Application Load Balancer (ALB)


  • 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.


  • 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