В чем разница между Anycast и GeoDNS / GeoIP относительно HA?
Основанный на описании Anycast в Википедии, он включает в себя как распределение сопоставления доменных имен по многим IP-адресам на многих DNS-серверах, так и ответ клиентам на самых географически близких (или самых быстрых) серверах.
В контексте глобально распределенного, высокодоступного сайта, такого как google.com (или любого сервиса CDN с множеством глобальных периферийных местоположений), это звучит как две ключевые функции, которые могут понадобиться.
Службы DNS, такие как Amazon Route53, EasyDNS и DNSMadeEasy, все рекламируют себя как сети с поддержкой Anycast.
Поэтому я предполагаю, что каждая из этих служб DNS прозрачно предлагает мне эти две убойные функции: сопоставление нескольких IP-адресов в домен И маршрутизация клиентов к ближайшему узлу.
Однако каждая из этих служб, по-видимому, разделяет эти две функции, ссылаясь на 2-ю (маршрутизацию клиентов к ближайшему узлу) как "GeoDNS", "GeoIP" или "Global Traffic Director" и взимает дополнительную плату за услугу.
Если основной клиент системы, поддерживающей Anycast, уже должен это делать, почему эта функциональность выделяется в качестве этой дополнительной функции? Что это за функция "GeoDNS", которая не подходит для стандартной службы Anycast DNS (в соответствии с определением Anycast из Википедии - я понимаю, что рекламируется, но не то, почему это уже не подразумевается).
Я очень растерялся, когда служба DNS, такая как Route53, которая не поддерживает эту туманную функцию "GeoDNS", перечисляет такие функции, как:
Быстрый - Используя глобальную сеть anycast DNS-серверов по всему миру, Route 53 предназначен для автоматической маршрутизации ваших пользователей в оптимальное местоположение в зависимости от условий сети. В результате служба предлагает низкую задержку запросов для ваших конечных пользователей, а также низкую задержку обновления для ваших нужд управления записями DNS.
... это звучит точно так же, как GeoDNS, но географически ориентированные клиенты - это то, что они явно пока не поддерживают.
В конечном итоге я ищу две следующие функции от поставщика DNS:
- Сопоставить несколько IP-адресов одному доменному имени (как это делают google.com, amazon.com и т. Д.)
- Используйте службу DNS, которая будет отвечать на запросы клиентов для этого домена с IP-адресом ближайшего к запрашиваемому серверу сервера.
Как уже упоминалось, кажется, что это все часть службы DNS Anycast (все эти службы есть), но функции и маркетинг, которые я вижу по ним, указывают на обратное, заставляя меня думать, что мне нужно больше узнать о том, как DNS работает до выбора развертывания.
Заранее спасибо за любые разъяснения.
3 ответа
Основное преимущество GeoDNS заключается в том, что он разрешает одно и то же имя в разные IP-адреса на основе IP-адреса запрашивающей стороны.
DNS-сервер Anycasted вернет один и тот же IP-адрес независимо от того, кто запрашивает.
Они работают на разных сетевых уровнях. Anycast находится ниже GeoDNS, так как не имеет никакого значения местоположения IP-адреса запрашивающей стороны, только его место в диаграмме сети. То, что может быть близко к DNS-серверу, может не совпадать с запрашиваемым ресурсом, и Anycasted DNS-сервер не может этого сказать.
GeoDNS использует карту расположения ресурсов и выполняет логику, чтобы определить, какой из этих ресурсов ближе всего к данному запрашивающему IP-адресу, а затем возвращает этот IP-адрес.
Если вы не объединяете свои DNS-серверы с сетевыми ресурсами, то, что близко к DNS-серверу, не всегда будет близко к ресурсу, поэтому использование Anycast в качестве метода локальности данных менее эффективно, чем прямой GeoDNS.
Любой аспект BGP позволяет клиентам отправлять запрос на заданный DNS-сервер и отправлять этот запрос на ближайший экземпляр DNS-сервера с помощью таблицы маршрутизации BGP, надеясь получить быстрый ответ.
Однако обычный старый DNS-сервер, который географически распределен и anycasted, не может по-разному отвечать на запросы в зависимости от местоположения запрашивающего клиента - это дополнительная функция, которую эти службы "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 не подразумевает произвольную рассылку, хотя обычно вы развертываете оба, так что в итоге клиент получает ответ на свой DNS-запрос от расположенного поблизости географического DNS-сервера, который затем отвечает с помощью IP-адрес географически близлежащего веб-сервера.