AWS

GSLB란?

쑨토리 2023. 9. 20. 00:53

GSLB ( Global Server Load Balancing ) 의 약어로 이용 목적은 이름과 달리 일반적인 로드벨런싱과 다소 차이가 있다.

GSLB는 전통적인 DNS 와 같이 동작하며 추가적으로 Health Check 와 active / backup 을 지정 가능하게 하여 재해 복구 (DR), 지역적인 부하분산, 응답 시간 중심의 서비스를 제공 가능하게 설정할 수 있다. 

 

GSLB를 알아보기 전에 DNS 와 DDNS에 대해서 알아보자.

그 이유는 GSLB는 DNS 기반의 로드벨런싱 서비스이기 때문이다. 

 

DNS란?

  • Domain Name System 의 약자로 분산 네이밍 시스템이다. 
  • DNS는 도메인 주소와 IP 를 매핑하여 도메인으로 요청이 들어왔을 때 타켓의 주소로 변환해주는 서비스이다. 
  • 인터넷에 존재하는 수많은 네임서버는 각각 도메인 계층 상의 일부분을 관리하고, 정보를 요구하는 클라이언트이다.

 

DNS에 대해 잘 설명하고 있는 영상이 있어서 첨부해본다. 

https://www.youtube.com/watch?v=2ZUxoi7YNgs&t=135s 

 

DDNS란?

  • Dynamic DNS으로 실시간으로 DNS를 갱신하며 동적 DNS라고도 불린다. 
  • DDNS를 사용한다면 IP 주소가 변경되더라도 DNS에 IP를 바뀐 주소로 갱신해주어 IP 가 변경되더라도 문제없이 사용이 가능하다.

GSLB 는 이름만 보면 로드벨런싱의 형태라고 생각할 수 있지만, 이름과는 달리 DNS 서비스의 발전된 형태이다. 

( 물론 LB의 역할을 하기는 하지만 근본적으로는 DNS 형태라고 보는게 맞는 것 같다. )

 

하나의 도메인 주소에 대해서 여러개의 IP 주소를 넘겨줄 수 있는데, 이 기능을 이용해서 가용성 있는 구성과 로드벨런싱 기능을 수행하기도 한다. DNS 뒤에 여러개의 IP 를 붙여서 고가용성과 로드벨런싱 역할을 할 수 있기는 하겠지만 근본적으로 한계가 있다. 

그 이유는 DNS의 로드벨런싱은 IP 목록 중 하나를 반환할 뿐 네트워크 지연이나 성능에 따른 로드 벨런싱, 서비스 실패에 대한 헬스체크 등은 전혀 고려하지 않는다. 이러한 문제를 해결하기 위해서 나온 것이 바로 GSLB

 

GSLB

  • GSLB는 DNS를 동적으로 만들고 IP 주소와 관련된 응용 프로그램 및 컨텐츠 상태와 특성을 이해하도록 설계되었다.
  • SLB가 실제 서버의 상태 점검과 모니터링을 수행하는 것과 마찬가지로 GSLB 시스템은 IP 주소 뒤에 있는 응용 프로그램과 컨텐츠의 가용성을 모니터링 할 수 있다. 
  • GSLB 가 Health Check 에 실패한 경우 해당 IP 주소가 DNS 응답 풀에서 제외된다. 
  • GSLB 는 지역별로 서버에 대한 Latency 정보를 가지고 있어서 사용자가 접근했을 때 사용자의 지역으로부터 Latency가 낮은 서버로 연결하게 된다. 
  • 장애 없이 정상적인 경우 지리적으로 가까울수록 Latency 값이 낮다. (= 가까운 곳으로 보내줌)
  • 서버의 상태 체크를 하지 못하는 DNS와는 달리 장애가 발생하거나 부하가 발생할 시 서버의 트래픽을 분석하고 근접한 정상 서버로 분산을 할 수 있다.

 

GSLB 이해하기.

  • GSLB는 IP 주소와 PORT를 기반으로 트래픽을 분산시키는 로드벨런서와는 다른 형태로 동작한다. 
  • GSLB는 전통적인 DNS 서비스가 발전된 형태로, 기존의 DNS가 Back-end 서버의 상태와 상관없이 요청에 대한 IP 값을 제공하는 반면 서버의 상태 정보를 확인한 후에 IP를 제공한다.
  • 이러한 장점을 통해 지역별 트래픽 기반의 부하 분산, DR(Disaster Recovery) 구축, 클라우드 서비스를 기존 고객 보유 시스템의 백업센터로 이용하는 등 다양한 응용 구성이 가능하다.
  • 주요기능
    • Health Check : 등록된 호스트들에 대해서 주기적으로 Health Check 요청을 보내기 때문에, Health Check 가 실패한 서버는 DNS 응답에서 해당 서버를 제외한다. 실패한 서버에 대한 접근을 사전 차단하기 떄문에 사전에 장애 방지가 가능하고, 사용자로 하여금 서비스 실패 확률을 낮춰준다. 
    • 네트워크 거리와 지역의 거리 : 주기적으로 성능을 측정하고 저장하는 기능이 있기 때문에 DNS 요청이 오면 지리적으로 가까운 서버를 반환하거나 네트워크 거리가 가까운 서버를 반환한다. 지리적으로 가까운 서버의 경우 RTT (Round Trip Time ) 도 짧기 때문에, 동일한 결과를 반환하는 경우가 많다. 

 


재해복구 (Disaster Recovery) 에 있어서 DNS / GSLB의 차이

 

  • DNS 는 Health Check 가 되지 않아 서버 장애가 발생해도 장애 서버로 연결 요청을 하지만 GSLB 는 주기적인 Health Check를 통해 장애 서버가 체크되면 장애 서버로 연결되지 않도록 도와주고 있다. 
  • DNS가 Round Robin 방식의 로드벨런싱을 사용하고 있었다면, 50%의 사용자들은 장애 서버로 연결되기에 50% 사용자들은 서비스 이용이 불가능하다. 

<DNS> 

서버 상태를 체크하지 못하기 때문에 그냥 보냄. = 장애체크 불가능

 

<GSLB>

GSLB는 서버의 상태를 모니터링 하기 때문에 실패한 서버의 IP는 응답에서 제외해버림. = 장애체크 가능


사이트 부하 분산 ( Site Load Balancing ) 에 있어서 DNS / GSLB 의 차이 

  • DNS는 Round Robin 방식으로 로드벨런싱한다. 즉  정교한 로드벨런싱이 불가능하다.
  • DNS는 Health Check 할 수 없어 서버가 오버로드 상태가 되어도 사용자들은 과부하 서버로 연결을 요청한다. 
  • 반면 GSLB는 SLB의 부하 상태를 주기적으로 체크하여 오버로드 상태의 서버로 연결되지 않도록 도와준다.

<DNS>

 

 

<GSLB>

GSLB는 DNS 보다 정교한 로드벨런싱이 가능하다.


네트워크 근접성 (Network Proximity)에 있어서 DNS / GSLB의 차이 

  • DNS는 클라이언트 서버 사이 Network 구간의 Round Trip Time 을 측정하지 않는다.
  • GSLB는 클라이언트와 서버 사이 Round Trip Time 을 측정하여 클라이언트가 보다 응답이 빠른 서버로 연결되도록 도와준다. 
    (정확히는 Local DNS 서버와 SLB 사이 Round Trip Time(왕복 지연시간 ; RTT) 을 측정한다고 함)

 

<DNS>

DNS 는 Round Robin 방식을 사용하기 떄문에 유저는 자신이 위치한 곳과 아주 먼 곳에 떨어진 서버로 연결이 될 수도 있다. 

 

 

 

<GSLB>

GSLB는 각 지역별로 서버에 대한 Latency (지연시간) 정보를 가지고 있기 때문에 해당 유저로부터 지연시간이 적은 서버의 IP를 반환해준다. 


지리적 근접성 ( Geographic Proximity ) 에 있어서 DNS / GSLB의 Geographic Proximity 의 차이 

 

  • DNS가 Round Robin 방식을 사용하고 있다면 사용자는 지리적 위치를 고려하지 않고 해외 서버에 연결될 수 있는 확률을 가지게 된다.
  • 반면 GSLB는 사용자의 지리적 위치를 고려한다. 그러므로 사용자는 지리적으로 가장 가까운 서버와 접속할 수 있다.

<DNS>

DNS는 Round Robin 방식으로 서버에 연결된다.

 

<GSLB>

GSLB는 유저의 지역정보를 기반해서 가까운 지역의 서버로 연결 하게 한다.


참고 출처 

https://skstp35.tistory.com/294

 

GSLB(Global Server Load Balancing)란?

GSLB(Global Server Load Balancing)에 대해서 알아보자 GSLB 목적/용도 GSLB는 Global Server Load Balancing의 약어로 이용 목적은 이름과 달리 일반적인 로드밸런싱과는 다소 차이가 있다. GSLB는 전통적인 DNS와 같

skstp35.tistory.com

https://manvscloud.com/?p=447 

 

Hello, GSLB(GLOBAL SERVER LOAD BALANCING).

안녕하세요. ManVSCloud 김수현입니다. 오늘은 GSLB가 무엇인지, 어떤 용도로 사용되는지 등 내용을 포스팅 해보려합니다.우선 GSLB를 알아보기 전에 DNS와 DDNS가 무엇인지 정도만 간단하게 짚어보겠

manvscloud.com

https://www.joinc.co.kr/w/man/12/GSLB

 

GSLB - Global server Load Balancing

GSLB - Global server Load Balancing Global server Load Balancing라는 이름 때문에, 로드 밸런스의 발전된 형태로 생각 할 수 있겠다. 이름과는 달리 DNS 서비스의 발전된 형태다. 지능적 DNS 서비스라고 부르기도

www.joinc.co.kr

https://coding-start.tistory.com/339

 

네트워크 - GSLB(Global Server Load Balancing)란?

오늘 살펴볼 내용은 GSLB(Global Server Load Balancing)이다. 간단하게 GSLB가 뭔지, 일반 DNS서비스와 어떠한 점이 다른지 등을 살펴보자 GSLB(Global Server Load Balancing이름만 보면 얼핏 업그레이드된 로드 밸

coding-start.tistory.com