Elb

A service to distribute load (ex. incoming requests) evenly across available instances

  • enables all available instances are utilized equally
  • decides which incoming request should be forwarded to which instance
  • don’t have a fixed IP (they use domain names like my-elb-1234.amazonaws.com)
  • consists of multiple services

Main load balancers

  • diagram

Application Load Balancer

  • More feature rich (ALB allows more advanced request routing)
  • limited to HTTP(S) traffic
  • Broad variety of request forwarding conditions & rules
    • Can inspect incoming HTTP requests and route based on URL, headers, cookies, etc
  • capable of SSL termination
    • can act as an endpoint for incoming HTTPS requests
    • it can decrypt those requests and forward the un-encrypted requests to your application running on an EC2 instance
  • Good for web applications, APIs, microservices.

Network Load Balancer

  • leaner (faster and better for high-performance workloads)
  • get a fixed IP address by AWS
  • perfect for non-http requests
  • Good for gaming servers, databases, VoIP, and other high-speed network applications