본문으로 건너뛰기

Load Balancing 개요

kr-central-1 kr-central-2

카카오클라우드의 Load Balancing은 클라이언트의 요청을 수신하고 받은 트래픽을 여러 개의 서버로 분산하는 서비스입니다. 이는 단일 서버에서 모든 요청을 처리하는 경우 발생할 수 있는 문제를 해결하기 위한 중요한 기술입니다.

단일 서버에서 대량의 요청이 발생하면 서버의 처리 능력을 초과하여 속도 저하나 서비스 장애로 이어질 수 있습니다. 하지만 Load Balancing을 통해 여러 대의 서버를 사용하면 트래픽이 균등하게 분산되어 각 서버의 부하를 분담할 수 있습니다. 이는 서버의 안정성과 가용성을 향상하는데 도움이 됩니다.

Load Balancing 아키텍처

Load Balancing 서비스의 아키텍처와 작업 흐름은 다음과 같습니다.

이미지

  1. 클라이언트가 요청을 보내 서버와 연결을 시도합니다.
  2. Load Balancer는 Listener를 통해 요청을 수신하고 해당 요청을 Target Group으로 라우팅합니다.
  3. Target Group은 미리 설정한 알고리즘에 따라 하나의 타깃으로 요청을 전달합니다.
  4. 타깃은 요청을 수신하고 Load Balancer를 통해 클라이언트에게 전송할 응답을 생성합니다.
  5. Load Balancer는 응답을 받아 클라이언트에게 전달합니다.
  6. 필요한 경우, Load Balancer는 SSL 오프로드를 처리합니다.

사용 목적 및 사례

안정성이 중요한 서비스를 비용 효율적으로 운영

서버 장애나 과부하를 방지하기 위하여 지속적인 관리 리소스를 투입하는 대신, 사전 설정을 통해 Target Group 내의 여러 서버로 트래픽을 분산시킵니다. 그리고 Target Group의 일부 서버에 예기치 않은 장애가 발생할 경우, 해당 서버를 자동으로 제외하여 무중단 서비스를 운영할 수 있도록 합니다.

클라이언트와 서버 간의 중개자 역할을 수행

각 서버의 부하를 분산시키고, 효율적인 리소스 활용을 도모할 수 있음. 일부 서버에 장애가 발생하더라도 다른 서버가 요청을 처리할 수 있어 전체 시스템의 가용성이 유지됩니다.

분산 시스템 구축에 핵심적인 역할

Load Balancing 알고리즘을 활용하여 특정 서버에 과도한 부하가 집중되지 않도록 조절할 수 있으며, SSL 오프로딩, 세션 유지 등의 기능을 제공하여 다양한 요구사항을 충족합니다.

특징

사용 목적에 따른 Load Balancer 타입 제공

이름설명
Application Load Balancer(ALB)  - HTTP, HTTPS 프로토콜 지원
- OSI L7로 동작하며 웹 사이트, 마이크로 서비스, 컨테이너 등 다양한 애플리케이션에 선택
- L7 규칙을 추가하여 세밀한 라우팅 설정이 가능
Network Load Balancer(NLB)- TCP, UDP, TLS 프로토콜 지원
- OSI L4로 동작하며 대규모 트래픽 발생 환경에서 빠른 처리 속도가 필요한 경우 선택
Direct Server Return Network Load Balancer(DSRNLB)- TCP, UDP 프로토콜 지원
- OSI L4로 동작하며 클라이언트 IP를 보존하여 전달해야 할 경우 선택

Health Check 기능으로 더욱 안정적인 무중단 서비스 유지

  • Target Group에 Health Check 기능을 설정하여 안정적인 무중단 서비스를 유지
  • 타깃의 상태를 주기적으로 점검하고, 장애가 발생한 서버는 트래픽 분배 대상에서 제외하며 정상 서버로 트래픽을 우회

간편한 생성 및 설정으로 관리 효율성 향상

  • 사용이 쉽고 직관적인 콘솔을 제공하여 관리 효율성 극대화
  • 콘솔에서 간단한 동작으로 Load Balancer를 생성할 수 있으며, Load Balancer 모니터링 기능을 통하여 리소스의 사용 현황을 쉽게 파악

SSL 인증서 기반의 보안 강화

  • HTTPS, TLS 트래픽을 처리할 때, 등록된 인증서를 기반으로 암호화 및 복호화를 수행
  • 인증서는 계정 단위로 관리되며, 기존에 보유한 인증서를 등록하거나 새 인증서를 발급받아 사용

로그 모니터링을 통한 트래픽 패턴 분석 및 문제 해결 가능

  • Load Balancer의 Access Log 기능을 지원하여 트래픽 패턴을 분석 가능
  • LB 유형에 따라 적절한 로그 항목 필드 제공

시작하기

Load Balancing에 대한 자세한 사용 가이드는 각각의 Application Load Balancer, Network Load Balancer, Direct Server Return Network Load Balancer How-to Guides에서 설명합니다. 카카오클라우드를 처음 시작하신다면 카카오클라우드 시작하기를 참고하시기 바랍니다.