1. Введение
Эта лабораторная работа проведет вас через настройку исходящих зон пересылки Cloud DNS с использованием полностью определенного доменного имени (FQDN) в качестве цели пересылки. Эта функция позволяет вам направлять трафик DNS на IP-адреса, разрешенные с DNS-имени, а не жестко кодировать IP-адреса в конфигурации вашей зоны пересылки. Это особенно полезно, когда изменяются IP-адреса вашего внутреннего DNS-резолвера, так как вы можете обновить запись DNS для FQDN, а Cloud DNS автоматически подхватывает изменения.
К концу этой лабораторной работы вы сможете настраивать зоны пересылки Cloud DNS, использующие следующее:
- Целевое имя FQDN, которое соответствует частной зоне с записями A/AAAA.
- Целевое имя FQDN, поддерживаемое политиками маршрутизации Cloud DNS (геолокация или циклический взвешенный алгоритм) для региональной привязки или распределения трафика.
Обзор пересылки FQDN
Переадресация облачных DNS-серверов позволяет разрешать частные DNS-имена, размещенные за пределами Google Cloud Platform (например, локально или в других облаках) из ресурсов Google Cloud Platform. Традиционно это поддерживало переадресацию на список целевых IP-адресов. Переадресация FQDN расширяет это, позволяя вам указать FQDN в качестве цели переадресации в зоне переадресации.
Когда указано полное доменное имя, Cloud DNS преобразует его в IP-адреса с помощью внутреннего поиска, который использует логику разрешения исходной сети. Это означает, что целевой FQDN может соответствовать частной зоне, политике маршрутизации DNS (геолокация или циклический взвешенный алгоритм) или даже публичному доменному имени в Интернете. Затем Cloud DNS перенаправляет запрос на разрешенный целевой IP-адрес.
Что вы построите
Региональная переадресация FQDN с новой частной зоной
Вы создадите настройку, которая обеспечивает региональную привязку для трафика DNS. Это включает создание частной зоны DNS и настройку политики маршрутизации геолокации в ней, а затем связывание зоны пересылки с этой целью FQDN. Это гарантирует, что трафик из определенного региона (например, us-east1) будет пересылаться на соответствующий региональный сервер DNS.
Переадресация FQDN с существующей частной зоной
Вы научитесь создавать зону пересылки, которая нацелена на FQDN, поддерживаемую записью A/AAAA в существующей частной зоне DNS. Это демонстрирует пересылку запросов на статически определенные IP-адреса, разрешенные с использованием цели пересылки FQDN.
Чему вы научитесь
Концепция пересылки FQDN
Вы поймете, что переадресация FQDN расширяет возможности переадресации DNS, позволяя вам указывать цель переадресации FQDN вместо просто IP-адресов в качестве целей переадресации для исходящих запросов.
Преимущества переадресации FQDN
Вы узнаете, что эта функция устраняет необходимость ручных обновлений при изменении IP-адресов внутреннего DNS-резолвера, поскольку Cloud DNS автоматически подхватывает изменения из записи DNS FQDN. Она также обеспечивает более гибкое масштабирование инфраструктуры DNS, позволяя DNS-серверам находиться за общим именем или масштабироваться динамически.
Интеграция с политиками маршрутизации Cloud DNS
Вы узнаете, как можно объединить переадресацию FQDN с политиками маршрутизации Cloud DNS (геолокация или циклический взвешенный алгоритм) для достижения региональной привязки, оптимизации производительности для географически разнесенных развертываний и распределения трафика на основе настроенных весов.
Синтаксис команды Google Cloud CLI
Вы познакомитесь с командой gcloud dns managed-zones create
и ее соответствующими флагами ( --forwarding-targets
, --private-forwarding-targets
) для настройки зон пересылки FQDN.
Предпосылки
Для выполнения этой лабораторной работы вам понадобится следующее:
- Аккаунт Google
- Проект Google Cloud с включенным биллингом
- Установлен и настроен инструмент командной строки gcloud
- Базовое понимание облачного DNS и концепций DNS
2. Подготовка
Понимание сценариев пересылки FQDN
Пересылка облачного DNS FQDN поддерживает несколько сценариев использования:
- Частная зона с записью A/AAAA : если полное доменное имя совпадает с записью A/AAAA в частной зоне, разрешенные IP-адреса добавляются в список пересылки, и поведение идентично пересылке напрямую на целевые IP-адреса.
- Частная зона с политикой геолокации : Политики геолокации позволяют вам указать исходную геолокацию и предоставить соответствующие ответы, проверяя распределение трафика на основе географии. Это ключ к региональной переадресации DNS и сродству.
- Частная зона с политикой циклического взвешенного перебора (WRR) : политики WRR позволяют указывать различные веса для каждого IP-адреса для имени DNS, проверяя, распределяется ли трафик в соответствии с настроенными весами.
- Публичная зона с записью A/AAAA : если полное доменное имя не совпадает ни с одним частным именем, видимым в той же сети, Cloud DNS пытается разрешить его с помощью общедоступного Интернета.
Понимание команды Google Cloud CLI для переадресации FQDN
Чтобы создать зону пересылки с целью пересылки FQDN с помощью команд CLI gcloud, вы будете использовать команду gcloud dns managed-zones create
. Ключевыми флагами для указания цели FQDN являются --forwarding-targets
или --private-forwarding-targets
. Подробную информацию о стандартных и частных методах маршрутизации см. в документе .
-
--forwarding-targets
: Список адресов IPv4/IPv6 или одно доменное имя целевого сервера имен, на который зона будет пересылать запросы. Игнорируется для публичной видимости. Адреса, не относящиеся к RFC1918, будут пересылаться на цель через Интернет. Адреса RFC1918 будут пересылаться через VPC. -
--private-forwarding-targets
: Список адресов IPv4/IPv6 или одно доменное имя целевого сервера имен, на который зона будет пересылать запросы. Игнорируется для публичной видимости. Все адреса, указанные для этого параметра, будут доступны через VPC.
Пример синтаксиса:
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=DEFAULT_FQDN_TARGET \
--visibility=private
Обратите внимание, что вы можете указать --private-forwarding-targets
вместо --forwarding-targets
.
Настройте свой проект Google Cloud Platform
Войдите в интерфейс командной строки gcloud.
gcloud auth login
Создать проект.
gcloud projects create my-codelab-project
Включите API Cloud DNS. Для вступления изменений в силу может потребоваться несколько минут.
gcloud services enable dns.googleapis.com
Эта кодовая лаборатория использует сеть VPC по умолчанию , которая создается с новым проектом. Вы также можете создать новую сеть для использования вместо нее.
3. Настройте региональную переадресацию FQDN (с новой частной зоной)
В этом сценарии показано, как реализовать региональную переадресацию DNS, гарантируя, что трафик из определенного региона будет перенаправлен на DNS-сервер в этом же регионе.
Создать частную зону DNS
Сначала создайте частную зону DNS (например, foo.com.), которая будет размещать ваше полное доменное имя и связанную с ним политику маршрутизации геолокации. Эта зона должна быть видна вашей сети по умолчанию.
gcloud dns managed-zones create my-zone \
--description="Private Zone for FQDN outbound DNS forwarding." \
--dns-name=foo.com. \
--networks=default \
--visibility=private
Создайте набор записей политики маршрутизации геолокации в пределах частной зоны
Далее создайте набор записей (например, geo.foo.com.) в my-zone и примените политику маршрутизации геолокации. В этом примере настраиваются IP-адреса для asia-east1 и asia-west1.
gcloud dns record-sets create geo.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--routing-policy-type="GEO" \
--routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"
Примечание: Если геозонирование отключено (по умолчанию и рекомендуется), запросы будут направляться в ближайший здоровый регион, если цель в исходном регионе нездорова.
Создайте зону пересылки с целевым полным доменным именем
Создайте зону пересылки ( geo.test.com. ), видимую в той же сети по умолчанию, и установите geo.foo.com. (полное доменное имя с политикой маршрутизации геолокации) в качестве цели пересылки.
gcloud dns managed-zones create my-geo-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
--dns-name=geo.test.com. \
--networks=default \
--private-forwarding-targets=geo.foo.com. \
--visibility=private
Любой DNS-запрос, соответствующий geo.test.com, теперь перенаправляется на разрешенный IP-адрес (например, 192.168.0.1 или 192.168.0.2) geo.foo.com. в зависимости от исходного региона запроса.
4. Настройте переадресацию FQDN (с существующей частной зоной)
Иметь существующую частную зону DNS
Предположим, у вас уже есть частная DNS-зона с именем my-zone (foo.com.), видимая в сети по умолчанию .
Создайте запись ресурса DNS в этой частной зоне
Создайте запись типа A для a.foo.com. в существующей зоне my-zone .
gcloud dns record-sets create a.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--rrdatas=1.2.3.4
Создайте зону пересылки и укажите целевое полное доменное имя
Подобно сценарию с региональным полным доменным именем, создайте зону пересылки и укажите a.foo.com. в качестве цели пересылки.
gcloud dns managed-zones create my-a-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
--dns-name=a.test.com. \
--networks=default \
--private-forwarding-targets=a.foo.com. \
--visibility=private
Любой DNS-запрос, соответствующий a.test.com., будет перенаправлен на разрешенные IP-адреса 1.2.3.4 a.foo.com.
5. Уборка
Перед удалением частной зоны необходимо сначала удалить все ResourceRecordSets в частной зоне (за исключением записей NS и SOA, которые генерируются автоматически и всегда должны существовать в частной зоне).
Удалите политику маршрутизации геолокации в приватной зоне.
gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"
Удалите запись A в приватной зоне.
gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"
Удалить частную зону.
gcloud dns managed-zones delete "my-zone"
Удалить зону пересылки для политики маршрутизации геолокации.
gcloud dns managed-zones delete "my-geo-fwd-zone"
Удалить зону пересылки для записи A.
gcloud dns managed-zones delete "my-a-fwd-zone"
6. Поздравления
Поздравляем, вы успешно научились использовать исходящую переадресацию DNS FQDN!