[AWS] AWS의 로드 밸런서(ALB, NLB, GWLB)

2024. 8. 2. 14:36·Cloud
목차
  1. AWS 관리형 로드 밸런서 종류
  2. 보안
  3. 네트워크 로드 밸런서(Network Load Balancer, NLB) 설명
  4. 기본 개념
  5. 작동 방식
  6. 요약 포인트
  7. 애플리케이션 로드 밸런서 (Application Load Balancer, ALB) 설명
  8. 개요
  9. 기본 개념
  10. ALB의 활용
  11. 대상 그룹
  12. 요약 포인트
  13. 게이트웨이 로드 밸런서 (Gateway Load Balancer, GWLB) 설명
  14. 개요
  15. 기능 및 원리
  16. 주요 특징
  17. 도표 설명
  18. 프로토콜 및 포트
  19. 요약 포인트
728x90

AWS 관리형 로드 밸런서 종류

  • 애플리케이션 로드 밸런서 (ALB)
    • 2016년 출시, HTTP, HTTPS, WebSocket 프로토콜 지원
  • 네트워크 로드 밸런서 (NLB)
    • 2017년 출시, TCP, TLS, Secure TCP, UDP 프로토콜 지원
  • 게이트웨이 로드 밸런서 (GWLB)
    • 2020년 출시, 네트워크 층에서 작동하며 3계층과 IP 프로토콜에서 작동

 

보안

  • 로드 밸런서 접근 허용
    • 포트 범위: 80, 443 (HTTP, HTTPS)
    • 소스: 0.0.0.0/0 (어디서든 접근 가능)
  • EC2 인스턴스 보안
    • 로드 밸런서를 통해 들어오는 트래픽만 허용
    • 보안 그룹 규칙: 포트 80, 소스는 로드 밸런서의 보안 그룹
    • User → (80,443 Allow) GWLB → (80 Allow) EC2 이 된다.

 

네트워크 로드 밸런서(Network Load Balancer, NLB) 설명

기본 개념

  • L4 로드 밸런서로 TCP와 UDP 트래픽을 다룹니다.
  • HTTP를 다루는 L7 로드 밸런서보다 하위 계층입니다.
  • 초당 수백만 건의 요청을 처리할 수 있는 고성능을 자랑합니다.
  • 지연 시간이 짧아 애플리케이션 로드 밸런서(ALB)의 400밀리초에 비해 NLB는 100밀리초입니다.
  • 가용 영역별로 하나의 고정 IP를 가질 수 있습니다.
  • 탄력적 IP 주소를 각 AZ에 할당할 수 있어, 여러 개의 고정 IP를 가진 애플리케이션을 노출할 때 유용합니다.
  • AWS 프리 티어에 포함되지 않습니다.

 

작동 방식

  • 애플리케이션 로드 밸런서(ALB)와 유사한 방식으로 작동합니다.
  • 대상 그룹(Target Group)을 생성하여 트래픽을 리다이렉트합니다.
  • 백엔드와 프론트엔드 모두 TCP 트래픽을 사용하거나, 백엔드에서는 HTTP를, 프론트엔드에서는 TCP를 사용할 수 있습니다.
  • 로드밸런싱 방식은 라운드 로빈(Round Robin) 방식으로 사용되며 변경할 수 없다.
  • EC2 인스턴스: NLB가 TCP 또는 UDP 트래픽을 EC2 인스턴스로 리다이렉트할 수 있습니다.
    • IP 주소: 반드시 하드코딩된 프라이빗 IP여야 합니다. 그리고 자체 EC2 인스턴스의 프라이빗 IP를 사용할 수 있고, 자체 데이터 센터 서버의 프라이빗 IP도 사용할 수 있습니다.
    • 애플리케이션 로드 밸런서(ALB) 앞에 NLB를 배치하여 고정 IP 주소와 HTTP 트래픽 처리를 동시에 구현할 수 있습니다.
  • 상태 확인(Health Check)
    • 세 가지 프로토콜(TCP, HTTP, HTTPS)을 지원합니다.
    • 백엔드 애플리케이션이 HTTP/HTTPS 프로토콜을 지원하면 해당 프로토콜에 대한 상태 확인을 정의할 수 있습니다.
  • NLB에서 HTTP, HTTPS를 사용할 경우 Target Group이 ALB를 사용하게 됩니다.

NLB에서 HTTP, HTTPS프로토콜을 사용할 경우

 

요약 포인트

  • 고성능: 초당 수백만 건의 요청 처리, 짧은 지연 시간
  • 지원 프로토콜: TCP, UDP
  • 고정 IP: 가용 영역별 1개의 고정 IP 제공
  • 대상 그룹: EC2 인스턴스, 프라이빗 IP 주소
  • 상태 확인: TCP, HTTP, HTTPS 프로토콜 지원

애플리케이션 로드 밸런서 (Application Load Balancer, ALB) 설명

개요

  • 계층: OSI 7계층(HTTP 전용) 로드 밸런서
  • 사용 목적: HTTP 애플리케이션의 라우팅
  • 대상 그룹: 여러 머신을 그룹화하여 관리

 

기본 개념

  • HTTP/2 및 WebSocket 지원
  • 리다이렉트 지원: HTTP에서 HTTPS로 자동 리다이렉트 가능
  • 경로 라우팅 지원: URL 경로에 따른 라우팅 가능 (예: example.com/users, example.com/posts)
  • 호스트 이름 기반 라우팅: 호스트 이름에 따라 다른 대상 그룹으로 라우팅 (예: one.example.com, other.example.com)
  • 쿼리 문자열 및 헤더 기반 라우팅: 특정 쿼리 문자열이나 헤더 값에 따라 라우팅 (예: example.com/users?id=123&order=false)

 

ALB의 활용

  • 마이크로 서비스 및 컨테이너 기반 애플리케이션에 적합
  • Amazon ECS와의 통합: 포트 매핑 기능을 통해 ECS 인스턴스의 동적 포트로 리다이렉션 가능

 

대상 그룹

  • EC2 인스턴스: 오토 스케일링 그룹으로 관리 가능
  • 람다 함수: 무서버 아키텍처의 기반
  • 사설 IP 주소: 대상 그룹으로 설정 가능
    • 예시(두 개의 대상 그룹)
      1. 첫 번째 그룹: AWS 기반의 EC2 인스턴스
      2. 두 번째 그룹: 온프레미스 개인 서버
      3. 트래픽을 쿼리 문자열이나 매개변수를 기반으로 각각의 대상 그룹에 라우팅

 

요약 포인트

  • 고성능: HTTP 전용, 다수의 HTTP 애플리케이션 라우팅 처리
  • 지원 프로토콜: HTTP, HTTPS, HTTP/2, WebSocket
  • 리다이렉트: HTTP에서 HTTPS로 자동 리다이렉트 지원
  • 경로 라우팅: URL 경로에 따른 라우팅 (예: /users, /posts)
  • 호스트 이름 라우팅: 호스트 이름에 따른 라우팅 (예: one.example.com, other.example.com)
  • 쿼리 문자열 및 헤더 라우팅: 특정 쿼리 문자열이나 헤더 값에 따른 라우팅 (예: id=123&order=false)
  • 대상 그룹: EC2 인스턴스, ECS 작업, 람다 함수, 프라이빗 IP 주소
  • 상태 확인: HTTP, HTTPS 프로토콜 지원
  • 고정 호스트 이름: 클라이언트 IP 정보는 X-Forwarded-For 헤더를 통해 제공
  • 마이크로 서비스 및 컨테이너 기반 애플리케이션에 적합: 포트 매핑 기능으로 ECS 인스턴스의 동적 포트로 리다이렉션 가능
  • 고정 세션(sticky session): 사용가능

게이트웨이 로드 밸런서 (Gateway Load Balancer, GWLB) 설명

개요

게이트웨이 로드 밸런서(GWLB)는 배포 및 확장과 AWS의 타사 네트워크 가상 어플라이언스의 플릿 관리를 위해 사용됩니다. 네트워크 트래픽을 방화벽, 침입 탐지 및 방지 시스템(IDPS), 심층 패킷 분석 시스템을 통해 필터링하고 분석하는 데 유용합니다.

 

기능 및 원리

  • 트래픽 분석 및 처리: 사용자 트래픽을 애플리케이션에 도달하기 전에 가상 어플라이언스를 통해 분석하고 처리
  • 투명 네트워크 게이트웨이: VPC의 모든 트래픽이 단일 엔트리와 출구를 통과하여 트래픽을 가상 어플라이언스에 분산
  • 네트워크 계층 L3: IP 패킷의 네트워크 계층에서 실행

주요 특징

  • 트래픽 검사: 애플리케이션에 도달하기 전에 모든 트래픽을 검사
  • 트래픽 분산: 대상 그룹의 가상 어플라이언스에 트래픽 분산
  • 트래픽 처리:
    • 정상 트래픽: GWLB를 통해 애플리케이션으로 전달
    • 비정상 트래픽: 드롭
  • 대상 그룹: 타사 가상 어플라이언스 (EC2 인스턴스, IP 주소)

 

도표 설명

  • 사용자 트래픽: ALB를 통해 애플리케이션으로 이동하기 전에 GWLB를 통과
  • GWLB의 역할:
    • 트래픽을 가상 어플라이언스로 분산
    • 가상 어플라이언스는 트래픽을 분석하고 처리
    • 정상 트래픽은 다시 GWLB를 통과하여 애플리케이션으로 전달

 

프로토콜 및 포트

  • GENEVE 프로토콜: 6081번 포트를 사용

 

요약 포인트

  • 고성능: 네트워크 트래픽의 모든 트래픽을 방화벽, IDPS, 심층 패킷 분석 시스템 등을 통해 처리
  • 지원 프로토콜: GENEVE 프로토콜(6081번 포트)
  • 고정 IP: VPC의 모든 트래픽이 단일 엔트리와 출구를 통해 처리
  • 대상 그룹: 타사 가상 어플라이언스 (EC2 인스턴스, 프라이빗 IP 주소)
  • 상태 확인: 네트워크 트래픽을 분석하고 비정상 트래픽을 드롭
  • 고정 세션(sticky session): 사용가능

 

끝

728x90

'Cloud' 카테고리의 다른 글

[AWS] 등록 해제 지연(Deregistration Delay, Connection Draining)  (0) 2024.08.05
[AWS] 크로스존 로드밸런싱(Cross Zone Load Balancing)  (0) 2024.08.05
[AWS] 고가용성과 확장성의 개요  (0) 2024.08.01
[AWS] EC2의 Compute Savings Plans 와 EC2 Instance Savings Plans 중 어떤 것을 사용해야 할까?  (0) 2024.07.29
[AWS] Amazon Elastic File System(EFS) 구성 및 인스턴스 연결 방법  (0) 2024.07.26
  1. AWS 관리형 로드 밸런서 종류
  2. 보안
  3. 네트워크 로드 밸런서(Network Load Balancer, NLB) 설명
  4. 기본 개념
  5. 작동 방식
  6. 요약 포인트
  7. 애플리케이션 로드 밸런서 (Application Load Balancer, ALB) 설명
  8. 개요
  9. 기본 개념
  10. ALB의 활용
  11. 대상 그룹
  12. 요약 포인트
  13. 게이트웨이 로드 밸런서 (Gateway Load Balancer, GWLB) 설명
  14. 개요
  15. 기능 및 원리
  16. 주요 특징
  17. 도표 설명
  18. 프로토콜 및 포트
  19. 요약 포인트
'Cloud' 카테고리의 다른 글
  • [AWS] 등록 해제 지연(Deregistration Delay, Connection Draining)
  • [AWS] 크로스존 로드밸런싱(Cross Zone Load Balancing)
  • [AWS] 고가용성과 확장성의 개요
  • [AWS] EC2의 Compute Savings Plans 와 EC2 Instance Savings Plans 중 어떤 것을 사용해야 할까?
정주원
정주원
개인블로그
  • 정주원
    Joon.eng
    정주원
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Linux (41)
      • Windows (0)
      • Network (4)
      • Database (0)
      • Cloud (23)
      • Docker (3)
      • Ansible (2)
      • Etc (4)
  • 블로그 메뉴

    • 링크

      • GITLAB(woni)
    • 공지사항

    • 인기 글

    • hELLO· Designed By정상우.v4.10.0
    정주원
    [AWS] AWS의 로드 밸런서(ALB, NLB, GWLB)

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.