833. 로드 밸런싱 (Load Balancing) - L4/L7 스위치 트래픽 분산망 적용 구조

핵심 인사이트: 수강 신청 날, 1대의 웹서버에 10만 명의 대학생이 동시 접속을 하면 서버가 1초 만에 불타버린다. 이걸 막으려면 똑같은 웹서버 100대를 깔아놓고 10만 명을 1,000명씩 예쁘게 찢어 분배해 줘야 한다. 이 '교통경찰' 장비가 로드 밸런서다. 무식하게 IP 주소만 보고 100대에게 기계적으로 카드를 찢어주는 단순한 교통경찰(L4)이 있고, 택배 박스(HTTP) 안의 내용물까지 다 뜯어보고 "넌 동영상 보네? 동영상 서버로 가! 넌 결제네? 결제 서버로 가!"라며 똑똑하게 길을 갈라주는 엘리트 교통경찰(L7)이 있다.

Ⅰ. 로드 밸런싱(Load Balancing)의 개념과 필수성

  • 개념: 인터넷에서 쏟아져 들어오는 막대한 트래픽 폭풍(Client Requests)을, 뒤에 버티고 있는 여러 대의 서버 팜(Server Farm)이나 클라우드 인스턴스로 **'부하(Load)가 한곳에 몰리지 않게 공평하고 똑똑하게 균형을 맞춰 분산(Balancing)시켜 주는 네트워크 통신 분배 기술'**입니다. (시스템 무중단, 고가용성의 핵심)
  • VIP (가상 IP): 사용자(클라이언트)는 서버 100대의 진짜 IP를 모릅니다. 오직 로드밸런서가 들고 있는 허공의 가짜 IP(VIP, Virtual IP) 하나로만 접속합니다. 로드밸런서가 이 패킷을 낚아채 진짜 서버 IP로 목적지를 바꿔치기(NAT)해서 던져줍니다.

Ⅱ. L4 스위치 (Layer 4 로드 밸런싱) - "빠르고 무식한 톨게이트" 🌟

전통적으로 가장 흔하게 쓰이는 쇳덩어리 분배기입니다.

1. 동작 원리 (TCP/UDP 포트 분배)

  • OSI 7계층 중 4계층(전송 계층)의 정보만 봅니다.
  • 분류 기준: 출발지 IP, 목적지 IP, 포트 번호(TCP 80 등) 딱 겉봉투만 1초 스캔하고, "아, 웹 트래픽이네" 판단 후 뒤에 있는 서버 10대 중 순서대로 아무 데나(라운드 로빈) 냅다 던져버립니다.
  • 패킷의 본문(HTTP, 데이터 내용)은 절대 뜯어보지 않습니다.

2. 장점과 한계

  • 겉봉투만 보니까 속도가 미친 듯이 빠르고(극강의 성능), 스위치 장비의 가격도 쌉니다.
  • 하지만 사용자가 PC 화면으로 네이버 뉴스를 보려는지, 로그인을 하려는지 목적을 모르기 때문에 디테일한 서버 맞춤 분배가 불가능합니다.

Ⅲ. L7 스위치 (Layer 7 로드 밸런싱 / ADC) - "똑똑한 애플리케이션 프록시" 🌟

클라우드 네이티브 시대(Ingress, API 게이트웨이)의 절대 주력입니다. (별명: ADC, Application Delivery Controller)

1. 동작 원리 (HTTP 본문 심층 해부)

  • OSI 7계층(응용 계층) 끝단까지 짐을 전부 다 까봅니다.
  • 분류 기준: HTTP URI 경로, HTTP 헤더, 쿠키(Cookie) 값, 페이로드 본문 내용을 현미경처럼 뜯어봅니다.
  • 마법 같은 라우팅:
    • 사용자가 domain.com/video를 치면 ➜ [동영상 스트리밍 서버 10대]로 찢어줍니다.
    • 사용자가 domain.com/pay를 치면 ➜ [보안 결제 서버 5대]로 안전하게 찢어줍니다.
    • 헤더에 Mobile=True라고 적혀 있으면 ➜ [스마트폰 전용 가벼운 UI 서버]로 보내버립니다.

2. 추가 고급 기능 (L4가 못하는 것들)

  • SSL 오프로딩 (TLS Termination): 암호화된 HTTPS 패킷을 웹서버 대신 L7 스위치가 중간에서 복호화(비밀번호 풀기)해 주어, 뒤에 있는 웹서버의 CPU 부담을 덜어줍니다.
  • 세션 유지 (Sticky Session): 사용자의 '쿠키' 값을 기억해서, A 사용자가 로그인했던 그 1번 서버로만 계속 연결을 유지해 주어 로그인이 안 풀리게(장바구니 유지) 꽉 잡아줍니다.

Ⅳ. L4와 L7의 아키텍처 연계 구성 (실무)

실제 거대 데이터센터(카카오, 토스 등)는 하나만 쓰지 않습니다.

  • 데이터센터 입구에 초고속 대형 쇳덩어리 L4 스위치를 방패막이로 세워 수천만 명의 트래픽을 큼직하게 1차로 박살 내어 분산시킵니다.
  • 그 L4 스위치 뒤에 수십 대의 똑똑한 소프트웨어 **L7 라우터(Nginx, HAProxy 등)**를 배열하여 세밀한 서비스별 분배(2차 라우팅)를 융합하는 2단 콤보 전술을 사용합니다.

📢 섹션 요약 비유: L4 스위치는 대형 공항의 '주차장 입구 안내요원'입니다. 들어오는 차(패킷)의 번호판(IP)만 보고, 창문 안은 들여다보지도 않은 채 "1번 구역으로 가세요~ 2번 구역으로 가세요~" 라며 차가 안 막히게 무작정 빈자리로 밀어 넣습니다(무식하지만 극강의 속도). 반면 L7 스위치는 특급 호텔의 '도어맨(안내 컨시어지)'입니다. 손님이 오면 차 문을 열고 들어가 여권(쿠키)과 방문 목적(HTTP URI)을 깐깐하게 물어봅니다. "아, 스파 예약 손님이시군요! 스파 전용 엘리베이터로 모시겠습니다. 앗, 식당 VIP 손님이시군요! 식당가로 안내하겠습니다!" 시간이 조금 더 걸리지만 손님의 목적(애플리케이션 내용)에 맞춰 100% 최적의 방으로 꽂아주는 천재적인 맞춤형 안내 시스템입니다.