본문으로 건너뛰기

Load Balancing 개요

kr-central-1 kr-central-2

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

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

Load Balancing 아키텍처

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

이미지

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

사용 목적 및 사례

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

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

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

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

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

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

특징

사용 목적에 따른 로드 밸런서 유형 제공

이름설명
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를 보존하여 전달해야 할 경우 선택

상태 확인 기능으로 더욱 안정적인 무중단 서비스 유지

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

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

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

SSL 인증서 기반의 보안 강화

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

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

  • 로드 밸런서의 액세스 로그 기능을 지원하여 트래픽 패턴을 분석 가능
  • LB 유형에 따라 적절한 로그 항목 필드 제공

시작하기

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