로드 밸런서(Load Balancer)란? L4 와 L7 차이

로드 밸런서(Load Balancer, LB)란?

로드 밸런서의 정의와 기본 원리

로드 밸런서는 클라이언트와 서버 풀(Server Pool) 사이에 위치하여,

한 곳으로 집중되는 트래픽을 여러 대의 서버로 균등하게 분산해 주는 역할을 합니다.

  • 기본 흐름: 클라이언트가 서비스 IP(VIP, Virtual IP)로 요청을 보냄 → 로드 밸런서가 요청 수신 → 설정된 알고리즘에 따라 최적의 서버 선택 → 서버로 요청 전달 → 서버의 응답을 다시 클라이언트에게 전달.
  • 핵심 목적: 서비스의 가용성(Availability) 확보, 응답 속도 최적화, 서버 부하 방지.

 


L4 와 L7의 차이

로드밸런싱을 이해할 때 가장 먼저 마주하는 분기점은 전송 계층(L4)과 애플리케이션 계층(L7)의 선택입니다.

L4 로드밸런서는 IP 주소와 포트 번호만을 확인하여 패킷을 단순 전달(Packet Forwarding/NAT)합니다.

반면, L7 로드밸런서는 '풀 리버스 프록시(Full Reverse Proxy)' 방식으로 동작합니다. 이는 클라이언트와의 TCP 핸드셰이크를 종료(Connection Termination)하고, 패킷을 재조립하여 HTTP 헤더, URL 경로, 쿠키 등 전체 페이로드를 분석한 뒤 백엔드와 새로운 연결을 생성(Connection Re-establishment)하는 과정을 포함합니다

 

가장 중요한 기술적 구분은 어느 계층의 정보를 활용하여 분산하느냐에 있습니다.

구분 L4 (Transport Layer) L7 (Application Layer)
참조 데이터 IP 주소, 포트 번호, TCP/UDP 프로토콜 URL, 쿠키(Cookie), HTTP 헤더, 페이로드
특징 패킷 레벨에서 속도가 매우 빠르고 효율적임 패킷 내부를 분석하여 정교한 라우팅 가능
장점 데이터 복호화가 필요 없어 부하가 적음 특정 사용자나 요청 내용에 따른 섬세한 제어
단점 섬세한 스위칭(콘텐츠별 분산) 불가능 패킷 분석을 위한 리소스 소모(비용 발생)

 


로드밸런서 구축 방식의 선택

  1. H/W 로드 밸런서: 전용 장비(F5, Citrix 등). 강력한 성능과 안정성을 제공하지만 고가입니다.
  2. S/W 로드 밸런서: 일반 서버에 설치(Nginx, HAProxy 등). 비용이 저렴하고 설정이 유연합니다.
  3. Cloud 로드 밸런서: AWS(ALB/NLB), Azure 등 클라우드사 제공. 자동 확장(Auto Scaling)과 연동이 쉽고 관리가 간편합니다.

 AWS vs GCP: 로드밸런싱 (클라우드)


비교 항목 AWS (ELB/ALB) GCP (Cloud Load Balancing)
설계 철학
모듈형 (Composable)
통합형 (Converged)
가용 범위
지역적 (Regional)
글로벌 (Global)
글로벌 확장
Route 53 등 추가 서비스 조합 필요
단일 Anycast IP 자체 지원
운영 복잡성
세밀한 제어 가능하나 설정 복잡함
단순화된 구성 및 즉각적 failover

주요 로드 밸런싱 알고리즘

서버를 선택하는 '논리'입니다. 서비스의 성격에 따라 적절한 알고리즘을 선택해야 합니다.

적절한 알고리즘의 선택은 애플리케이션의 특성(상태 유지 필요 여부 등), 워크로드의 형태, 인프라의 제약 조건에 따라 달라집니다

  • 라운드 로빈 (Round Robin): 서버 순서대로 요청을 배분합니다. 서버 사양이 동일할 때 가장 단순하고 공정합니다.
  • 가중 라운드 로빈 (Weighted Round Robin): 성능이 더 좋은 서버에 높은 가중치를 부여하여 더 많은 요청을 처리하게 합니다.
  • 최소 연결 (Least Connection): 현재 활성화된 연결(Session) 수가 가장 적은 서버로 우선 배분합니다. 트래픽 체류 시간이 일정하지 않을 때 유리합니다.
  • IP 해시 (IP Hash): 클라이언트의 IP를 특정 서버에 매핑하여 고정합니다. 사용자가 항상 같은 서버로 접속해야 하는 상황에 사용됩니다.

운영의 완성도를 높이는 핵심 기능들

실제 운영 환경에서 로드 밸런서의 성능을 결정짓는 3가지 부가 기능입니다.

1. 헬스 체크 (Health Check)

서버의 생존 여부를 주기적으로 확인합니다.

  • 단순히 서버가 켜져 있는지(Layer 3/4)뿐만 아니라, 특정 애플리케이션 페이지가 정상 응답(Layer 7, HTTP 200 OK)을 주는지도 체크하여 비정상 서버를 자동 제외합니다.

2. 세션 유지 (Sticky Session / Session Persistence)

로그인 정보처럼 클라이언트의 상태 정보가 특정 서버에 저장되어 있을 때, 해당 클라이언트가 다시 접속해도 동일한 서버로 연결되도록 보장합니다. 주로 쿠키나 소스 IP를 기준으로 합니다.

3. SSL 오프로딩 (SSL Offloading)

서버 대신 로드 밸런서가 암호화/복호화(HTTPS) 과정을 전담합니다.

  • 백엔드 서버는 CPU 연산이 많이 필요한 SSL 작업에서 해방되어, 순수 비즈니스 로직(데이터 처리)에만 전념할 수 있게 됩니다.