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 в качестве целевого адреса переадресации в зоне переадресации.
Когда указывается полное доменное имя (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
Переадресация FQDN через Cloud DNS поддерживает несколько сценариев использования:
- Частная зона с записью A/AAAA : Если полное доменное имя (FQDN) соответствует записи A/AAAA в частной зоне, разрешенные IP-адреса добавляются в список переадресации, и поведение идентично переадресации непосредственно на целевые IP-адреса.
- Частная зона с политикой геолокации : Политики геолокации позволяют указывать геолокацию источника и предоставлять соответствующие ответы, проверяя распределение трафика в зависимости от географического положения. Это ключевой момент для региональной переадресации DNS и определения принадлежности.
- Частная зона с политикой взвешенного циклического распределения (WRR) : политики WRR позволяют задавать разные веса для каждого IP-адреса для DNS-имени, проверяя, распределяется ли трафик в соответствии с настроенными весами.
- Публичная зона с записью A/AAAA : если полное доменное имя (FQDN) не совпадает ни с одним частным именем, видимым в той же сети, 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
Обратите внимание, что вместо --forwarding-targets можно указать --private-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), которая будет содержать ваше полное доменное имя (FQDN) и связанную с ним политику маршрутизации по геолокации. Эта зона должна быть видна вашей сети по умолчанию.
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) в пределах моей зоны и примените политику маршрутизации на основе геолокации. В этом примере настраиваются 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"
Примечание: Если функция геозонирования отключена (по умолчанию и рекомендуется), запросы будут направляться в ближайший здоровый регион, если целевой объект в исходном регионе нездоров.
Создайте зону переадресации с целевым FQDN.
Создайте зону переадресации ( 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
Создайте зону пересылки и укажите целевое полное доменное имя (FQDN).
Аналогично сценарию с региональным полным доменным именем (FQDN), создайте зону переадресации и укажите 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)!
Дополнительная информация
- Облачный DNS
- Создание зоны переадресации облачных DNS-запросов
- Переадресация исходящих DNS-запросов
- Концепции DNS