Cloud/aws

AWS Elastic Load Balancer (ELB, CLB, ALB, NLB, GWLB)

개발자 초롱이 2024. 8. 17. 21:01

1.ELB 조져보기

AWS 는 많은 서비스를 제공한다 하지만 막상 사용할때는 기능도 많아서 헷갈린다

이에 정리해둔다

"Elastic Load Balancer"
로드밸런서를 통틀어서 이르는 말로 구성은 아래와 같다


2. AWS ELB의 주요 종류

  1. Classic Load Balancer (CLB) - 레거시(쓰지 마세요~~)
  2. Application Load Balancer (ALB) : 웹 서비스를 대상으로 한다
  3. Network Load Balancer (NLB) : TCP/IP 로 전송 대상 네트워크를 대상으로 사용
  4. Gateway Load Balancer (GWLB) : 주로 특수 목적으로 리다이렉션(보안 장비와 같이)

실제로 많은 분들은 2,3 번을 사용하게 될 거다

2.ALB (Application Load Balancer):

  1. 특징:
    • OSI 7계층(응용 계층)에서 작동
    • HTTP, HTTPS, WebSocket 프로토콜 지원(주로 웹 서비스를 대상)
    • 콘텐츠 기반 라우팅 가능
  2. 주요 기능:
    • 경로 기반 라우팅: URL 경로에 따라 다른 대상 그룹으로 요청 전달
    • 호스트 기반 라우팅: 도메인 이름에 따라 라우팅
    • 고급 요청 라우팅: 헤더, 쿼리 문자열 등을 기반으로 라우팅
  3. 사용 사례:
    • 마이크로서비스 아키텍처
    • 컨테이너 기반 애플리케이션 (예: Docker, Kubernetes)
    • 웹 애플리케이션

3. NLB (Network Load Balancer):

  1. 특징:
    • OSI 4계층(전송 계층)에서 작동
    • TCP, UDP, TLS 프로토콜 지원
    • 초당 수백만 개의 요청 처리 가능
    • ex) A, B 서버 2대 설정시 A 서버 또는 B 서버로 분산 처리
  2. 주요 기능:
    • 고성능: 매우 낮은 지연 시간
    • 정적 IP 지원: 각 서브넷에 대해 하나의 정적 IP 주소 제공
    • 연결 유지: 클라이언트와 대상 간의 연결을 오래 유지
  3. 사용 사례:
    • 게임 서버와 같은 TCP 기반 애플리케이션
    • IoT 디바이스 통신
    • 스트리밍 서비스

ALB와 NLB의 주요 차이점:

  1. 프로토콜 지원: ALB는 HTTP/HTTPS에 특화, NLB는 TCP/UDP/TLS에 특화
  2. 성능: NLB가 일반적으로 더 높은 성능과 낮은 지연 시간 제공
  3. 라우팅 기능: ALB는 콘텐츠 기반 라우팅 제공, NLB는 IP 프로토콜 데이터만 사용
  4. 보안 그룹: ALB는 보안 그룹 연결 가능, NLB는 대상에만 보안 그룹 적용

각 로드 밸런서는 특정 사용 사례에 맞게 설계되었으므로, 애플리케이션의 요구사항에 따라 적절한 로드 밸런서를 선택하는 것이 중요합니다.

4, Gateway Load Balancer (GWLB):

  1. 특징:
    • OSI 3계층(네트워크 계층)에서 작동
    • GENEVE(Generic Network Virtualization Encapsulation) 프로토콜 사용
    • 트래픽을 가로채고 보안 어플라이언스로 리디렉션하는 데 특화
  2. 주요 기능:
    • 투명한 네트워크 게이트웨이: 트래픽을 중단 없이 보안 어플라이언스로 리디렉션
    • 고가용성: 여러 가용 영역에 걸쳐 배포 가능
    • 확장성: 트래픽 증가에 따라 자동으로 확장
  3. 사용 사례:
    • 방화벽 배포
    • 침입 탐지 및 방지 시스템 (IDS/IPS)
    • 딥 패킷 검사 (DPI)
    • 패킷 조작이 필요한 보안 솔루션
  4. 작동 방식:
    • 인바운드 및 아웃바운드 트래픽을 가로채서 보안 어플라이언스로 전송
    • 보안 어플라이언스에서 트래픽 검사 후 원래 대상으로 전달
    • 이 과정이 사용자에게 투명하게 이루어짐
  5. 장점:
    • 중앙 집중식 관리: 모든 트래픽을 단일 지점에서 관리 가능
    • 비용 효율성: 보안 어플라이언스의 효율적인 사용으로 비용 절감
    • 유연성: 다양한 타사 보안 솔루션과 통합 가능
  6. GWLB 엔드포인트:
    • VPC 내에서 GWLB 서비스에 접근할 수 있는 엔드포인트 제공
    • 교차 VPC 또는 교차 계정 구성 지원

GWLB는 주로 네트워크 보안 솔루션을 AWS 인프라에 원활하게 통합하고자 할 때 사용됩니다. 예를 들어, 여러 VPC나 계정에 걸쳐 일관된 보안 정책을 적용하거나, 트래픽 증가에 따라 자동으로 확장되는 보안 솔루션을 구축할 때 유용합니다.