ALB와 NLB의 차이
ALB, NLB의 차이를 알아두는게 좋다고 생각하는 이유는 사실 성능에도 영향이 있기 때문입니다.
결론을 정리하면,
NLB가 ALB보다 성능이 더 좋다는 것은 특정 네트워크 성능 지표(낮은 지연 시간, 높은 처리량, 고정 IP 등)에서 우수함을 의미합니다.
반면, ALB는 애플리케이션 계층에서 제공하는 다양한 기능과 유연한 트래픽 관리를 필요로 하는 시나리오에서 강점을 가지고 있습니다.
글이 너무 길어지면 지루하니까 짧고 중요한 내용만 담겠습니다.
ALB, NLB 간단 요약
ALB (Application Load Balancer): 7계층
- 주로 HTTP와 HTTPS 트래픽을 처리하는 데 사용됩니다.
- 애플리케이션 레벨에서 로드 밸런싱을 수행합니다.
- URL 경로 기반 라우팅, 호스트 기반 라우팅, 웹소켓 지원, SSL 종료 등을 제공합니다.
NLB (Network Load Balancer): 4계층
- 주로 TCP, UDP, 및 TLS 트래픽을 처리하는 데 사용됩니다.
- 네트워크 레벨에서 로드 밸런싱을 수행합니다.
- 고속의 성능이 필요한 경우, 지연 시간이 낮아야 하는 경우에 적합합니다.
- 정적 IP 주소 제공, 고정 포트, 초당 수백만 개의 요청 처리 등이 가능합니다.
ALB와 NLB의 장점
ALB의 장점:
- HTTP/HTTPS 트래픽에 최적화되어 있으며, 애플리케이션 레벨에서 제공하는 다양한 기능과 유연한 라우팅 규칙을 지원합니다. 따라서 웹 애플리케이션, 마이크로서비스 아키텍처 등 복잡한 트래픽 관리가 필요한 경우에 적합합니다.
- 애플리케이션 모니터링 및 로깅 기능이 뛰어나, 트래픽 패턴 분석 및 디버깅에 유리합니다.
NLB의 장점:
- 매우 낮은 지연 시간과 높은 처리량을 제공합니다. 실시간 데이터 처리, 금융 애플리케이션, 게임 서버 등 네트워크 성능이 중요한 애플리케이션에 적합합니다.
- TCP/UDP 트래픽을 효율적으로 분산하며, 고정된 IP 주소를 제공하여 특정 IP 주소가 필요한 경우에 유리합니다.
ALB, NLB 실 사용 예시
ALB:
여기서 실무에 적용하여 예시를 들어보겠습니다.
요즘엔 많은 기업이 마이크로서비스 아키텍처(MSA)를 사용합니다. 여러 서비스가 연결되어 하나의 큰 서비스가 되는 것이죠. 그래서 유연한 라우팅 규칙이 필요한데 여기서 이 라우팅 규칙이란 예를들면 두가지가 있습니다.
URL 경로 기반 라우팅, HTTP 헤더 및 메서드 기반 라우팅이 있습니다.
URL 경로 기반 라우팅은 예를들어, wonistorage.com/images로 시작하는 주소는 이미지 서버로 보내고 wonistorage/api 는 다른 API 서버로 보낼수 있습니다. 그럼 HTTP 헤더 및 메서드 기반 라우팅은 GET, POST등에 따라 트래픽을 다른 서버로 보낼 수 있습니다.
조금 더 이해하기 쉽게 말하면,
클라이언트(사용자)가 https://wonistorage/images1 주소로 들어간다면 10.100.11.100 이라는 서버로 가게되고,
https://wonistorage/api 주소로 들어간다면 10.100.11.101로 가도록 하는것이죠.
NLB:
NLB도 실무에 적용하여 예시를 들어보겠습니다.
보통 사용자가 https://wonistorage.com 으로 들어간다면 서버는 10.100.11.200:443으로 들어올것입니다.
그리고 이 아이피는 VIP(Virtual IP Address)로 10.100.11.100 과 101로 나눠서 들어가도록 만든 아이피가되는것입니다.
여기까지 보면 ALB는 라우팅에 가깝고, NLB는 부하분산 기능에 가깝다는 생각이 드네요...
그럼 언제 ALB를 선택할까?
- 웹 애플리케이션을 운영하고 있으며, HTTP/HTTPS 트래픽을 처리해야 할 때.
- 복잡한 라우팅 규칙이 필요하거나, URL/호스트 기반 라우팅이 필요할 때.
- 애플리케이션 레벨의 모니터링 및 로깅이 중요한 경우.
그럼 언제 NLB를 선택할까?
- 높은 성능과 낮은 지연 시간이 중요한 TCP/UDP 트래픽을 처리할 때.
- 실시간 데이터 처리, 게임 서버, 금융 애플리케이션 등 네트워크 성능이 중요한 경우.
- 정적 IP 주소와 고정 포트가 필요한 경우.
'Network' 카테고리의 다른 글
[NETWORK] OSI 7 Layer (0) | 2024.08.29 |
---|---|
[Network] TCP Protocol 패킷 구조 (0) | 2024.07.16 |
[Network] Alteon L4 Packet Capture 매뉴얼 (0) | 2024.06.28 |