GSLB 그리고 DNS 개념과 차이점은?
DNS (Domain Name System)
인터넷에서 도메인 이름과 IP 주소 간의 변환을 수행하는 시스템.
예로 www.example.com을 컴퓨터가 이해하는 IP주소(192.168.x.x)로 변환하거나, 그 반대로 IP 주소를 도메인 이름으로 변환하는 역할을 한다. DNS는 웹 브라우징, 이메일, 파일 전송 등의 인터넷 서비스에서 필수적인 역할을 한다.
하나의 도메인 주소에 대하여 여러 개의 IP 주소를 넘겨줄 수 있는데, 이 기능을 이용해서 가용성 구성과 로드 밸런싱 기능을 수행하기도 한다. DNS가 고가용성과 로드밸런싱 역할을 할 순 있긴 하겠지만 근복적으로는 한계가 있다.
DNS IP반환 방식
- 라운드 로빈(Round Robin) : 여러 개의 IP 주소 중에서 번갈아가며 IP 주소를 반환하는 방식이며,
서버의 상태나 부하를 고려하지 않는다. (즉, 정교한 로드밸런싱이 불가능)
GSLB (Global Server Load Balancing)
여러 지리적 위치에 분산되어 있는 서버들 간에 트래픽을 효율적으로 분산시키는 메커니즘.
GSLB는 트래픽 로드 밸런싱과 더불어 지역적으로 가장 가까운 서버로 유저 요청을 전송하는 등의 기능을 수행한다.
주로 여러 데이터 센터 또는 지역 간에 트래픽을 분산하고, 서비스의 가용성과 성능을 향상하기 위해 사용된다.
GSLB IP반환 방식
- 지연(latency) 기반 방식 : 사용자의 지역 정보를 고려하여 가장 가까운 지역의 서버 IP 주소를 반환하는 방식.
이는 지연시간을 최소화하고 성능을 향상하는데 도움이 된다. - 지능적 DNS 방식 : GSLB 장비가 부하, 지연시간, 서버 상태 등을 고려하여 최적의 서버 IP 주소를 반환하는 방식
그래서 정확하게 차이점은?
DNS는 서버의 상태를 고려하지 않고, GSLB는 서버의 상태를 고려한다.
즉, '헬스체크(Health Check) 유무'이다.
헬스체크 (Health Check)
시스템이나 서비스의 상태를 주기적으로 확인하여 정상 동작 여부를 확인하는 프로세스 또는 기술
등록된 호스트들에 대해서 주기적으로 Health Check 요청을 보내기 때문에, Health Check가 실패한 서버는 DNS 응답에서 해당 서버를 제외한다. 제외된 서버는 사전에 장애 방지가 가능하고, 사용자로 하여금 서비스 실패 확률을 낮춰준다.
GSLB 주요 작동 방식
- 사용자가 도메인 이름을 통해 서버에 접속하려고 시도
- 사용자의 요청이 DNS 서버에 도달하면, GSLB 장비는 사용자의 위치나 요청을 분석하여 가장 적합한 서버의
IP 주소를 DNS 응답으로 반환 - 사용자의 웹 브라우저나 애플리케이션은 반환된 IP 주소로 서버에 연결
- GSLB 장비는 계속해서 서버의 상태를 모니터링하고 필요에 따라 DNS 응답을 업데이트하여 부하 분산을 유지하거나 장애 대응을 한다
GSLB는 L4/L7의 스위치가 필요하기 때문에, 비용이 발생한다. 또한 이후 L4/L7의 관리 역시 필요하기 때문에,
전문 네트워크 관리자가 필요하다.