Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 2.88 KB

elb-asg.md

File metadata and controls

85 lines (58 loc) · 2.88 KB
description
Elastic Load Balancing & Auto Scaling Groups

ELB & ASG

Before diving into the explanations of ELB & ASG we should understand what they are. So let's start with the Load Balancers.

What is a Load Balancer?

Load balancers are the servers that forward traffic to multiple servers (like EC2 instances) downstream.

Why use a Load Balancer?

  • Spread the loads to multiple downstream instances
  • Expose a single point of access (DNS) to your application
  • Handle failures seamlessly and do regular health checks
  • Provide SSL termination for your websites
  • High availability across zones
  • Separate public traffic from private traffic

What is AWS Elastic Load Balancer ?

Elastic Load Balancer (ELB) is managed load balancer.

  • AWS takes care of upgrades, maintenance and availability
  • AWS guarantees that it will be working
  • It costs less setup your own load balancers
  • Integrated with lots of AWS services

ELB Types

You will see the types of load balancers. It is always recommended to use new generations.

  • Classic Load Balancer (Deprecated) -> Old generation. HTTP, HTTPS, TCP, SSL
  • Application Load Balancer -> HTTP, HTTPS, Websocket
  • Network Load Balancer -> TCP, TLS, UDP
  • Gateway Load Balancer -> Operates at layer 3 (IP Protocol)

What is ALB?

Application Load Balancers is Layer 7

  • Load balancing to multiple applications on the same machine
  • Load balancing to multiple HTTP apps across machines
  • Support HTTP/2 and WebSocket
  • Support redirects (HTTP to HTTPS etc.)
  • Routing tables to different target groups
  • Great fit for microservices and containerized apps
  • Preserve client IP information on the X-Forwarded-For header

ALB Target Groups

We can think of target groups as the destinations that load balancer routes the traffic

  • EC2 Instances
  • ECS tasks
  • Lambda Functions
  • IP Addresses (private IPs)

ALB can route multiple target groups

What is NLB?

NLB is OSI Layer 4 load balancer.

  • The target type is IP and EC2 instances
  • Supports TCP, UDP and TLS protocols
  • Support Static IP address
  • SSL termination -> Load balancer or target
  • Natively support IP preservation of client unlike ALB
  • Ultra-low latency

What is GWLB?

GWLB is OSI Layer 3 load balancer.

  • Deploy, scale and manage 3rd party network virtual appliances in AWS
  • Examples: Firewalls, Intrusion Detection and Prevention Systems, Deep Packet Inspection Systems, payload manipulation etc.
  • Operates at Layer 3 (Network Layer) - IP Packets
  • Combines Transparent Network Gateway ( single entry point for all traffic) and Load balancer (distributes traffic to your virtual appliances)
  • Uses the GENEVE protocol on port 6081
  • Target Groups are EC2 Instances and IP addresses (must be private)