NLB vs ALB

·2025년 1월 16일

개요

  • ALB (Application Load Balancer), NLB (Network Load Balancer)
  • AWS에서 제공하는 로드 밸런서 서비스

로드 밸런서(Load Balancer)

  • 하나의 서비스에 발생하는 트래픽이 많을 때, 여러 서버에 나눠서 처리하도록 도와주는 서비스
  • 트래픽이 몰리는 상황에서도 부하량, 속도 저하 등을 고려해 적절히 분산 처리하여 서비스가 느려지지 않게 관리해줌

ALB (Application Load Balancer)

쉽게 말하면.. 똑똑한 분배기 🤓🔀

  • 사람마다 “길 안내”를 다르게 해줄 수 있다.
    • 예를 들어 어떤 요청은 A 서버로, 다른 요청은 B 서버로

어떤 상황에 사용될까 ? 🤔

  • 쇼핑몰 웹사이트에서 페이지마다 다른 서버로 연결할 때
  • 로그인 요청과 상품 검색 요청을 각각 다른 팀이 관리하는 서버로 보낼 때

특징

구분설명
작동 계층OSI 7계층 (애플리케이션 계층)에서 작동
지원 프로토콜HTTP, HTTPS, WebSocket
트래픽 처리 방식요청 내용을 분석해 경로, 호스트, 헤더 등에 따라 다르게 트래픽 분배
주요 용도- 웹 애플리케이션, REST API
- 마이크로서비스 아키텍처에서 특정 요청을 특정 서비스로 전달
기능- 콘텐츠 기반 라우팅
- 웹소켓 지원으로 실시간 양방향 통신 가능
요금 구조요청 수에 따라 요금이 부과됨

장점

  • 요청을 세밀하게 분석해 관리할 수 있음
  • HTTPS를 통한 안전한 트래픽 처리
  • 애플리케이션 계층에서 다양한 규칙 설정 가능

단점

  • 분석 과정으로 인해 NLB보다 느릴 수 있음
  • 고정된 주소 (IP)가 없고, 도메인 이름으로만 연결 가능하기 때문에 IP 기반의 방화벽 규칙을 설정하기 어려움

NLB (Network Load Balancer)

쉽게 말하면.. 빠르고 단순한 분배기 🔀💨

  • 요청을 분석하지 않고, 빠르게 가까운(네트워크 지연 시간 가장 적은!) 서버로 보냄
  • 정해진 주소 (IP 주소)를 사용해 클라이언트가 쉽게 NLB에 연결할 수 있음

어떤 상황에 사용될까 ? 🤔

  • 게임 서버처럼 빠른 반응이 중요한 경우
  • 실시간 영상 통화처럼 데이터 전송 속도가 중요한 경우

특징

구분설명
작동 계층OSI 4계층 (전송 계층)에서 작동
지원 프로토콜TCP, UDP, TLS
트래픽 처리 방식- IP와 포트 기반 트래픽 분배
- 초당 수백만 개의 요청을 처리할 수 있는 고성능
주요 용도실시간 데이터 스트리밍, VoIP, 게임 서버 등 초저지연이 필요한 애플리케이션
기능- 정적 IP 제공
- 저지연 및 고처리량 지원
요금 구조처리량 및 연결 시간 기반 과금

장점

  • 속도가 매우 빠름
  • 고처리량. 데이터를 많이 처리할 수 있음
  • 정적 IP 제공으로 클라이언트가 쉽게 연결 가능 (DNS도 가능)

단점

  • 요청 내용을 분석하거나, 라우팅을 세밀하게 설정할 수 없음
  • HTTPS 트래픽을 처리해도 추가적인 분석은 불가능

ALB와 NLB의 공통점

  • 트래픽 분산
  • AWS가 운영, 유지보수 관리해주기 때문에 간단한 설정만으로 사용 가능
  • Auto Scailing 연동으로 트래픽이 늘어나도 처리 가능
  • 리전 및 가용 영역 지원*
  • HTTPS 지원으로 데이터를 암호화해 안전하게 전달할 수 있음

리전 및 가용 영역 지원?

리전(Region)

  • AWS 데이터 센터가 운영되는 지리적 위치
  • 예: 서울 리전(ap-northeast-2), 도쿄 리전(ap-northeast-1)

가용 영역(AZ, Availability Zone)

  • 리전 안에 포함된 물리적으로 독립적인 데이터 센터 그룹
  • 예를 들어, 서울 리전에는 ap-northeast-2a, ap-northeast-2b, ap-northeast-2c 같은 AZ들이 있음
  • AZ는 서로 전기, 네트워크 등이 독립적으로 운영되어 장애 복원력을 제공

"리전과 가용 영역 지원"의 의미

  • 리전 내 여러 가용 영역(AZ)에 걸쳐 트래픽 분산 가능
  • 가용 영역 분산을 통해 데이터 손실 및 서비스 중단 방지
  • 여러 리전에 걸쳐 서비스를 배포하면, 전 세계 사용자들에게 빠르고 안정적인 응답을 제공

ALB와 NLB의 차이점

구분ALB (Application Load Balancer)NLB (Network Load Balancer)
작동 계층OSI 7계층 (애플리케이션 계층)OSI 4계층 (전송 계층)
지원 프로토콜HTTP, HTTPS, WebSocketTCP, UDP, TLS
라우팅 방식콘텐츠 기반(경로, 호스트, 헤더 등) 라우팅IP 및 포트 기반 라우팅
지연 시간분석 과정으로 비교적 느림매우 낮음
주요 용도웹 애플리케이션, API, 마이크로서비스실시간 스트리밍, VoIP, 게임 서버
정적 IP 제공불가가능
요금 구조요청 수 기반 과금처리량 및 연결 시간 기반 과금

참고

https://velog.io/@yange/%EB%82%B4%EB%B6%80%EB%A7%9D%ED%8F%90%EC%87%84%EB%A7%9D%EC%97%90%EC%84%9C-repository-%EA%B5%AC%EC%84%B1#nlb

https://no-easy-dev.tistory.com/entry/AWS-ALB와-NLB-차이점

0개의 댓글