Создать внутреннюю зону DNS
Чтобы создать внутреннюю зону DNS:
- В консоли управления
выберите каталог, где требуется создать зону DNS. - Выберите сервис Cloud DNS.
- Нажмите кнопку Создать зону.
- Задайте настройки зоны:
- Зона — доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode
. - Тип —
Внутренняя. - Укажите сети, ресурсы из которых будут входить в создаваемую зону.
- Имя зоны.
- Зона — доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы создать новую зону DNS:
-
Посмотрите описание команды CLI для создания зоны:
yc dns zone create --help -
Создайте новую внутреннюю зону DNS в каталоге по умолчанию:
yc dns zone create --name <имя_зоны> \ --zone <доменная_зона>. \ --private-visibility=true \ --network-ids="<идентификатор_сети_1>","<идентификатор_сети_2>"Где:
--name— имя зоны. Должно быть уникальным внутри каталога. Необязательный параметр.--zone— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode . Обязательный параметр.--private-visibility— флаг для создания внутренней зоны.--network-ids— идентификаторы сетей, ресурсы из которых будут входить в зону.
Результат:
id: aet29qhara5j******** folder_id: aoerb349v3h4******** created_at: "2021-02-21T09:21:03.935Z" name: test-zone zone: staging. private_visibility: network_ids: - c645mh47vsc******** - b335fbs4fvv********
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_dns_zone" "zone1" { name = "<имя_зоны>" description = "<описание_зоны>" labels = { label1 = "<метка_зоны>" } zone = "<доменная_зона>." public = false private_networks = ["<идентификатор_сети_1>","<идентификатор_сети_2"] }Где:
name— имя зоны. Должно быть уникальным внутри каталога. Необязательный параметр.description— описание зоны. Необязательный параметр.labels— набор меток зоны DNS. Необязательный параметр.zone— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode . Обязательный параметр.public— видимость зоны: публичная или внутренняя. Необязательный параметр.private_networks— идентификаторы сетей, которым доступны доменные имена из этой зоны. Необязательный параметр.
Более подробно о параметрах ресурса
yandex_dns_zoneсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
или с помощью команды CLI:yc dns zone get <имя_зоны> -
Чтобы создать внутреннюю зону DNS, воспользуйтесь методом REST API create для ресурса DnsZone или вызовом gRPC API DnsZoneService/Create.