로드 밸런서(L4, L7)
- L4 로드 밸런서:
- 전송 계층(TCP/UDP)에서 작동합니다.
- 주로 TCP/UDP 연결을 기반으로 트래픽을 분산합니다.
- 클라이언트와 서버 간의 연결 상태를 유지하거나 세션을 관리하지 않으며, 패킷 수준에서 작동합니다.
- 예: AWS NLB(Network Load Balancer), HAProxy(L4 모드).
- L7 로드 밸런서:
- 애플리케이션 계층(HTTP/HTTPS)에서 작동합니다.
- HTTP 헤더, URI, 쿠키, 쿼리 파라미터 등 애플리케이션 데이터를 기반으로 라우팅이 가능합니다.
- 더 복잡한 로드 밸런싱 정책과 인증, SSL 종료, 캐싱 등 부가 기능을 제공합니다.
- 예: AWS ALB(Application Load Balancer), NGINX(L7 모드).
API Gateway(L7)
- L7에서 동작하며, 로드 밸런서의 애플리케이션 계층 기능 외에도 다양한 API 관리 기능을 제공합니다.
- 주로 HTTP/HTTPS 요청을 기반으로 작동하며, 추가적으로 아래와 같은 기능을 제공합니다:
- 인증/인가 (OAuth, JWT 등).
- 요청 라우팅 (서비스 또는 API 버전별 라우팅).
- 속도 제한 (Rate Limiting).
- 요청/응답 변환 (JSON/XML 변환, HTTP 메서드 변경 등).
- 모니터링 및 로깅.
- 캐싱.
비교: 로드 밸런서와 API Gateway
| 특징 |
L4 로드 밸런서 |
L7 로드 밸런서 |
API Gateway |
| 작동 계층 |
전송 계층 (TCP/UDP) |
애플리케이션 계층 (HTTP/HTTPS) |
애플리케이션 계층 (HTTP/HTTPS) |
| 기능 |
기본적인 트래픽 분배 |
HTTP/HTTPS 기반 트래픽 분배 |
API 관리, 인증, 라우팅, 속도 제한 등 |
| 로드 밸런싱 기준 |
IP/포트 등 연결 정보 |
HTTP 헤더, URL, 쿼리 파라미터 등 |
경로, 버전, 정책, 헤더 등 |
| 추가 기능 |
제한적 (세션 지속성 정도 가능) |
SSL 종료, 쿠키 기반 세션 관리 |
인증/인가, 캐싱, 로깅 등 API 관리 |
결론
- 로드 밸런서:
- 네트워크 계층(L4) 또는 애플리케이션 계층(L7)에서 작동.
- 주로 트래픽 분산이 주 목적.
- L4는 단순 패킷 기반, L7은 HTTP/HTTPS 기반 세부 분배 가능.
- API Gateway:
- L7에서 작동하며, 로드 밸런싱 외에 API 관리 기능 제공.
- API 호출 관점에서의 부가적인 기능(인증, 속도 제한, 모니터링 등)을 처리.
따라서, 로드 밸런서는 트래픽 분산이 주요 목적이고, API Gateway는 API 관리 및 트래픽 분배를 포함한 고급 기능 제공이라고 생각하면 됩니다.
로드 밸런서(L4, L7)
API Gateway(L7)
비교: 로드 밸런서와 API Gateway
결론
따라서, 로드 밸런서는 트래픽 분산이 주요 목적이고, API Gateway는 API 관리 및 트래픽 분배를 포함한 고급 기능 제공이라고 생각하면 됩니다.