2022-09-21
DNS, GSLB, CDN를 한 번에!
DNS, GSLB, CDN를 한 번에 간략하게 알아보자!
DNS(Domain Name System)
도메인 주소를 IP 주소로 변환해 주는 응용계층에서 동작하는 프로토콜이다.
변환된 IP 주소를 통해 접속하고자 하는 서버에 접속하게 된다.
다시 동일한 주소에 접속했을 때 같은 과정을 반복하지 않게 DNS Cache
에 저장 한다.
DNS Cache
로컬에서 도메인과 IP 주소를 관리하는 파일을 hosts
파일이라 한다.
이곳에 저장해 두면 DNS Cache
에 항상 저장된다.
따라서 동일한 도메인을 요청할 때 DNS 서버에 요청하지 않아도 캐싱되어 있는 주소를 사용할 수 있다.
도메인 위임(DNS Delegation)
자신의 특정 도메인 권한을 다른 곳으로 일부 위임해 세부 레코드를 관리하는 방법이다.
예를 들면 블로그 post 영역의 권한을 GSLB에 넘겨 자체 관리할 수 있게 만들 수 있다.
도메인 위임은 주로 CDN, GSLB를 사용하는데 GSLB 같은 경우 로드 밸런서
기능을 활용해 관리할 수 있다.
따라서 사용자가 요청하는 도메인 주소가 도메인 위임에 의해 관리되고 있다면,
DNS는 클라이언트에 해당 서버(CND, GSLB)에 IP 주소를 반환한다.
DNS 서버 종류
- LDS(Local DNS Server): DNS 캐시 정보 확인 후 매핑되지 않을 때 처음으로 질의하게 되는 DNS 서버다.
기본적으로ISP(Internet Service Provider)
에 해당되는 통신사 DNS 서버가 등록된다.
예로 통신사가 KT면 KT DNS가 된다. - RDS(Root DNS Server): DNS 최상위 서버이며 LDS 서버에서 해당 도메인을 찾을 수 없을 때 요청하는 서버다.
LDS에서 요청한 쿼리를 바탕으로 자신에게 등록되어 있는 하위 레벨 서버의 IP 주소를 응답한다.
동작 원리
- 클라이언트에서 해당 도메인에 접속하기 위해 LDS에 질의
- LDS는 자체 캐싱된 도메인 IP를 확인하고 없다면 RDS에 질의
- RDS는 자신에게 등록되어 있는 하위 레벨 서버 IP를 응답
- LDS는 응답을 받고 해당 하위 레벨 서버에 요청
- 이렇게 재귀적으로 동작하면서 최종적으로 IP를 얻으면 클라이언트에 응답
GSLB(Global Server Load Balancing)
DNS는 설정된 서비스 상태의 정상 여부를 확인하지 않고 무조건 응답한다.
이로인해 비정상 상태인 서비스 IP 주소가 응답될 경우, 사용자는 해당 서비스에 접근하지 못하는 상황이 발생한다.
GSLB는 이런 문제점을 해결하기 위해 해당 도메인에 연결된 서비스가 정상적으로 동작하는지
주기적으로 헬스 체크
를 수행하고 정상 동작하는 레코드만 사용한다.
따라서 사용자는 정상적인 IP 주소로 서비스를 사용할 수 있게 된다.
이 외에도 로드 밸런서 기능을 사용해 비정상 서비스가 회복되면 다시 정상 동작하게 해준다거나,
트래픽 부하를 분산하는 부하 분산
역할도 수행한다.
동작 원리
- DNS 동작 과정을 수행
- 도메인의 IP 주소를 관리하는 GSLB 또는 CDN 서버의 IP 주소를 응답
- LDS는 GSLB 또는 CDN 서버의 IP 주소에 다시 질의
- GSLB 또는 CDN 서버는 설정된 분산 방식에 따라 적절한 서버(예: 웹 서버)의 IP 주소를 선택하여 응답
- LDS는 정상적인 IP를 응답받고 클라이언트에 전달
CDN(Content Delivery Network)
물리적인 거리(지리적)를 줄여 가까운 캐시 서버
에 연결해, 효율적이고 빠른 컨텐츠 제공을 위해 사용하는 기술이다.
예를 들어 네이버가 서울, 부산에 서버를 분산 배치해 두었을 때 서울에서 접속하면,
서울에 서버에 연결되어 컨텐츠를 전송 받고 부산에서 접속하면 부산 서버에 연결되어 제공 받게 된다.
이렇게 CDN을 사용해 실제 원본 서버의 트래픽 감소
에 이점을 얻을 수 있고,
DDos 같은 악의적인 공격에 보안 이점
을 제공한다.
CDN, GSLB 차이
CDN과 GSLB 모두 컨텐츠 전송 효율에 관련된 기술이지만 활용에 차이가 다르다.
GSLB는 로드 밸런서
이기 때문에 서버 간의 트래픽 균형을 위해 사용된다.
트래픽량이 큰 웹 사이트는 CDN과 GSLB를 함께 조합해서 사용하는 경우가 많다.
참조
IT 엔지니어를 위한 네트워크 입문 - 길벗
널널한 개발자 - 웹 브라우저에 URL 입력하면 일어나는 일
Youtube - Global Server Load Balancer
Youtube - 초보를 위한 클라우드 입문 시리즈 콘텐츠 전송 네트워크란?