본문

NLB 와 ALB

NLBd와 ALB는 비슷한것 같은데 뭐가 다른가 =,.- 알아보자

필자는 현업에서 NLB와 ALB를 혼용하여 아키텍처를 설계하여 사용하고 있는데,

가장 큰 이유중에 하나는 NLB가 고정IP 설정을 지원하기 때문이다. (ALB는 고정IP 지원X)

 

이게 왜 중요하냐면, 기업에서는 고정IP가 있어야

장비 to 장비 또는 서비스 to 서비스 간의  방화벽 정책을 정보보호부에 신청할 수 있기 때문ㅇㅇ

 

즉 고정IP는 내가 어떤 서비스를 사용하고자 할때

이 서비스의 IP는 "xx.xx.xx 입니다~" 라고 방화벽 허용을 요청할 수 있는 기반 정보로써의 역할을 담당해준다

 

AWS ALB/NLB 선택화면


NLB(Network Load Balancer)

  • NLB(L4)는 고정IP를 제공한다
  • 마치 신호등처럼 단순하고 빠르게 작동합니다
  • 요청 내용을 깊게 살펴보지 않고, IP 주소와 포트 정보만으로 트래픽을 분산합니다
  • ALB보다 훨씬 빠른 성능을 제공합니다 (지연시간이 더 낮음)
  • TCP/UDP 레벨에서 동작하기 때문에 모든 종류의 트래픽 처리 가능

NLB+ALB 콜라보레이션

 

TCP&UDP helpful guide (출처: https://9gag.com)


ALB(Application Load Balancer)

  • ALB(L7)는 고정IP를 제공하지 않는다
  • 마치 호텔 프론트 직원처럼 작동합니다
  • 손님(트래픽)이 오면 요청 내용을 자세히 살펴보고(HTTP/HTTPS 헤더, URL 등) 적절한 방으로 안내합니다
  • 웹 애플리케이션에 최적화되어 있어서 URL 기반 라우팅, 경로 기반 라우팅이 가능합니다
  • 좀 더 스마트하지만, 그만큼 처리 시간이 약간 더 걸립니다
  • 웹 서비스에 매우 적합합니다

 


🤔 웹 트래픽 부하분산도 NLB로 가능한가요?

  • 네, 가능합니다!
  • 하지만 일반적인 웹 서비스라면 ALB를 추천드립니다
  • 웹 서비스에서 NLB를 사용하는 경우는:
    1. 극도로 낮은 지연시간이 필요할 때
    2. 초당 수백만 건의 요청을 처리해야 할 때
    3. 고정 IP가 필요한 경우
  • 실제 사용 예시:
    • NLB: 게임 서버, 실시간 스트리밍 서버, 금융 거래 시스템
    • ALB: 일반적인 웹사이트, REST API 서버

 

공유

댓글