Назад | Перейти на главную страницу

В чем разница между Anycast и GeoDNS / GeoIP wrt HA?

На основе описания в Википедии Anycast, он включает в себя как распространение сопоставления доменного имени со многими IP-адресами по многим DNS-серверам, так и ответ клиентам с наиболее географически близким (или самым быстрым) сервером.

В контексте глобально распределенного высокодоступного сайта, такого как google.com (или любой службы CDN с множеством глобальных периферийных местоположений), это звучит как две ключевые функции, которые могут понадобиться.

DNS-сервисы, такие как Amazon Route53, EasyDNS и DNSMadeEasy, рекламируют себя как сети с поддержкой Anycast.

Поэтому я предполагаю, что каждая из этих служб DNS прозрачно предлагает мне эти две функции-убийцы: сопоставление нескольких IP-адресов и маршрутизации клиентов к ближайшему узлу.

тем не мение, каждая из этих служб, похоже, разделяет эти две функции, ссылаясь на вторую (маршрутизацию клиентов к ближайшему узлу) как «GeoDNS», «GeoIP» или «Global Traffic Director» и взимая дополнительную плату за услугу.

Если основной клиент системы с поддержкой Anycast уже должен это сделать, почему эта функция выделена как дополнительная функция? Что это за функция «GeoDNS», чего не может делать стандартная служба Anycast DNS (согласно определению Anycast из Википедии - я понимаю, что рекламируется, но не понимаю, почему это уже не подразумевается).

Я сильно сбиваюсь с толку, когда DNS-сервис, такой как Route53, который не поддерживает эту туманную функцию "GeoDNS", перечисляет такие функции, как:

Быстро. Используя глобальную сеть DNS-серверов по всему миру, Route 53 автоматически направляет ваших пользователей в оптимальное место в зависимости от условий сети. В результате сервис предлагает низкую задержку запросов для ваших конечных пользователей, а также низкую задержку обновления для ваших нужд управления записями DNS.

... что звучит в точности так, как предназначено для GeoDNS, но географическое направление клиентов - это то, что они явно не поддерживаю это пока.

В конечном итоге я ищу две следующие функции от поставщика DNS:

  1. Сопоставьте несколько IP-адресов с одним доменным именем (например, google.com, amazon.com и т. Д.)
  2. Используйте службу DNS, которая будет отвечать на запросы клиентов для этого домена с IP-адресом сервера, ближайшего к запрашиваемому.

Как уже упоминалось, похоже, что все это часть службы DNS Anycast (все из которых эти службы), но функции и маркетинг, которые я вижу в них, говорят об обратном, что заставляет меня думать, что мне нужно узнать немного больше о том, как DNS работает до выбора развертывания.

Заранее благодарим за любые разъяснения.

Ключевым преимуществом GeoDNS является то, что он разрешает одно и то же имя в разные IP-адреса на основе IP-адреса запрашивающей стороны.

Anycasted DNS-сервер вернет тот же IP-адрес независимо от того, кто спрашивает.

Оба работают на разных сетевых уровнях. Anycast находится ниже GeoDNS, поскольку не имеет никакого представления о местонахождении IP-адреса запрашивающей стороны, а только о его месте на сетевой диаграмме. То, что может быть близко к DNS-серверу, может не быть близко к запрашиваемому ресурсу, и Anycasted DNS-сервер не может это сказать.

GeoDNS использует карту местоположений ресурсов и выполняет логику для определения, какой из этих ресурсов наиболее близок к заданному запрашивающему IP-адресу, а затем возвращает этот IP-адрес.

Если вы не размещаете свои DNS-серверы вместе с сетевыми ресурсами, то, что находится рядом с DNS-сервером, не всегда будет близко к ресурсу, поэтому использование Anycast в качестве метода определения местоположения данных менее эффективно, чем прямое использование GeoDNS.

Аспект BGP anycast позволяет клиентам отправлять запрос на заданный DNS-сервер и получать этот запрос, отправленный ближайшему экземпляру DNS-сервера с помощью таблицы маршрутизации BGP, надеясь получить быстрый ответ.

Тем не менее, обычный старый DNS-сервер, который географически распределен и подключен к любому типу, не имеет возможности реагировать на запросы по-разному в зависимости от местоположения запрашивающего клиента - это дополнительная функция, которую сервисы «Geo-DNS» предоставляют за дополнительную плату, позволяя вам отправлять клиентов в экземпляр сервиса, который находится рядом с ними.

Причина существования этой функции заключается в том, что BGP anycast отлично работает для чего-то без сохранения состояния, такого как DNS, где он быстрый и грязный и не требует постоянного подключения или сеанса, но для чего-то вроде веб-сервера вы хотите прикрепить экземпляры по всему миру и убедитесь, что данный клиент будет придерживаться определенного экземпляра - изменения маршрутизации в промежуточном соединении глобальной таблицы BGP нарушат TCP-соединения, нарушат сеансы веб-приложений и, как правило, вызовут хаос; По этой причине anycast обычно не используется для веб-серверов.

Лучше всего предоставить пользователю в графстве X IP-адрес для экземпляра в стране X через DNS, за что вы тратите деньги с помощью службы Geo-DNS.

Традиционно у вас будет несколько DNS-серверов. Клиент выберет один случайным образом и запросит IP-адрес вашего веб-сервера. Это хорошо, если DNS-сервер находится близко к клиенту, но плохо, если, как это часто бывает, DNS-сервер находится далеко от клиента. В любом случае клиент получит в качестве ответа тот же IP-адрес.

Anycast позволяет нескольким серверам отвечать на один и тот же IP-адрес. С Anycast DNS, когда клиент пытается поговорить с вашим сервером имен, отвечает ближайший / самый быстрый сервер имен. Это означает, что клиент всегда получает быстрый ответ на свой DNS-запрос. Однако он все равно всегда получит тем же ответ на его DNS-запрос - IP вашего сервера. Если ваш сервер находится далеко от клиента, работа с ним может быть не оптимальной.

GeoDNS позволяет DNS-серверу отвечать другим IP-адресом в зависимости от того, где находится клиент. (Очевидно, это требует наличия нескольких географически распределенных серверов.) GeoDNS не подразумевает anycast, хотя обычно вы развертываете оба, так что в конечном итоге клиент получает ответ на свой DNS-запрос от географически близкого DNS-сервера, который затем отвечает IP-адрес географически ближайшего веб-сервера.