Создать внутреннюю зону DNS
Чтобы создать внутреннюю зону DNS:
- В консоли управления
выберите каталог, где требуется создать зону DNS. - Выберите сервис Cloud DNS.
- Нажмите кнопку Создать зону.
- Задайте настройки зоны:
- Зона — доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode
. - Тип —
Внутренняя
. - Укажите сети, ресурсы из которых будут входить в создаваемую зону.
- Имя зоны.
- Зона — доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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.