Azure 상식

Azure Load Balancer 이해: 가용성, 분산처리 특징과 Coverage

ktzzang0601 2025. 8. 22. 22:51

1. 부하 분산(Load Balancing) 이란

  • 부하 분산은 네트워크나 컴퓨팅 리소스로 몰리는 과도한 트래픽 또는 작업량을 여러 서버나 자원에 고르게 분산해, 과부하와 단일 장애점을 제거하고 서비스의 연속성과 신뢰성을 보장하는 핵심  기술입니다. 애플리케이션 서비스에서 트래픽이 한 대 서버에 몰리거나 네트워크 병목 현상이 발생하면 응답 지연, 서비스 불가, 시스템 장애로 이어질 수 있으며, 부하 분산 장치를 통해 이를 방지합니다.

2.  Azure Load Balancer의 핵심 위치와 작동 원리

Azure Load Balancer는 클라우드 네트워크에서 OSI 4계층인 전송계층(TCP, UDP)에서 작동하는 관리형 L4 부하 분산 서비스입니다.

  • 클라이언트 요청이 단일 프런트엔드 IP (공용 혹은 사설)로 들어오면,
  • 설정된 부하 분산 규칙과 백엔드 풀 내 가상 머신, VM Scale Set, 컨테이너 인스턴스에
  • 헬스 프로브를 통한 상태 점검 결과를 바탕으로 자동으로 요청을 분산 배분합니다.

이는 네트워크의 TCP/UDP 헤더 정보(원본 IP/포트, 목적지 IP/포트, 프로토콜 번호) 등 5-tuple 해쉬 방식을 기반으로 합니다.

 

3.  Azure Load Balancer의 주요 구성 요소

구성 요소 역할  기능
프런트엔드 IP 클라이언트가 요청을 보내는 IP 주소 (Public 또는 Private)
백엔드  트래픽이 분산되는 VM, VMSS, 컨테이너  자원들의 모임
로드 밸런싱 규칙 프런트엔드 IP 포트와 프로토콜, 백엔드   포트를 연결하는 규칙 설정
상태 프로브 백엔드 자원의 상태를 주기적으로 검사하여 비정상 인스턴스를 제외하는 역할
인바운드 NAT 규칙 특정 포트를 통해 특정 인스턴스로 트래픽을 직접 전달 (ex: SSH, RDP 연결 )
아웃바운드 규칙 백엔드 자원에서 외부로 나가는 트래픽에 대해 NAT 처리를 수행하는 규칙

 

4. Azure Load Balancer의 핵심 기능

  • 고가용성 유지
    여러 가용성 영역에 분산해 폭넓은 페일오버 지원
  • 대용량 및 초저지연 트래픽 처리
    수백만 개 동시 TCP/UDP 세션을 안정적으로 처리
  • 유연한 IP·포트 매핑
    여러 Public/Private IP, 다수 포트에 대한 부하분산 규칙 설정 가능
  • 백엔드 상태 점검 및 장애 자동 복구
    건강하지 않은 백엔드는 자동으로 분배 대상에서 제외
  • 상세 로깅 및 모니터링
    Azure Monitor와 Log Analytics 통합을 통한 실시간 상태 감시

5. SKU별 특성 비교

  • Basic Load Balancer는 사실상 25-09-30 서비스 종료 예정으로 Standard load Balancer 위주로 구성
  • 가용영역 옵션은 ‘프런트엔드 IP’의 영역 설정으로 결정됩니다. 프런트엔드가 Zone‑redundant(다중 AZ) 이면 LB도 다중 AZ가 되고, Zonal(특정 AZ 고정) 이면 LB도 그 AZ에 고정됩니다. (Public LB는 할당한 Public IP의 영역 속성이 그대로 반영)
  • 리소스가 생성된 후에는 해당 리소스에 대한 영역을 변경, 업데이트 또는 생성할 수 없습니다.
  • 리소스는 생성 후 영역 중복에서 영역 내 중복으로 업데이트할 수 없으며, 그 반대로도 업데이트할 수 없습니다.
  • 지역 전체 장애를 대비하여 멀티 리전으로 구성할 경우에 글로벌 단일 LB에서 지역 LB로 분산/페일오버 구성, App계층이 L4일 경우 표준 모델임
기능  특성 Basic Load Balancer Standard Load Balancer
가용성 영역 지원 없음 다중 가용성 영역 완전 지원 (Zone Redundant)
SLA 미제공 99.99%
지원 프로토콜 TCP, HTTP TCP, UDP, HTTP, HTTPS
NAT 아웃바운드 지원 제한적 완전 지원
프런트엔드 IP 형식 Public IP Public  Private IP 모두 지원
백엔드  지원 NIC NIC  IP 리소스 모두 지원
진단  모니터링 제한적 Azure Monitor, Log Analytics 지원
NSG, UDR  보안 정책 연동 제한적 완전 연동  보안 강화

 

6. Azure 주요 부하 분산 서비스 비교

서비스명 OSI 레이어 지원 대상  용도 특징  주요 기능
Azure Load Balancer 4 (TCP/UDP) VM, VMSS, 컨테이너  네트워크 패킷 레벨 부하 분산 고성능, 저지연, 다중 IP  포트 지원, AZ  자동 분산
Application Gateway 7 (HTTP/HTTPS)  애플리케이션, API 라우팅, WAF 통합 URL 경로 기반 라우팅, SSL 종료, WAF, 세션 기반 부하 분산
Traffic Manager DNS 기반 다중 리전 글로벌 부하 분산  장애 조치 DNS 레벨에서 리전별 요청 분산, Failover, 글로벌 사용자 위치 기반 라우팅
Front Door 7 (HTTP/HTTPS) 글로벌  애플리케이션 가속, 보안 강화 전세계 CDN, WAF, SSL Offload, 글로벌 부하 분산  최적화

 

7. Load Balancer 적용 구조 및 구성 흐름

  • Load Balancer 생성 → 프런트엔드 IP 구성(공용/사설) → 백엔드 풀 등록(VM, VMSS 등) → 부하 분산 규칙 설정 → 헬스 프로브 생성 → NAT 규칙 필요 시 추가
  • 서비스에 맞게 NSG, UDR, Firewall 연동되어 안전한 네트워크 구성을 보장

- Azure CLI 주요 명령 예시

bash
az network lb create --resource-group myResourceGroup --name myLB --sku Standard --frontend-ip-name myFrontEndPool --backend-pool-name myBackEndPool

az network lb probe create --resource-group myResourceGroup --lb-name myLB --name myHealthProbe --protocol tcp --port 80


az network lb rule create --resource-group myResourceGroup --lb-name myLB --name myLBRule --protocol tcp --frontend-port 80 --backend-port 80 --frontend-ip-name myFrontEndPool --backend-pool-name myBackEndPool --probe-name myHealthProbe


az network lb inbound-nat-rule create --resource-group myResourceGroup --lb-name myLB --name myNATRule --protocol tcp --frontend-port 5022 --backend-port 22 --frontend-ip-name myFrontEndPool

 

8. 영역별 LB 서비스 특징

 (1) 리전널(Regional) 서비스

  • 리전 내에서만 사용 가능하며, 같은 리전 내 여러 가용영역(존, AZ)에서 트래픽을 분산합니다.
  • 보통 규제 준수 또는 데이터 주권 등의 이유로 트래픽이 특정 리전에 머물러야 할 때 사용합니다.
  • TLS 종료 지점을 리전 단위로 제어할 수 있어 특정 리전에서만 암호화 통신을 처리합니다.
  • 리전 내 다중 AZ를 월등히 활용하여, AZ 장애 시에도 서비스 가용성은 유지할 수 있지만 리전 전체 장애에는 취약합니다.

 (2) 존너럴(Zonal) 서비스

  • 특정한 단일 가용영역(AZ) 내에서만 사용됩니다.
  • 주로 아주 세밀한 장애 도메인 관리가 필요하거나, AZ 단위로 로드밸런서를 세팅해야 할 때 사용합니다.
  • AZ 하나가 다운되면 로드밸런서도 영향을 받지만, 빠른 복구와 AZ별 리소스 격리가 가능합니다.

 (3) 글로벌(Global) 서비스

  • 여러 리전(Region)에 걸쳐 전 세계적으로 분산된 로드밸런서를 의미합니다.
  • 클라이언트 요청을 전 세계에 분산된 가장 가까운 리전의 백엔드로 라우팅하며, 장애 발생 시에는 다른 리전으로 트래픽을 자동 전환(페일오버)합니다.
  • 글로벌 anycast IP를 가지며, 전 지리적으로 최저 지연(latency)을 위한 TLS 종료도 전 세계 여러 지점에서 수행합니다.
  • 글로벌 서비스가 필요할 때는 지역별 리전널 로드밸런서들을 연동하여 글로벌 로드밸런서 계층을 구성합니다.
  • 예를 들어, Azure Standard Load Balancer의 글로벌 로드밸런서는 기존 리전 단위 로드밸런서와 연동하여 다중 리전 페일오버 및 부하분산을 지원합니다.
  • 글로벌 서비스 구성 시 참고 사항
    • 글로벌 로드밸런서는 일반적으로 외부(퍼블릭) 트래픽에 적용되며, 내부 로드밸런서는 보통 리전 단위로 작동합니다.
    • 글로벌 로드밸런서는 각 리전 로드밸런서의 상태(health probe)를 정기적으로 체크해 비정상 리전은 차단합니다.
    • 사용자 위치에 따른 지리적 거리 기반(geo-proximity) 라우팅 정책을 적용할 수 있어, 사용자별 가장 가까운 리전으로 트래픽을 유도합니다.
    • 글로벌 로드밸런서로 구성 후 각 리전 로드밸런서의 backend 및 포트 설정을 일치시켜야 연동에 문제가 없습니다.

8. 참고 문서

https://learn.microsoft.com/ko-kr/azure/load-balancer/load-balancer-overview

https://learn.microsoft.com/ko-kr/azure/load-balancer/components

https://learn.microsoft.com/ko-kr/azure/architecture/guide/technology-choices/load-balancing-overview

https://learn.microsoft.com/ko-kr/azure/architecture/guide/technology-choices/load-balancing-overview