Создать публичную зону 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 <доменная_зона>. \ --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.kz и ns2.yandexcloud.kz в личном кабинете вашего регистратора.