GSLB(Global Server/Service Load Balancing)란

네트워크/네트워크 2025. 5. 14. 10:03

[IT 엔지니어를 위한 네트워크 입문] 을 읽고 작성한 글입니다.

GSLB

DNS에서 동일한 레코드 이름으로 서로 다른 IP 주소를 동시에 설정해 도메인 질의에 따라 응답받는 IP 주소를 나누어 로드밸런싱할 수 있다. 

예시)

도메인: www.example.com

DNS A 레코드:
  www.example.com → 10.0.0.1
  www.example.com → 10.0.0.2
  www.example.com → 10.0.0.3

하지만 DNS만 이용한 로드밸런싱으로는 정상적인 서비스를 할 수 없다. DNS는 설정된 서비스 상태의 정상 여부를 확인하지 않고 도메인에 대한 질의에 대해 설정된 값을 무조건 응답한다. DNS에 저장된 레코드와 매핑된 서비스가 모두 정상일 때는 문제가 없지만 특성 서버에 문제가 있을 때 DNS 서버는 감지하지 못해 사용자의 모데인 질의 요청에 비정상 상태인 서비스 IP 주소를 응답한 경우 사용자는 해당 서비스에 접근할 수 없다다. 

 

GSLB는 DNS의 이런 문제점 해결을 해결해 도메인을 이용한 로드밸런싱 구현을 도와준다. 

GSLB는 DNS와 동일하게 도메인 질의에 응답해주는 역할과 동시에 로드 밸런서처럼 등록된 도메인에 연결된 서비스가 정상적인지 헬스 체크를 수행한다. 정상인 레코드에 대해서만 사용하고 이러한 이유로 GSLB를 인텔리전스 DNS라고도 부른다. 

GSLB 동작 방식 

  1. 사용자가 web.zigispace.net에 접속하기 위해 DNS에 질의한다. 
  2. LDNS는 web.zigispace.net을 관리하는 NS 서버를 찾기 위해 root 부터 순차 질의
  3. zigispace.net을 관리하는 NS 서버로 web.zigispace.net에 대해 질의
  4. DNS 서버는 GSLB로 web.zigispace.net에 대해 위임했으므로 GSLB 서버가 NS 서버라고 LDNS에 응답
  5. LDNS는 다시 GSLB로 web.zigispace.net에 대해 질의 
  6. GSLB는 web.zigispace.net에 대한 IP 주솟값 중 현재 설정된 분산 방식에 따라 서울 또는 부산 데이터 센터의 IP 주솟값을 DNS에 응답. 여기선 서울로 가정
  7. GSLB에서 결괏값을 응답받은 LDNS는 사용자에게 web.zigispace.net이 1.1.1.1로 서비스하고 있다고 최종응답

일반 DNS와의 큰 차이점은 GSLB는 헬스체크를 한다는 점과 사전에 지정한 다양한 분산 방법을 이용한다는 것이다. (일반 DNS는 두 개 이상의 항목이 있을 때 단순히 라운드 로빈 방식으로 응답한다)

GSLB 구성 방식 

 
 

GSLB를 사용한 도메인 설정 방법은 두 가지가 존재

  • 도메인 자체를 GSLB로 사용
  • 도메인 내의 특정 레코드만 GSLB를 사용