250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

웹 브라우저에 [ www.naver.com ] 을 입력하면 어떤 이벤트들이 발생하는지 쉽게 알아보자!! 2편 CDN, GSLB 내용 본문

[Snow-ball]프로그래밍(컴퓨터)/네트워크

웹 브라우저에 [ www.naver.com ] 을 입력하면 어떤 이벤트들이 발생하는지 쉽게 알아보자!! 2편 CDN, GSLB 내용

Snow-ball 2023. 5. 4. 12:04
반응형

이 글을 읽기전에 " 웹 브라우저에 [ www.naver.com ] 을 입력하면 어떤 이벤트들이 발생하는지 쉽게 알아보자!! " 를 읽고 오면 좋다.

 

네이버나 다음 같은 홈페이지들의 도메인의 DNS를 검색해봤는가??

window의 cdm, mac terminal 에서 nslookup www.naver.com  을 쳐본다면 재밌는걸 알 수 있게 된다.

 

nslookup을 검색할 때 마다 다른 주소가 나오는것을 확인해 볼 수 있다.

좌: window cmd                                                                                                                   우 : mac terminal

 

 

그렇다면 저 주소(Address)들을 검색해보면 어떤 결과들이 보여질까?

웹사이트 후이즈[https://whois.nic.or.kr/]로 들어가서 검색해보면 알 수 있다.

 

 

검색해본 223.130.195.95 의 결과이다. 하지만, 위의 어떤 주소들을 검색해도 똑같은 결과물을 출력할 것이다.

왜 이런 현상이 발생하는 것일까? 그 이유는 네이버를 비롯한 네이버급 이상의 회사들은 다국적 기업의 경우가 많다. 즉, 본서버와 클라이언트(유저)가 멀리있다면 속도가 느려질 것이고, 서버 한대에 의존하다보면 서버 한개가 먹통이 될 시에 서비스 자체가 먹통이 될 것이기 때문에 위험 분산의 요소로도 사용하는 것이다.

 

그리고 위의 한계들을 매꾸기위해 네이버 급 이상의 기업들은 CDN 또는 GSLB의 기술을 사용하게 되었고, 그렇기 때문에 주소가 달라지는것이다. 

 

그래서 테스트를 진행해보면 알겠지만, 나와 같은 위치에서 같은 시간에 쿼리를 날리더라도 다른 주소를 받는 경우도 생긴다.

이제까지는 간결한 설명이였고, 그렇다면 밑에서는 CDN과 GSLB가 궁금하다면 읽어보자

 

 

 


 

 

 

CDN 이란?

CDN은 Content Delivery Network 의 약어로서 지리적으로 분산되어 있어서 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술이다.

 

CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화한다. CDN은 각 지역에 캐시 서버(PoP, Points of presence)를 분산 배치해서 파일 복사본들을 임시로 저장하는 프로세스인 캐싱을 한다.

 

웹 콘텐츠를 원본 서버가 아닌 캐시 서버에서 가까운 사용자에게 전송함으로써 전송 속도를 높이는 것이다.. 따라서 사용자는 가까운 서버를 통해 웹 활성화 디바이스 또는 브라우저에서 인터넷 콘텐츠에서 빠르게 접속할 수 있다. CDN은 웹 페이지, 이미지, 비디오 등의 콘텐츠를 사용자의 물리적 위치와 가까운 프록시 서버에 캐싱한다. 전세계적으로 서버를 운용하는 회사들의 경우 서버들이 전세계 적으로 퍼져 있기 때문에 전세계 사람들은 지연 시간 감소로 인해 컨텐츠의 빠른 응답과 다운로드 시간을 제공함으로써 사용자에게 더 가까운 전략적 이점을 제공한다.

 

CDN은 ATM과 생각해도 좋다. 여러 곳에 ATM을 설치해 놓으면 사용자가 빠르고 효율적으로 현금을 찾을 수 있다. 굳이 은행에 가서 기다릴 필요없이 ATM에서 현금을 찾으면 빠르게 찾는것과 같다는 것이다.

 

 

 

 


 

 

 

GSLB 란?

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

 

GLSB는 글로벌 특정 지역에 트래픽이 증가할 경우에 DNS 기반으로 인접 지역으로 네트워크 트래픽을 자동 분산한다. 특정 서버에 장애가 발생할 경우에는 네트워크 트래픽을 정상 리소스로 로드 밸런싱함으로써 서비스가 안정적으로 지속될 수 있도록 한다.

 

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

 

GSLB는 IP 주소와 PORT를 기반으로 트래픽을 분산시키는 로드밸런서와는 다른 형태로 동작한다. GSLB는 전통적인 DNS 서비스가 발전 된 형태로, 기존의 DNS가 back-end 서버의 상관 없이 요청에 대한 IP 값을 제공하는 반면 서버의 상태정보를 확인한 후에 IP를 제공한다.

 

이러한 장점을 통해 지역별 트래픽 기반의 부하 분산, DR(Disaster Recovery)구축, 클라우드 서비스를 기존 고객 보유 시스템의 백업센터로 이용하는 등 다양한 응용구성이 가능하다.

 

 

 

GSLB의 4가지 특징 및 설명

1) 안정적인 서비스 제공

- 연결된 리소스의 정상 작동 여부를 확인 (Health Check)하여 특정 서버에 장애가 발생하면 해당 리소스를 즉시 Fail over 처리하여 도메인 응답에서 제거함으로써 트래픽이 다른 리소스로 우회하여 안정적인 서비스를 제공한다.

2) 편리한 호스팅 환경 관리

- 인터넷을 통해 외부에서 접근이 가능한 Public GSLB를 활용하여 타입에 맞는 리소스를 간편하게 추가할 수 있다.

3) 서비스 포트 간편 설정

- 웹 기반 콘솔을 통해 편리하게 GSLB를 생성하고 서비스 포트를 설정/관리할 수 있다. L4단위 로드 밸런싱의 경우 다중포트 설정이 가능하며 (80, 443, 8080-8090등), 여러 개의 로드 밸런싱 규칙을 동시에 적용하여 관리 할 수 있다.

4) 효율적인 비용 관리

- 구성된 도메인의 개수와 추가된 Health Check 리소스 개수, 그리고 쿼리 수에 따라 요금이 결정되도록 세분화 된 과금 방식을 적용하였기 때문에 효율적인 비용 관리가 가능하다.

 

 

 

 

 

 

KT의 GSLB 동작 원리

1. 클라이언트 도메인(www.abc.com)을 입력하면 LocalDNS는 상위 DNS로 DNS 질의를 요청한다. DNS 질의를 전달받은 Root DNS, .comDNS는 해당 질의를 'abc.com' DNS 서버로 전달한다. abc.com DNS 서버는 사전에 등록 된 www에 대한 CNAME 정보가 GSLB로 지정 되어 있기 때문에 DNS 질의는 최종적으로 GSLB에 전달된다

 

2. GSLB(abc.g.ucloudbiz)에서는 요청 받은 DNS질의에 대해 그림과 같이 1.1.1.1[Active]와 2.2.2.2[Backup] 서버 리스트를 가지고 있다.

 

3. GSLB는 [Active]로 지정 된 1.1.1.1 IP주소를 반환해주며, [Active] 서버가 비 정상일 경우에 Backup 서버 주소인 2.2.2.2를 반환한다.

 

4. Local DNS는 반환 받은 IP 주소를 클라이언트에 알려준다.

 

5. 클라이언트는 최종적으로 반환 받은 IP 주소로 접속하여 서비스를 제공 받는다.

 

 

 

 

 

 

 

reference

* GSLB 상품개요, KT Cloud

* [클라우드 이해] CDN이란?, gabia

* GSLB(Global Server Load Balancing, 글로벌 서버 로드 밸런싱), SAMSUNG SDS

 

 

반응형
Comments