본문 바로가기

Theory/Infrastructure & Network

L4 Load Balancer과 L7 Load Balancer의 차이에 대해서

L4 로드밸런서와 L7 로드밸런서란?

로드밸런서는 네트워크 트래픽을 여러 서버로 분산시켜 가용성과 성능을 향상시키는 역할을 한다.

OSI 모델에서 L4(전송 계층)과 L7(애플리케이션 계층)에서 동작하는 방식에 따라 각각 L4 로드밸런서와 L7 로드밸런서로 나뉜다.

L4 로드밸런서

  • 전송 계층(OSI 4계층)에서 동작
  • TCP/UDP 패킷의 IP 주소와 포트만 확인하여 트래픽을 분산
  • 패킷의 내용을 해석하지 않고 단순한 포워딩 수행
  • 성능이 뛰어나고, 대규모 트래픽 처리에 유리
  • 예시) AWS NLB

L7 로드밸런서

  • 애플리케이션 계층(OSI 7계층)에서 동작
  • HTTP/HTTPS 트래픽을 이해하고 요청 URL, 헤더, 쿠키, 콘텐츠 등을 기반으로 분산 가능
  • SSL 종료(SSL Termination) 및 복호화 가능
  • 콘텐츠 기반 라우팅(예: /api는 특정 서버로, /static은 다른 서버로 전송) 가능
  • 기능이 풍부하지만 L4보다 성능 부담이 큼
  • 예시) AWS ALB

 

L4 vs L7 로드밸런서의 주요 차이점

항목 L4 로드밸런서 L7 로드밸런서
동작 계층 전송 계층 (TCP/UDP) 애플리케이션 계층 (HTTP/HTTPS)
라우팅 방식 IP와 포트 기반 URL, 헤더, 쿠키 기반
SSL 처리 백엔드 서버에서 처리 (암호화된 상태로 전달) 로드밸런서에서 SSL 종료 가능
콘텐츠 검사 불가능 가능 (예: 특정 URL 요청을 특정 서버로 보냄)
성능 빠르고 지연시간 낮음 상대적으로 지연 발생 가능
트래픽 유형 모든 TCP/UDP 기반 서비스 (게임, VoIP, 이메일 등) 웹 애플리케이션 (HTTP/HTTPS)
비용 일반적으로 저렴 요청 수에 따라 비용 증가 가능

 

사용 사례 분석: 온프레미스 웹 서버를 AWS로 이전할 경우

온프레미스 환경에서 운영하던 웹 서버를 AWS로 이전할 때, L4와 L7 중 어떤 로드밸런서를 선택해야할까?

지난번 면접 때 받았던 질문이다.

나는 웹 트래픽을 분산하니까, 당연히 L7 로드밸런서를 사용해야 한다.라고 대답했다.

면접관분께서 꼬리 질문으로 “L7 로드밸런서가 비용이 더 부과됨에도 불구하고 왜 사용해야 하나요?” 라는 질문을 해주셨었는데 대답하지 못했다.

그래서 오늘은 관련 내용을 공부한 김에 해당 질문을 복기해 볼까 한다.

 

Q. 온프레미스 환경에서 운영하던 웹 서버를 AWS로 이전할 때, L4와 L7 중 어떤 로드밸런서를 선택해야 하나요?

A. 일반적인 웹 서비스(HTTP/HTTPS)라면 L7 로드밸런서(Application Load Balancer, ALB)를 선택하는 것이 적절합니다.

ALB는 HTTP 요청을 분석하여 URL 경로, 헤더, 쿠키 기반의 정교한 트래픽 분산이 가능하며, SSL 종료(SSL Termination), WAF(웹 방화벽) 연계, 인증 기능 등 웹 서비스 운영에 필요한 기능을 제공합니다.

반면, L4 로드밸런서(Network Load Balancer, NLB)는 TCP/UDP 수준에서 단순히 트래픽을 분산하며, HTTP 콘텐츠 기반 라우팅이 불가능합니다.

따라서 HTTP/HTTPS 웹 서버를 운영하는 경우 ALB(L7)가 최적의 선택이라고 생각합니다.

 

Q. L7 로드밸런서가 비용이 더 비싼데 왜 사용해야 되나요?

A. L7 로드밸런서는 L4보다 비용이 높지만, 웹 애플리케이션 운영에서 장기적으로 더 효율적인 선택이 될 수 있습니다.

  1. 정교한 트래픽 관리 및 최적화
    • URL 경로, HTTP 헤더, 쿠키 등을 기반으로 트래픽을 특정 서버 그룹으로 분산 가능
    • 필요에 따라 특정 요청을 캐시하거나 압축하여 성능 최적화 가능
  2. 사용자 경험 개선 (세션 유지 및 로드밸런싱 최적화)
    • 쿠키 기반 세션 유지(Sticky Session) 지원 → 동일 사용자가 같은 서버로 연결 유지 가능
    • 이를 통해 로그인된 세션을 유지하고, 사용자 경험을 개선
  3. 보안 및 관리 기능 제공
    • AWS WAF(웹 방화벽) 연계 가능 → 웹 애플리케이션을 보호하고, 악성 요청 필터링 가능
    • SSL 종료(SSL Termination) 기능 제공 → 백엔드 서버 부하 감소 및 트래픽 암호화 유지
  4. 로깅 및 모니터링 기능 강화
    • HTTP 요청을 분석하여 상세한 트래픽 로깅 및 모니터링이 가능
    • 트러블슈팅 및 장애 대응 시 신속한 분석 가능

물론, 초고성능이 요구되는 환경에서는 L4 로드밸런서(NLB)가 비용 절감에 유리할 수 있지만, 대부분의 웹 애플리케이션에서는 L7 로드밸런서(ALB)가 기능적 이점을 고려할 때 더욱 적합한 선택입니다.

따라서, 단순한 비용 절감보다는 운영 편의성과 보안성, 장기적인 관리 비용까지 고려하는 것이 바람직합니다.

 

Q. L7 로드밸런서가 L4보다 더 상세한 트래픽 분석을 제공하는 만큼 지연시간이 발생해 사용자에게 결국 영향이 가는 것 아닌가요?

A. L7 로드밸런서는 트래픽을 분석하고 처리하는 과정에서 추가적인 CPU 연산이 필요해 L4보다 평균적으로 지연시간이 높은 것은 사실입니다. 그럼에도 불구하고 L7 로드밸런서를 선택하는 것이 옳다고 생각합니다.

첫 번째로 지연 시간의 차이가 사용자가 느낄 수 없을만큼 수 밀리 세컨드 정도의 차이로 매우 작습니다. 더군다나 CSP가 꾸준히 하드웨어 가속 및 TLS 오프로딩을 통한 성능 개선 작업들을 수행하고 있습니다.

두 번째로 L7 로드밸런서가 제공하는 트래픽 최적화 기능과 부가 기능이 있기 때문에, 전체적인 사용자 경험(UX)과 시스템 효율성을 고려했을 때 오히려 L7이 더 유리합니다.