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 |
---|