Создать публичную зону 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 <доменная_зона>. \ --public-visibility=true
Где:
--name
— имя зоны. Должно быть уникальным внутри каталога. Необязательный параметр.--zone
— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode . Обязательный параметр.--public-visibility
— флаг для создания публичной зоны.
Результат:
id: aet2q4fn8i8i******** folder_id: aoerb349v3h4******** created_at: "2021-03-03T19:07:08.685Z" name: production-zone zone: www.example.com. public_visibility: {}
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_dns_zone" "zone1" { name = "<имя_зоны>" description = "<описание_зоны>" labels = { label1 = "<метка_зоны>" } zone = "<доменная_зона>." public = true }
Где:
name
— имя зоны. Должно быть уникальным внутри каталога. Необязательный параметр.description
— описание зоны. Необязательный параметр.labels
— набор меток зоны DNS. Необязательный параметр.zone
— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode . Обязательный параметр.public
— видимость зоны: публичная или внутренняя. Необязательный параметр.
Более подробно о параметрах ресурса
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.
Чтобы получить доступ к именам из публичной зоны, вам нужно делегировать домен. Укажите адреса серверов ns1.yandexcloud.net
и ns2.yandexcloud.net
в личном кабинете вашего регистратора.