본문 바로가기
Network

GSLB란 무엇인가?

by kmkhm 2025. 12. 22.

GSLB(Global Server Load Balancing)

세계에 지리적으로 분산된 여러 데이터센터에 트래픽을 지능적으로 분산하는 기술

 

GSLB의 핵심 목적은 서비스의 가용성(Reliability) 확보지연 시간(Latency) 최소화입니다. 사용자와 지리적으로 가장 가까운 곳에 위치한 인프라로 연결을 유도함으로써 데이터 전송 시간을 단축하고 사용자 경험을 개선하는 것입니다. GSLB는 주로 DNS 레이어에서 작동합니다. 사용자가 도메인 주소를 입력하면 GSLB는 각 데이터센터의 상태(Health)와 사용자의 위치를 실시간으로 분석하여, 현재 접속 가능한 가장 최적의 서버 IP 주소를 클라이언트에게 반환해줍니다.

 

DNS와의 차이점

출처: https://www.netmanias.com/en/?m=view&id=blog&no=7637

전통적인 DNS는 Round-Robin 방식으로 단순하게 서버 목록을 순환하며 IP를 반환합니다. 반면에 GSLB는 다음과 같은 것들을 고려합니다.

1. 재해 복구 (Disaster Recovery): 헬스 체크를 통해 장애가 발생한 서버를 즉시 목록에서 제외하고, 정상적인 서버로만 트래픽을 유도합니다.

2. 부하 분산 (Site Load Balancing): 각 데이터센터의 리소스 사용량을 모니터링하여, 부하가 적은 서버로 사용자를 연결합니다. 특정 서버에 과부하가 걸리는 것을 방지합니다.

3. 네트워크 근접성 (Network Proximity): RTT(Round Trip Time) 등을 측정하여 사용자에게 가장 빠른 응답을 줄 수 있는 서버를 선택합니다. 예를 들어, 250ms인 서버 대신 30ms인 서버로 연결시켜 줍니다.

4. 지리적 근접성 (Geographic Proximity): 사용자의 IP 주소를 바탕으로 지리적으로 가장 가까운 데이터센터를 매칭합니다. 물리적 거리를 단축해 전반적인 서비스 속도를 획기적으로 개선합니다.

 

SLB와의 차이점

SLB는 하나의 데이터 센터(또는 리전) 내부에서 여러 대의 서버로 부하를 분산해주는 기술입니다. 우리가 흔히 부르는 로드 밸런서(L4, L7)가 바로 이 SLB를 수행하는 장비입니다.

  SLB GSLB
범위 단일 데이터 센터 내부 전 세계 / 여러 데이터 센터 간
동작 방식 IP 패킷을 직접 전달 (L4/L7) DNS 응답을 조절하여 경로 안내
장애 대응 서버 1대 장애 대응 데이터 센터 전체(화재 등) 장애 대응

 

CDN과의 차이점

  • CDN의 특징
    • 정적 콘텐츠(이미지, 비디오, CSS, JS)를 엣지 서버에 캐싱
    • 콘텐츠 복제 및 전달에 집중
    • 전 세계 수백 개의 POP(Point of Presence) 운영
  • GSLB의 특징
    • 동적 트래픽 라우팅 결정
    • DNS 레벨에서 최적 서버 선택
    • API 호출, 로그인, 개인화된 콘텐츠 처리에 유용

 

GSLB의 동작 원리

출처: https://www.netmanias.com/en/?m=view&id=blog&no=7637

 

1. DNS 질의 시작: 사용자가 www.example.com 접속을 시도하면 로컬 DNS 서버로 질의를 보냅니다. 로컬 DNS는 루트 DNS와 .com DNS를 거쳐 정보를 찾습니다.

2. GSLB로 질의 전달: 로컬 DNS는 최종적으로 GSLB 서버로 질의를 보냅니다.

3. DNS 프록시 역할: GSLB는 DNS 프록시로서 작동하며 해당 도메인의 원래 DNS 서버(example.com DNS)로 질의를 전달합니다.

4. IP 리스트 및 TTL 수신: example.com DNS는 미리 설정된 서버 IP 리스트(예: 한국 센터 1.1.1.1, 미국 센터 2.2.2.2)와 기본 TTL(예: 300초) 정보를 GSLB에 돌려줍니다.

5. 최적 서버 선택 및 TTL 변경: GSLB는 자체 정책(위치, 부하, 헬스 체크 등)에 따라 가장 적합한 IP(예: 1.1.1.1)를 선택합니다. 이때 TTL 값을 매우 짧게(예: 10초) 변경하는데, 이는 장애 발생 시 로컬 DNS가 잘못된 정보를 오래 캐싱하지 않고 즉시 업데이트하게 하기 위함입니다.

6. 로컬 DNS로 응답: 선택된 IP(1.1.1.1)와 변경된 TTL(10초) 정보를 로컬 DNS에 전달합니다.

7. 사용자에게 최종 IP 전달: 로컬 DNS는 이 정보를 사용자에게 최종적으로 전달합니다.

8. 실제 데이터 통신 시작: 사용자는 전달받은 IP(1.1.1.1)로 HTTP 요청을 보냅니다. 이 요청은 센터 입구에 있는 SLB가 받아 다시 내부의 가장 적절한 실제 서버(10.1.1.10)로 연결해 줍니다.

 

댓글