CDN, GSLB, CNAME 정리
CNAME, CDN, GSLB의 관계를 순서대로 명확하게 설명해 드리겠습니다.
CNAME (Canonical Name) 레코드란?
DNS에는 여러 종류의 레코드가 있습니다. 가장 흔한 'A 레코드'는 도메인 이름을 IP 주소로 직접 연결합니다.
example.com IN A 93.184.216.34
반면 CNAME 레코드는 도메인 이름을 IP 주소가 아닌 다른 도메인 이름으로 연결하는, 일종의 '별칭(Alias)'입니다.
www.example.com IN CNAME example.com
동작 방식:
사용자가 www.example.com에 접속을 시도합니다.
DNS 서버는 www.example.com이 example.com의 별칭임을 확인하고 알려줍니다.
사용자의 컴퓨터는 다시 example.com의 IP 주소를 DNS 서버에 물어봅니다.
DNS 서버는 example.com의 A 레코드에 있는 IP 주소 93.184.216.34를 알려줍니다.
사용자는 이 IP 주소로 접속합니다.
왜 사용할까요? CNAME은 특히 CDN이나 클라우드 서비스처럼 IP 주소가 자주 바뀌거나, 서비스 제공자가 지정한 특정 도메인으로 연결해야 할 때 매우 유용합니다. 이것이 바로 CDN의 핵심 연결고리가 됩니다.
CDN (Content Delivery Network, 콘텐츠 전송 네트워크)
CDN은 사용자와 지리적으로 가까운 곳에 위치한 캐시 서버(Edge Server)에 웹사이트의 콘텐츠(이미지, 동영상, CSS, JS 파일 등)를 미리 복사해두고, 사용자가 요청할 때 가장 가까운 서버에서 콘텐츠를 전송하는 기술입니다.
동작 원리 (CNAME과 함께):
웹사이트 관리자는 CDN 서비스를 신청하고, images.my-site.com 같은 도메인을 CDN용으로 할당합니다.
CDN 업체는 abcdefg.cdn-provider.com과 같은 자신들의 서비스 도메인을 제공합니다.
관리자는 자신의 DNS 설정에서 images.my-site.com을 CNAME으로 설정하여 abcdefg.cdn-provider.com을 가리키도록 합니다.
images.my-site.com IN CNAME abcdefg.cdn-provider.com
(핵심) 사용자가 images.my-site.com의 이미지에 접근하면, 이 요청은 CDN 업체의 지능적인 DNS 서버로 전달됩니다.
CDN의 DNS 서버는 사용자의 IP 주소를 분석해 가장 가까운 위치의 캐시 서버(Edge Server) IP 주소를 알려줍니다.
사용자는 서울에 있다면 일본이나 홍콩의 캐시 서버로, 미국에 있다면 캘리포니아의 캐시 서버로 접속하여 매우 빠른 속도로 콘텐츠를 내려받습니다.
결과적으로 사용자는 물리적 거리가 가까운 서버와 통신하므로 지연 시간(Latency)이 크게 줄어들고, 원본 서버(Origin Server)의 부하도 감소합니다.
GSLB (Global Server Load Balancing)
GSLB는 여기서 한 단계 더 나아간 개념입니다. CDN이 주로 정적 콘텐츠(이미지 등)를 캐싱하여 빠르게 전달하는 데 중점을 둔다면, GSLB는 전 세계에 분산된 여러 데이터 센터(서버 그룹) 자체를 효율적으로 연결하는 기술입니다.
말씀하신 "단순 라운드 로빈이 아닌 가장 효율적인 서버"를 찾아주는 것이 바로 GSLB의 역할입니다. GSLB는 CDN의 지능적인 DNS와 유사하지만, 훨씬 더 복합적인 기준으로 최적의 서버를 결정합니다.
GSLB의 판단 기준:
지리적 근접성 (Latency): 사용자와 가장 가까운 데이터 센터로 연결하여 응답 시간을 최소화합니다.
서버 부하 (Load): 각 데이터 센터의 CPU, 메모리, 네트워크 사용량을 실시간으로 체크하여 부하가 적은 곳으로 트래픽을 보냅니다.
서버 상태 (Health Check): 특정 데이터 센터에 장애가 발생하면 이를 감지하고, 자동으로 정상 운영 중인 다른 데이터 센터로 트래픽을 전환합니다. (Failover)
요청 수 (Number of Connections): 서버에 연결된 세션 수를 기준으로 트래픽을 분산합니다.
종합: CNAME, CDN, GSLB의 협력 관계
이 세 가지 기술은 함께 작동하여 최상의 사용자 경험을 제공합니다.
사용자가 www.my-global-service.com에 접속을 시도합니다.
DNS 조회 결과, www.my-global-service.com은 GSLB 서비스 도메인(my-service.gslb-provider.net)을 가리키는 CNAME 레코드일 수 있습니다.
GSLB는 사용자의 위치, 각 데이터 센터의 부하와 상태를 종합적으로 판단하여 최적의 데이터 센터 IP 주소(예: 도쿄 데이터 센터)를 알려줍니다.
사용자는 가장 빠르고 안정적인 도쿄 데이터 센터에 접속하여 동적인 서비스(로그인, 결제 등)를 처리합니다.
이때 웹페이지에 포함된 이미지나 동영상 같은 정적 콘텐츠(static.my-global-service.com)는 CDN을 통해 사용자에게 가장 가까운 캐시 서버에서 가져옵니다.
결론적으로, 사용자의 요청은 GSLB에 의해 가장 효율적인 메인 서버로 전달되고, 그 서버가 제공하는 콘텐츠는 다시 CDN을 통해 가장 빠른 경로로 사용자에게 도달하는, 다단계에 걸친 최적화가 이루어지는 것입니다.
Last updated