Это копия и вставка из моей статьи, которую я написал под названием " Частные DNS-зоны Google Cloud ".
23 октября 2018 года Google представила частные DNS-зоны для Google Cloud DNS. Это важное объявление, поскольку это делает внутренние DNS-имена закрытыми. В сегодняшней статье рассказывается, как реализовать эту новую функцию в Google Cloud Platform.
Что такое частные облачные DNS-зоны Google? DNS-сервер может предоставлять функцию под названием DNS с разделением горизонта. Это означает, что информация, возвращаемая в запросе DNS, может меняться в зависимости от местоположения запрашивающего. Для Google Cloud DNS у вас есть запросы, которые могут поступать из общедоступного Интернета или из Google Cloud VPC.
Google Cloud DNS теперь может предоставить:
- Создание частных зон DNS для предоставления разрешения имен DNS для ресурсов вашей частной сети (виртуальные машины, балансировщики нагрузки и т. Д.).
- Подключение частной зоны к одной сети или нескольким сетям, что дает вам гибкость при проектировании вашей внутренней сетевой архитектуры.
- Создание DNS-архитектуры с разделением горизонта, в которой идентичные или перекрывающиеся зоны могут сосуществовать между публичными и частными зонами в облачном DNS или в разных сетях GCP.
- Использование основанных на IAM DNS-специфических ролей для делегирования административного доступа или доступа редактора для управления или просмотра управляемых частных зон.
Частные зоны для Google Cloud DNS - это бета-функция. Для этого необходимо создать частную зону с помощью интерфейса командной строки gcloud.
В этой статье мы будем использовать доменное имя «example.com». Мы настроим как частные, так и публичные зоны.
Шаг 1 - Создать личную зону.
gcloud beta dns managed-zones create --dns-name="example.com" --description="Private Zone" --visibility=private --networks=default "private-zone"
Шаг 2 - Создать публичную зону.
Обратите внимание, что вы можете пропустить этот шаг, если вы не используете Google Cloud DNS в качестве имени домена.
gcloud beta dns managed-zones create --dns-name="example.com" --description="Public Zone" --visibility=public "public-zone"
Шаг 3 - Сделать частную зону видимой для сети по умолчанию.
gcloud beta dns managed-zones update private --networks default
Шаг 4 - Получить полное и короткое имя экземпляра виртуальной машины.
Для этого шага необходимо вручную определить, какое внутреннее имя хоста для экземпляра. Подключитесь к экземпляру. Эти команды запускаются из консоли экземпляра.
hostname
Эта команда возвращает короткое имя хоста.
web-server-1
Теперь получите длинное имя хоста.
hostname -f
Эта команда возвращает длинное имя хоста.
web-server-1.us-east4-c.c.development-123456.internal
Шаг 4. Добавьте экземпляр в частную зону, используя его частное DNS-имя.
Этот шаг использует консоль Google Cloud. Консоль -> Сетевые службы -> Облачный DNS. Обратите внимание на две зоны, которые мы только что создали: «приватная зона» и «публичная зона». Выберите приватную зону.
Консоль должна отображать две записи для этой зоны. Запись NS (сервера имен) и SOA (Начало полномочий).
В верхней части окна консоли Google находится кнопка «ADD RECORD SET». Нажмите эту кнопку.
В качестве DNS-имени введите: web-server-1
Для типа записи ресурса измените на: CNAME
В качестве канонического имени введите: web-server-1.us-east4-c.c.development-123456.internal
![Create Record Set](https://i.stack.imgur.com/jGqet.png)
Шаг 5. Добавьте экземпляр в публичную зону, используя его публичный IP-адрес.
Вернитесь в Облако DNS. Выберите публичную зону. Нажмите «ДОБАВИТЬ ЗАПИСЬ».
В качестве имени DNS введите: web-server-1 (или имя, которое вы хотите, чтобы общедоступный DNS поддерживал).
Для типа записи ресурса: A
Для IPv4-адреса введите: the public IP address
Шаг 6 - Проверьте общедоступное разрешение DNS.
С вашего рабочего стола или другого компьютера, подключенного к Интернету, откройте командную оболочку / приглашение и ping web-server-1.example.com
. Это должно разрешить общедоступный IP-адрес.
Шаг 7. Проверка разрешения частного DNS.
В другом экземпляре виртуальной машины в том же виртуальном облачном хранилище Google Cloud откройте командную оболочку / приглашение и ping web-server-1.example.com
. Это должно разрешить частное имя DNS и IP-адрес.
Вот так. Google Cloud DNS теперь поддерживает DNS с разделением горизонта (часто называемый DNS с разделением мозгов).