CDN처럼 지역 DNS를 수행하는 방법은 무엇입니까?


15

이 질문이 제기 될 수 있다고 생각합니다 .DNS 수준에서 CDN의 작업은 어떻습니까?하지만 실제로 문제는 회사에 세 대륙에 데이터 센터가 있으며 europe.example.com us.example.com 및 asia.example이 있어야한다는 것입니다. .com

CDN은 일반적으로 IP 주소에 따라 로컬 데이터 센터로 전송합니다. 이것은 미국의 DNS 서버가 동일한 example.com DNS 조회를 위해 미국 데이터 센터로 사용자를 보내는 DNS 일입니까?

내가 잘못? 내가 이것에 대해 잘못하면, 중앙 (비 DNS) 서버없이 어떻게 그리고 가능하면 어떻게해야합니까?


답변:


12

CDN의 문제점은 사용자가 자신의 IP 주소를 기반으로 지시하지 않고 DNS 서버의 IP 주소를 기반으로 지시한다는 것입니다. 완전히 잘못되었을 수 있습니다. 그리고 Paul Vixie의 ACM 기사를 읽으십시오 .

어쨌든 이미 region.example.com설정되어 실행 중이 면 클라이언트의 IP 주소를 기반으로 관련 웹 서버 에서 HTTP 리디렉션을 고려할 example.com 있습니다.

즉 거의 구글이하는 일, 내가에 결국 방법은 있어요 google.co.uk에 입력 한 google.com.

또한 고객이 다른 변형에 접근 할 수있는 수단을 제공해야합니다. 고객은 지역 데이터베이스의 실수로 인해 또는 단순히 다른 지역의 사이트를 실제로 볼 필요가 있기 때문에 특정 사이트로 강제 이동하면 마음에 들지 않습니다.


5

최신 CDN (Cloudflare, MaxCDN, fast.ly)은 DNS와 실제 컨텐츠 서버 모두에 애니 캐스트를 사용합니다. 이것은 DNS 쿼리의 소스 IP와 끊임없이 변화하는 매핑 데이터베이스를 사용하는 것보다 다소 낫습니다.

이론적으로 DNS와 컨텐트 서버 모두에 애니 캐스트를 사용하면 네트워크 자체가 클라이언트와 "가장 가까운"서버를 찾을 수 있습니다. 실제로 이것은 대부분 사실이지만, ISP들 사이에서 끊임없이 변화하는 피어링 관계로 인해 싱가포르 사람들이 홍콩 대신 캘리포니아의 에지 서버를 공격하는 이상한 사례가 발생합니다.

애니 캐스트는 잘하기 어렵다 .

Akamai 및 Limelight와 같은 이전 CDN은 일반적으로 애니 캐스트를 사용하여 가장 가까운 DNS 서버로 연결하지만 추측 기반 소스 IP 방식을 사용합니다. 특히 클라이언트가 네트워크 토폴로지 측면에서 실제로 인접하지 않은 DNS 서버를 사용하는 경우에는이 기능이 제대로 작동하지 않습니다. 그러나 Akamai와 같은 거대한 CDN에는 수백 개의 컨텐츠 서버 위치가 있으므로 "충분히 근접한"답변을 반환하면 적절한 사용자 경험을 얻을 수 있습니다. 분명히 수백 개의 사이트를 보유하는 것은 매우 비싸기 때문에 모든 애니 캐스트 CDN 중 어느 것도 그 경로를 선택하지 않은 이유입니다. 결과적으로 그들은 대부분 동등한 서비스에 대해 많은 비용을 청구하지 않습니다.


1

이를 처리하는 방법에는 여러 가지가 있지만 모두 IP 주소의 위치를 ​​파악하고 적절하게 지적합니다. 예를 들어, 북미 및 유럽에 대해 IP 범위를 지정할 수 있습니다. 정보를 요청하는 IP (DNS, 웹 서버, 컨텐츠 서버 등)가 유럽 범위에 속하면 유럽 서버가 요청을 받아야합니다.


벤, 무슨 말이야? 미국에 DNS 서버가 있고 영국에 하나의 DNS 서버가 있다는 것을 의미합니까? DNS에 대해 생각할 때 단순히 A 레코드를 설정하면 완료됩니다. 이 DNS 서버를 지역별로 어떻게 지정할 수 있습니까?
스튜어트 로빈슨

나는 그가 말하는 것이 bind의 견해와 같은 것이라고 믿습니다. 클라이언트의 IP 주소를 기준으로 일치하는 DNS 내에 다른보기를 설정할 수 있으며 이는 대략 지역에 속하는 것으로 식별 될 수 있습니다. 요청을 API로 파이프하고 위치를 가져올 수있는 많은 서비스가 있습니다. 간단히 살펴보면 비용이 저렴하거나 저렴한 옵션으로 hostip.info/dl/index.html 을 시도 할 수 있습니다 .
Greeblesnort

방금 내 저녁 브라우징 에서이 문제가 발생했습니다 : blogs.techrepublic.com.com/networking/…
Greeblesnort 2009

@Stewart-아니요, 지역 당 하나의 DNS 서버를 실행하지 않습니다. 글쎄, 당신은 할 수 있지만, DNS 시스템 자체가 위치-블라인드이기 때문에 그것은 중복을위한 것입니다. @greeblesnort의 대답은 그의 이름만큼이나 좋습니다. :-)
Ben Doom

0

example.com에서 기본 메인 페이지를 설정할 수 있습니다. 누군가가 처음 방문 할 때 자신이 가고 싶은 지역을 선택합니다. www.ups.com과 같은 방식입니다.

사용자는 확인란을 선택하여 해당 시점부터 기본 선택을함으로써 쿠키에 선택을 저장할 수 있습니다.

이를 통해 Paul Vixie에 따라 설계된 방식으로 DNS를 사용하는 이점을 누리면서 사용자가 데이터 센터를 지시 할 가장 정확한 결정을 내릴 수 있습니다.


0

여러 지역에서 호스팅되는 웹 사이트가있는 경우 DNS 수준에서 아무것도 할 필요가 없습니다. http://ipinfo.io 와 같은 API를 사용 하여 방문자의 국가를 가져온 다음 적절한 URL로 리디렉션 할 수 있습니다.

웹 사이트 또는 리디렉션을 처리하는 프로토콜에 대해 이야기하지 않는 경우 DNS 수준에는 몇 가지 옵션이 있습니다. 동일한 IP 국가 조회를 수행 한 다음 해당 지역과 일치하는 레코드 (위치 기반 DNS)를 반환하거나 다른 네트워크 간의 대기 시간 맵을 가질 수 있고 사용자에 대한 가장 낮은 대기 시간을 나타내는 레코드를 반환 할 수 있습니다 (대기 시간) 기반 DNS). 아마존의 Route53 DNS 서비스 는 두 가지를 모두 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.