핵심 답변
로드밸런싱은 들어오는 네트워크 트래픽을 여러 서버에 분산시키는 기술이다. OSI 계층 중 어느 레벨의 정보를 보고 분산 결정을 내리느냐에 따라 L2, L4, L7 로드밸런싱으로 나뉜다.

쉽게 말하면, 로드밸런서는 교통 경찰과 같다. 한 도로(서버)에 차가 몰리면 다른 도로로 유도하여 교통 체증(서버 과부하)을 방지한다.

핵심 차이는 "패킷의 어디까지 열어보느냐"다:

알아야 할 배경 개념

왜 로드밸런싱이 필요한가?

단일 서버는 처리할 수 있는 요청 수에 한계가 있다. 트래픽이 늘어나면 두 가지 선택지가 있다:

OSI 계층과의 관계

로드밸런싱의 L2, L4, L7은 OSI 7계층 모델에서 유래한다:

계층이 높을수록 더 많은 정보를 볼 수 있지만, 그만큼 처리 비용(오버헤드)이 증가한다.

로드밸런싱 알고리즘

어떤 서버로 보낼지 결정하는 알고리즘도 알아야 한다:

더 깊이 파고들기

L2 L2 로드밸런싱 (Data Link Layer)

MAC 주소를 변경하여 트래픽을 분산한다. 클라이언트가 보낸 프레임의 목적지 MAC 주소를 실제 서버의 MAC으로 교체하여 전달하는 방식이다.

L4 L4 로드밸런싱 (Transport Layer)

TCP/UDP 레벨에서 IP 주소와 포트 번호를 기반으로 트래픽을 분산한다. 패킷의 페이로드(내용)는 보지 않는다.

L7 L7 로드밸런싱 (Application Layer)

HTTP/HTTPS 요청의 전체 내용을 파싱하여 URL 경로, 호스트 헤더, 쿠키, HTTP 메서드 등을 기반으로 분산한다.

실무에서의 조합 패턴

실제 프로덕션 환경에서는 L4와 L7을 조합해서 사용하는 경우가 많다:

Client → L4 LB (NLB) → L7 LB (Nginx/ALB) → Backend Servers

헬스 체크

로드밸런서는 주기적으로 서버 상태를 확인하여 장애 서버를 자동으로 제외한다:

시각화
로드밸런싱 계층별 비교: 어디까지 열어보는가? Client L2 로드밸런싱 MAC 주소만 확인 Dst MAC → Server MAC 변경 같은 서브넷 필수 DSR 모드 가능 ⚡ 가장 빠름 L4 로드밸런싱 IP + Port 확인 DNAT: VIP → Server IP TCP/UDP 프로토콜 무관 Connection-level 라우팅 ⚡ 빠름 · 범용적 L7 로드밸런싱 URL, Header, Cookie 확인 /api/* → API Server SSL Termination 콘텐츠 기반 정밀 라우팅 🎯 가장 정밀 패킷 구조에서 보는 범위 L2 Frame Dst MAC | Src MAC | EtherType L4 Segment Src IP | Dst IP | Src Port | Dst Port | Protocol L7 Message GET /api/users HTTP/1.1 | Host: api.com | Cookie: ... L2 L4 L7 위 계층으로 갈수록 더 많은 정보를 파악 → 더 정밀한 분산이 가능하지만 처리 비용 증가 실무에서는 L4 (NLB) → L7 (ALB/Nginx) 조합을 가장 많이 사용

위 다이어그램은 L2/L4/L7 로드밸런서가 패킷의 어느 부분까지 읽는지를 시각적으로 보여준다. L2는 MAC만, L4는 IP+Port까지, L7은 HTTP 요청 전체를 파싱한다.

한눈에 비교
구분 L2 L4 L7
OSI 계층 Data Link Transport Application
판단 기준 MAC 주소 IP + Port URL, Header, Cookie
속도 ★★★ ★★☆ ★☆☆
라우팅 정밀도 ★☆☆ ★★☆ ★★★
SSL 처리 불가 Pass-through Termination 가능
프로토콜 Ethernet TCP, UDP, 모두 HTTP, gRPC, WS
DSR 가능 일부 가능 불가
대표 제품 LVS (DSR) AWS NLB, LVS AWS ALB, Nginx
주 사용처 초고성능, 같은 DC DB, 게임, 범용 웹 서비스, API
함께 알면 좋은 개념