☀️
Dev7Days
  • 😄Welcome
  • Local Setup
    • ⚙️Setup Terminal
    • ⚙️Setup IDE
    • ⚙️Setup Neovim
  • Rust
    • 🦀Cargo
  • Java
    • 🍃Spring Boot
      • Spring Boot Annotaion
      • Spring Boot Learning
    • 🍃JDK vs JRE vs JVM
    • 🍃What is JDBC ?
    • 🍃What is Data Source in Java ?
    • 🍃Check vs Unchecked Exception
    • 🍃What is Servlet in Java ?
    • 🍃Filter vs Interceptor
    • 🍃Mockito
    • 🍃Maven CLI
    • 🍃Maven Archetype
  • Go
    • 🔹Go Routine and Channel
    • 🔹Go CLI
  • Ruby and Rails
    • ♦️Ruby Syntax
    • ♦️Rails Framework
    • ♦️Rails Structure
  • Fundamental
    • 📚Git Command
    • 📚Interpreter vs Compiler
    • 📚DTO vs DAO
    • 📚Http Status
    • 📚What is Batch Process ?
    • 📚Https
    • 📚Local Storage vs Session Storage vs Cookies
    • 📚Authentication & Authorization
    • 📚Database Index
    • 📚What is GRPC ?
    • 📚What is Microservice ?
  • Database
    • 🗃️What is Transaction ?
    • 🗃️ACID
  • Postgres
    • 🐘SELECT
    • 🐘Column Alias
    • 🐘Order By
    • 🐘SELECT DISTINCT
  • Elastic Search
    • 🔍What is Elastic Search ?
    • 🔍Node and Cluster
  • Kubernetes
    • ☸️What is Kubernetes ?
    • ☸️Kubernetes Architecture
      • Node
      • ETCD
      • Kube API Server
      • Controller Manager
      • Kube Scheduler
      • Kubelet
      • Kube Proxy
  • ☸️Pod
  • ☸️ReplicaSet
  • ☸️Deployment
  • ☸️Service
  • ☸️Config Map
  • ☸️Namespaces
  • ☸️Kube Apply Command
  • ☸️Scheduling
    • Manual Scheduling
    • Labels and Selectors
    • Taints and Tolerations
    • Node Selector
    • Node Affinity
    • Resource Requirements and Limits
    • DaemonSets
    • Static Pods
    • MultipleSchedulers
  • ☸️Monitoring
  • AWS
    • 🔸How can users access AWS ?
    • 🔸IAM
    • 🔸EC2
      • User Data
      • Instance Types
      • Security Group
      • Purchasing Options
      • Placement Groups
      • Elastic Network Interface (ENI)
      • EC2 Hibernate
      • EC2 Storage
    • 🔸ELB & ASG
      • Health Checks
      • Target Group
      • ELB Types
      • Sticky Sessions
      • Cross Zone Load Balancing
      • Load Balancer - SSL and SNI
      • Deregistration Delay
      • ASG
    • 🔸RDS & Aurora DB
      • RDS
        • Storage Auto Scaling
        • Read Replica
        • Multi AZ
        • RDS Custom
        • Backup
        • RDS Proxy
      • AWS Aurora
        • Read Replica
        • Endpoint and Auto Scaling
        • Aurora Serverless
        • Global Database
        • Machine Learning
        • Backup
        • Database Cloning
      • RDS & Aurora Restore options
      • RDS & Aurora Security
    • 🔸Elastic Cache
    • 🔸Route 53
      • Records
      • Hosted Zones
      • Health Check
      • Routing Policies
  • Backend Security
    • 🎩SQL Injection
    • 🎩Cross site script (XSS)
    • 🎩Cross site request forgery (CSRF)
    • 🎩Man in the Middle (MITM)
    • 🎩Insecure Direct Object Reference (IDOR)
    • 🎩Distributed denial of service (DDOS)
  • Medium
    • 👨‍💻Gamer to Coder
    • 🐳Docker
      • Docker #1
      • Docker #2
    • 💊DI and IOC
    • ☸️Kubernetes
  • Book
    • 📚System Design Interview - An Insider's Guide (Volume 1
Powered by GitBook
On this page
  • (1) Application Load Balancer (ALB)
  • (2) Network Load Balancer (NLB)
  • (3) Gateway Load Balancer (GWLB)
  1. AWS
  2. ELB & ASG

ELB Types

PreviousTarget GroupNextSticky Sessions

Last updated 11 months ago

There are 3 kind of load balancer on AWS

  1. Application Load Balancer (ALB)

  2. Network Load Balancer (NLB)

  3. Gateway Load Balancer (GWLB)

Some load balancers can be setup as internal (private) or external (public) ELB.

(1) Application Load Balancer (ALB)

Application load balancers is Layer 7 (Http). It support for Http/2 and websocket apart from this it is able to redirect HTTP to HTTPS. It routes traffic to different target group. Target group can be inside the same machine (multiple containers) or across machine (multiple applications).

There are a lot of way routing traffic including.

  1. Routing based on path in URL - example.com/users - example.com/posts

  2. Routing based on hostname - one.example.com - two.example.com

  3. Routing based on Query String , Headers - example.com/users?id=123&order=false - example.com/users?id=123&order=true

Usecase

  • Microservice

  • Container based application

**Good to know

  • Application server (target group) don't see the ip of the client directly. Load balancer will attach the header X-Forwarded-For , X-Forwarded-Port and X-Forwared-Proto in the request so you can get IP , Port and Protocol from its.

(2) Network Load Balancer (NLB)

Network load balancers is Layer 4 (TCP/UDP). It allow to forward TCP & UDP traffic to instances. It handles milion request per seconds (High performance). NLB has one static IP per AZ and support assign Elastic IP. It supports for HTTP , HTTPS and TCP/UDP.

Usecase

  • High performance load

  • Control TCP/UDP

(3) Gateway Load Balancer (GWLB)

Gateway Load Balancer is Layer 3 (Network Layer). It is a single entry/exit for all traffic. This load balancer will forward request to virtual appliance for fraud detection or something . It used GENEVE protocol on port 6081.

Usecase

  • Firewall

  • Prevention System

  • Payload Mainpulation

🔸
Drawing
Drawing
Drawing
Drawing