AWS ALB vs NLB 주요 차이점

Load Balancer

하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산 처리하여 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산 처리하여 해결해주는 서비스


애플리케이션 로드 밸런서 (ALB)

  • 계층: OSI 모델의 7계층 (애플리케이션 계층)에서 작동합니다.
  • 프로토콜 지원: HTTP, HTTPS, WebSocket.
  • 특징:
    • URL 경로 기반 라우팅: 특정 URL 경로에 따라 요청을 다양한 대상 그룹으로 라우팅할 수 있습니다.
    • 호스트 기반 라우팅: 요청의 호스트 헤더를 기반으로 요청을 라우팅할 수 있습니다.
    • Content-based 라우팅: HTTP 헤더, 메소드, 쿼리 파라미터 등을 기반으로 요청을 라우팅할 수 있습니다.
    • WebSocket 지원: WebSocket 연결을 지원하여 실시간 통신을 가능하게 합니다.
    • HTTP/2 지원: HTTP/2 프로토콜을 지원하여 효율적인 네트워크 통신을 제공합니다.
    • HTTPS 리스너 및 SSL 종료: HTTPS 리스너를 통해 SSL/TLS 암호화를 종료할 수 있습니다.
    • Elastic Load Balancing: 트래픽 패턴에 따라 자동으로 로드 밸런싱을 조정합니다.
  • 사용 사례: 웹 애플리케이션, 마이크로서비스, API Gateway.

네트워크 로드 밸런서 (NLB)

  • 계층: OSI 모델의 4계층 (전송 계층)에서 작동합니다.
  • 프로토콜 지원: TCP, UDP, TLS.
  • 특징:
    • 초저지연: 매우 낮은 레이턴시를 제공하여 빠른 응답이 필요한 애플리케이션에 적합합니다.
    • 고정 IP: 로드 밸런서에 고정 IP 주소를 할당할 수 있습니다.
    • TLS 종료: TLS 암호화를 지원하며, TLS 연결을 종료할 수 있습니다.
    • 고가용성: 여러 가용 영역에 걸쳐 고가용성을 제공하며, 장애 발생 시 자동으로 대체 리소스로 전환합니다.
    • 대규모 트래픽 처리: 대량의 연결을 처리할 수 있어 높은 트래픽을 효율적으로 관리합니다.
    • 정적 IP 및 Elastic IP: 정적 IP 주소와 Elastic IP 주소를 사용할 수 있습니다.
  • 사용 사례: 금융 애플리케이션, IoT, 게임 애플리케이션, 리얼타임 스트리밍, 고속 트래픽 요구사항이 있는 애플리케이션.

비교 요약

기능애플리케이션 로드 밸런서 (ALB)네트워크 로드 밸런서 (NLB)

OSI 계층 7계층 (애플리케이션 계층) 4계층 (전송 계층)
지원 프로토콜 HTTP, HTTPS, WebSocket TCP, UDP, TLS
라우팅 방식 URL 경로, 호스트 기반 소스 및 목적지 IP, 포트 기반
SSL/TLS 종료 지원 지원
지연 시간 상대적으로 높음 매우 낮음
고정 IP 지원 지원하지 않음 지원
주요 사용 사례 웹 애플리케이션, API Gateway 금융, IoT, 게임, 리얼타임 스트리밍

 

주요차이점

  • ALB는 HTTP/HTTPS 트래픽을 처리하며, NLB는 TCP/UDP 트래픽을 처리합니다.
    왜냐하면 ALB와 NLB는 각각 다른 계층에서 동작하기 때문입니다.
  • ALB는 URL 경로 기반 라우팅과 호스트 기반 라우팅을 지원하지만, NLB는 이러한 기능을 지원하지 않습니다.
    왜냐하면 ALB는 애플리케이션 계층에서 동작하여 다양한 라우팅 옵션을 제공하기 때문입니다.
  • NLB는 매우 낮은 지연 시간을 제공하며, 정적 IP 주소와 TLS 종료를 지원합니다.
    반면, ALB는 이러한 기능을 제공하지 않습니다. 왜냐하면 NLB는 네트워크 계층에서 동작하여 높은 성능을 제공하기 때문입니다.
  • ALB는 WebSocket 및 HTTP/2를 지원하지만, NLB는 이러한 기능을 지원하지 않습니다.
    왜냐하면 ALB는 애플리케이션 계층에서 동작하여 실시간 통신 및 효율적인 데이터 전송을 지원하기 때문입니다.

'Cloud' 카테고리의 다른 글

IaaS vs PaaS vs SaaS  (2) 2024.07.01