Если Anycast означает, что я вижу только 1 IP-адрес для доменного имени, распределенного по многим географическим регионам - PullRequest
1 голос
/ 14 апреля 2019

Мне интересно о Anycast .Из диаграммы видно, что вы можете сопоставить один IP-адрес нескольким IP-адресам.Это означает, что вы можете иметь интерфейс с 1 IP-адресом, но затем перенаправить его в географически распределенную область a или область b.

Не зная об IP-адресах, я пытаюсь сделать следующее:

$ ping google.com
PING google.com (216.58.194.206) ....
....

Мне говорят, что google.com находится на 216.58.194.206 IP-адресе.У меня есть несколько вопросов по этому поводу:

  1. Если этот IP-адрес когда-либо изменится.
  2. Если это IP-адрес для конкретного региона.
  3. Или если этовероятно (скрытно) перенаправляет на IP-адрес для конкретного региона, если это так.

Я хотел бы сделать что-то вроде этого:

mywebsite.com -> 123.123.123.123 -> 200.200.200.200 (region 1)
                                 -> 200.200.200.201 (region 2)
                                 -> 200.200.200.202 (region 3)
                                 ...
                                 -> 200.... (region n)

Где только123.123.123.123 может подключаться к конкретным IP-адресам региона, а когда вы делаете ping mywebsite.com, вы всегда видите 123.123.123.123 независимо от того, где вы находитесь в мире.

Хотите знать, как это работает с Anycast, илиесли нет, то как это работает.Я пытаюсь спроектировать систему, в которой есть много областей для оптимизации надежности и задержки (близость к источнику запроса), и в то же время, когда у нее есть только один домен для всех регионов.То есть, для Китая нет zh.mywebsite.com, для Великобритании uk.mywebsite.com и т. Д., Это всего лишь mywebsite.com, и под капотом он перенаправляется в соответствующий регион.Кроме того, причина наличия промежуточного 123.123.123.123 IP заключается в том, что существует постоянный интерфейс с регионами, поэтому, когда вы делаете ping mywebsite.com, вы всегда будете видеть 123.123.123.123, а не 200.200.200.200 для региона 1 и т. Д. Иливозможно, нет никакого способа обойти это, что было бы полезно знать: что IP всегда будет соответствовать IP региона.

На самом деле, теперь, когда я снова пытаюсь ping google.com, я получаю другой IP-адрес, так что естьпо крайней мере 2 по какой-то причине.

1 Ответ

2 голосов
/ 14 апреля 2019

Предложение: Задайте один вопрос, а не широкий вопрос, который охватывает дизайн глобальной сети Интернет. Спросите об одном облачном провайдере, а не о нескольких. В своем ответе ниже я ограничиваю количество сведений, которые я предоставляю, в противном случае мой ответ будет размером с книгу.

Мне интересно про Anycast. На диаграмме это выглядит как вы можете сопоставить один IP-адрес с несколькими IP-адресами. Это означает, что вы можете есть интерфейс на 1 IP-адрес, но потом под капот перенаправить его в область а или область b, географически распределенные.

В Google Cloud глобальный IP-адрес используется для направления клиента к ближайшему местоположению Google Edge, где трафик затем отправляется через внутреннюю сеть Google в конечный пункт назначения. Конечный пункт назначения зависит от типа ресурса. Давайте предположим, что Google Compute Engine или AWS EC2.

AWS предлагает AWS Global Accelerator для IP-адресов Anycast, поддерживающий аналогичные технологии.

Не зная об IP-адресах, я пытаюсь это сделать: ping google.com

В корпоративных системах принято, что многие вычислительные серверы предоставляют услуги для одной конечной точки DNS (google.com). Серверы могут быть сбалансированы по нагрузке DNS-сервером с использованием нескольких записей A. Стратегия балансировки нагрузки может быть круговой, наименее занятой, на основе географического местоположения и т. Д. Я не знаю, как Google разрабатывает интернет-дизайн для DNS-имени google.com, но возможности дизайна велики. Домен также может обслуживаться балансировщиком нагрузки, который скрывает внутреннюю реализацию. Использование балансировщика нагрузки является типичной схемой, но в старых версиях используются DNS-серверы.

Если этот IP-адрес когда-либо изменится.

Ответ - да, нет и возможно. Ответ зависит от внутреннего дизайна систем. Отказоустойчивые, эластичные конструкции не требуют фиксированного статического IP-адреса. Цель DNS-сервера - преобразовать DNS-имя (google.com) в IP-адрес (216.58.194.206) в тот момент, когда требуется перевод.

Если это региональный IP-адрес. Или, если это возможно (скрыто), перенаправление на IP-адрес для конкретного региона, если это так.

Это зависит от того, как Google разработал свои системы внутри. Google предлагает как глобальные, так и региональные IP-адреса.

Где только 123.123.123.123 может подключаться к конкретному IP-адресу региона адреса, и когда вы делаете пинг mywebsite.com, вы всегда видите 123.123.123.123 независимо от того, где вы находитесь в мире.

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

Я пытаюсь создать систему, в которой есть много регионов для оптимизация надежности и задержки (близость к источнику запроса), в то же время, так что есть только 1 домен для всех регионы.

Имея одно доменное имя (example.com) с серверами, расположенными в Европе, США, Южной Америке и Азии, очень легко добиться с любым облачным провайдером. Anycast не требуется. Вам просто нужен либо глобальный балансировщик нагрузки (Google), либо региональные балансировщики нагрузки (AWS), и современный DNS-сервер, который предоставляют и Google, и AWS.

Вы создали вопрос, охватывающий как AWS, так и Google Cloud. Два поставщика очень похожи на высоком уровне, но очень различаются в деталях реализации. Выберите один, узнайте, как DNS, балансировщик нагрузки и автоматическое масштабирование работают в AWS или Google. Примечание. Вы можете достичь своей цели разработки, смешивая как AWS, так и Google Cloud, но зачем добавлять этот уровень сложности. Чем сложнее ваш дизайн, тем более хрупким он становится. Это означает больше уровней управления людьми или машинами для регистрации, мониторинга, метрик и оповещений.

...