YUMSERV
article thumbnail
Published 2022. 12. 5. 07:49
GSLB란 LINUX/DNS
반응형

1. GSLB란

Global Server Load Balancing 
일반적으로 dns 서비스는 표준 DNS에 질의를 할 경우, DNS 서버는 로컬 데이터베이스의 IP 목록을 확인해서 그 중 하나를 반환 할 뿐, 네트워크 지연, 성능, 트래픽 유입, 서비스 실패 등은 전혀 고려하지 않는다.

GSLB는 이러한 문제를 해결하기 위해 나온것이며, health check와 active/backup을 지정 가능하게 하여
재해 복구(DR), 지역적인 부하분산, 응답시간 중심의 서비스를 제공 가능하게 할 수 있습니다.

 

2. GSLB와 DNS와의 차이

1) 재해복구

기본적으로 dns는 서버의 상태를 확인할 수 없습니다. 서비스를 실패하는 유저가 생길 수 있습니다.
GSLB는 서버의 상태를 모니터링하며, 실패한 서버는 IP에서 제외시키므로, 유저는 서비스를 계속 이용할 수 있습니다.


2) 로드밸런싱

DNS는 RoundRobin을 사용하므로 정교한 로드밸런싱이 불가능합니다.
GSLB는 서버의 로드를 모니터링하며, 로드가 적은 IP로 바라보게끔 정교하게 로드밸런싱을 할 수있습니다.

 


3) 레이턴시 기반 서비스

DNS는 RoundRobin을 사용하며, 네트워크상에서 멀리떨어진 위치에 서버로 연결할 수도 있습니다.
GSLB는 각 지역별로 서버에 대한 레이턴시 정보를 가지고 있습니다. 유저가 접근을 하게 되면, 유저의 지역으로부터 가까운 (더 적은 레이턴시를 가지고있는)서버로 연결을 합니다.

 


4) 위치기반 서비스

GSLB는 유저의 지역정보를 기반으로, 해당 지역을 서비스하는 서버로 연결할 수 있습니다.

 

GSLB 주요 기술

주요 GSLB 기술로는 Healthcheck, TTL, 네트워크거리 & 지역이 있습니다.


1) Health-check

gslb에 등록된 호스트들에 대해서는 주기적으로 health check를 진행하며, 호스트가 실패할 경우 DNS 응답에서 해당 호스트를 제외시킵니다.

2) TTL

DNS에서 권한을(authoritative) 가진 네임서버는 특정 레코드에 대해서 TTL을 설정할 수 있다. 캐시 네임서버는 TTL시간동안 캐시에 저장해둔다. 클라이언트로 부터 요청이 오면, 캐시에 저장된 걸 반환한다.
만약 TTL 값이 지나치게 길다면, GSLB의 상태정보가 제때 동기화 되지 않을 거다. 반대로 TTL 값이 지나치게 짧으면, 네임서버에 가해지는 부담이 커진다. GSLB와 같이 주소 변경에 민감한 서비스라면 부하를 감수하고라도 TTL 값을 짧게 가져가야 한다.

3) 네트워크 거리 & 지역

주기적으로 성능을 측정하고 그 결과를 저장한다. DNS 질의가 오면, 지리적으로 가까운 서버를 반환하거나 네트워크 거리가 가까운 서버를 반환한다. 지리적으로 가까운 서버의 경우 RTT(Round Trip Time)도 짧기 때문에, 동일한 결과를 반환하는 경우가 많다.

 

 

참고

더보기
반응형

'LINUX > DNS' 카테고리의 다른 글

PDNS 업그레이드  (0) 2019.06.03
DNS 설치 및 설정  (0) 2019.06.01
PDNS 설치 및 설정  (0) 2019.05.29
BIND 1차 2차 동기화  (0) 2019.05.29
profile

YUMSERV

@lena04301

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!