본문 바로가기
Infra, Cloud/AWS

[AWS] NLB - Network Load Balancer

by 광진구뚝배기 2024. 3. 23.

시작하는 말

누군가 ALB와 NLB의 차이점을 물었을 때, 난 자격증 공부시 달달 외웠던 방식인 네트워크 계층, 애플리케이션 계층의 차이라고 밖에 설명을 못하는 것 같아 다시 공부하게 되었다. ALB의 대한 개념을 알고싶다면, [AWS] ALB -Application Load Balancer 게시글을 읽고오면 된다.

 

 

Network Load Balancer (NLB)

AWS의 로드 밸런서 서비스 중 하나인 Network Load Balancer는 주로 OSI Layer4에서 작동한다. 4계층(전송계층)에 위치하며, TCP및 UDP와 같은 전송계층 프로토콜을 기반으로 트래픽을 관리한다. NLB는 IP주소 및 포트 번호와 같은 네트워크 및 전송 계층의 속성을 기반으로 트래픽을 라우팅하고 분산한다. 이처럼 NLB는 네트워크 계층에서 트래픽을 관리함으로써 서비스의 가용성, 성능 및 확장성을 향상시킨다. 또한 TCP 및 UDP 프로토콜을 지원하여 다양한 종류의 애플리케이션 및 서비스에 적용할 수 있다.

 

 

NLB 주요 특징

# 고성능 및 낮은 지연시간

AWS의 고성능 네트워크를 기반으로 동작한다. 이를 통해 물리적으로 매우 빠른 네트워크 인프라를 가지고 있어 대규모 트래픽을 효과적으로 처리할 수 있다. 매우 빠른 데이터 전송 속도와 낮은 지연시간을 제공하여 수백만 개의 요청을 신속하게 처리할 수 있다. 때문에 온라인 게임 서버와 같이 대규모 트래픽 처리와 낮은 지연 시간을 요구하는  애플리케이션및 서비스에 적합하다.

 

# 스케일링 및 가용성

스케일링 및 가용성을 향상시키기 위해 여러 대상 그룹으로 트래픽을 분산시킨다. 자동으로 여러 가용 영역에 걸쳐 트래픽을 분산시키므로써 서비스의 중단을 방지하고 끊김없는 서비스를 제공할 수 있다. 예를들어, 특정 가용 영역에서 네트워크 문제가 발생하면, 다른 가용 영역으로 트래픽을 자동으로 라우팅하여 서비스의 지속성을 보장한다. 이 덕분에 사용자는 끊김 없이 접속할 수 있게 된다.

 

# 고정 IP 주소

고정 IP 주소를 사용함으로써 클라이언트에 항상 일관된 엔드포인트를 제공한다. 이는 서비스가 확장되거나 변경되더라도 IP 주소가 변하지 않고 일관되게 유지됨을 의미한다. 따라서 클라이언트는 항상 동일한 IP 주소를 통해 서비스에 접근할 수 있고, 이 말은 애플리케이션의 안정성과 신뢰성이 향상된다는 것을 의미한. 예를 들어, 사용자가 동일한 도메인 또는 IP 주소를 통해 액세스 하는 웹사이트의 경우, 서비스의 확장이나 교체가 이루어져도 사용자는 서비스의 변경을 눈치채지 못한채로 계속해서 서비스에 접속할 수 있다.

 

 

NLB vs ALB

 

  ALB NLB
Layer Layer 7 Reverse Proxy Layer 4 NAT
Protocols HTTP, HTTPS TCP, UDP
Platform VPC VPC
Sticky sessions Support Not Support
Backend server Encryption Support Not Support
Static IP Not Support Support
Elastic IP Not Support Support
Preserve Source IP Not Support Support

출처 - 베스핀 글로벌(Bespinglobal)

 

* 참고 *

위 표를 보면, 배스핀글로벌 사이트에서 제공해준 표를 확인할 수 있다. 해당 표에는 ALB는 Preserve Source IP를 지원하지 않는다고 명시되어 있으나, AWS 공식 문서를 봤을 땐 지원한다고 되어있다. 이에 나 스스로도 혼란이 있어 배스핀 글로벌에 문의를 넣어둔 상황이다.(2024.04.13기준) 추후 답변이 오면 업로드하도록 하겠다.

 

 

이어서 ALB 와 NLB의 특징들을 요약해 설명해보겠다.

 

# ALB 

- OSI 7계층 (애플리케이션 계층)에 대한 로드 밸런싱을 지원한다.

- HTTP와 HTTPS 프로토콜을 지원하여 웹 애플리케이션에 적합하다.

- 요청의 내용을 기반으로 라우팅을 수행한다.

- VPC(가상 사설 네트워크) 환경에서 사용된다.

 

# NLB 

- OSI 4계층 (전송 계층)에 대한 로드 밸런싱을 지원한다.

- TCP 및 UDP 프로토콜을 모두 지원한다.

- 주로 네트워크 레벨에서 부하 분산이 필요한 Private 환경에 사용된다.

- VPC(가상 사설 네트워크) 환경에서 사용된다.

- 고정 IP 주소 또는 탄력적 IP 주소를 사용할 수 있다.

 

 

참고자료

AWS 설명서

BESPIN GLOBAL 설명서

https://skd03052.tistory.com/250

 

반응형

'Infra, Cloud > AWS' 카테고리의 다른 글

[AWS] RDS 와 애플리케이션의 VPC 분리 이유  (0) 2024.04.13
[AWS] CloudFront  (0) 2024.03.27
[AWS] ALB - Application Load Balancer  (0) 2024.03.19
AWS 서버 구축하기  (1) 2021.06.29

댓글