본문 바로가기
※ IT관련

"서비스 다운타임 제로! 스마트한 부하 분산기 설정 비법"

by 홍길동젼 2025. 1. 13.
728x90
반응형
반응형

부하 분산기(Load Balancer, LB)는 여러 서버 또는 서비스로 트래픽을 분산하여 성능을 최적화하고 가용성을 높이며 서버 과부하를 방지하는 데 사용됩니다. 부하 분산기는 클라우드 환경, 온프레미스, 또는 하이브리드 환경에서 중요한 역할을 합니다. 아래에서 부하 분산기의 개념, 유형, 설정 과정, 그리고 Google Cloud Platform(GCP)에서의 LB 설정을 자세히 설명하겠습니다.

1. 부하 분산기의 주요 역할

  • 트래픽 분산: 다수의 백엔드 서버에 트래픽을 효율적으로 분배.
  • 가용성 및 복원력: 서버 장애 시 다른 서버로 트래픽을 자동으로 라우팅.
  • 보안: SSL 종료, DDoS 방어, 방화벽 통합 지원.
  • 스케일링: 트래픽 증가에 따라 백엔드 서버를 동적으로 추가.

 

2. 부하 분산기의 유형

  1. L4 (네트워크 레벨) 부하 분산기
    • TCP/UDP 트래픽을 기반으로 분산.
    • 빠르고 간단한 설정 가능.
    • 예: Google Cloud Network Load Balancer.
  2. L7 (애플리케이션 레벨) 부하 분산기
    • HTTP/HTTPS 트래픽 기반 분산.
    • URL 경로, 쿠키, 헤더를 기반으로 정교한 라우팅.
    • 예: Google Cloud HTTP(S) Load Balancer.
  3. 글로벌 vs. 리전 부하 분산기
    • 글로벌: 여러 지역에 걸쳐 트래픽을 분산.
    • 리전: 특정 지역 내에서만 트래픽 처리.

 

3. GCP에서 부하 분산기 설정

Step 1: 부하 분산기 유형 선택

GCP에서 지원하는 주요 부하 분산기:

  • HTTP(S) Load Balancer: 웹 트래픽 분산에 사용.
  • Network Load Balancer: TCP/UDP 트래픽 분산.
  • Internal Load Balancer: 내부 네트워크 트래픽에 사용.
  • SSL Proxy Load Balancer: SSL/TLS 트래픽에 최적화.

Step 2: 백엔드 서비스 구성

  1. 백엔드 그룹 생성
    • Compute Engine VM, GKE, 또는 Cloud Run 인스턴스를 백엔드로 사용 가능.
    • 백엔드 서비스는 트래픽 분배 정책, 헬스 체크(Health Check) 등을 포함.
  2. 헬스 체크 설정
    • 주기적으로 백엔드 상태를 확인하여 비정상 인스턴스를 제거.
    • HTTP, TCP, 또는 HTTPS 기반 헬스 체크 가능.

Step 3: 프런트엔드 구성

  1. IP 주소 및 포트 설정
    • 정적 IP 주소(IPv4/IPv6) 예약.
    • 트래픽을 받을 포트를 설정(예: 80, 443).
  2. SSL 인증서 설정(선택 사항)
    • HTTPS 트래픽을 위한 SSL 인증서 생성 및 적용.

Step 4: 라우팅 규칙 설정

  • URL 맵 또는 호스트 및 경로 규칙을 사용해 특정 백엔드로 트래픽 라우팅.

Step 5: 부하 분산기 생성

  • GCP Console 또는 gcloud CLI 명령어를 사용해 설정.
  • CLI 명령어 예: 
  • gcloud compute backend-services create my-backend \ --protocol=HTTP \ --health-checks=my-health-check \ --port-name=http

Step 6: 테스트 및 모니터링

  • 부하 분산기가 정상적으로 트래픽을 분산하는지 테스트.
  • Stackdriver LoggingMonitoring으로 상태 점검.

 

4. 트래픽 분배 알고리즘

  • 라운드 로빈: 트래픽을 순차적으로 분배.
  • 가중치 기반: 서버의 처리 능력에 따라 트래픽 분배.
  • 최소 연결 수: 현재 연결이 가장 적은 서버에 우선 분배.
  • IP 해싱: 클라이언트 IP에 따라 고정된 서버에 라우팅.

 

5. 추가 팁

  • 멀티 리전 설정: 글로벌 서비스의 경우, 지연 시간을 줄이기 위해 가까운 지역으로 트래픽 라우팅.
  • 자동 스케일링: 트래픽 증가 시 GCP의 Autoscaler를 통해 백엔드 서버 추가.
  • 보안: Cloud Armor를 통합하여 방화벽 및 DDoS 방어 강화.

 

>> 결론

부하 분산기는 고가용성 및 고성능 시스템을 구축하는 핵심입니다.

728x90
반응형