Создать публичную зону 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 production-zone --zone www.example.com. --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, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
-
Параметры зоны DNS:
zone
— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode . Обязательный параметр.folder_id
— идентификатор каталога, в котором будет создана зона. Если он не указан, используется каталог по умолчанию. Необязательный параметр.name
— имя зоны. Должно быть уникальное внутри каталога. Необязательный параметр.description
— описание зоны. Необязательный параметр.labels
— набор меток зоны DNS. Необязательный параметр.public
— видимость зоны: публичная или внутренняя. Необязательный параметр.
-
Параметры записи DNS:
zone_id
— идентификатор зоны, в которой будет находиться этот набор записей. Обязательный параметр.name
— доменное имя. Обязательный параметр.type
— тип DNS записи. Обязательный параметр.ttl
— время жизни записи (TTL, Time to live) в секундах до актуализации информации о значении записи. Необязательный параметр.data
— значение записи. Необязательный параметр.
Пример структуры конфигурационного файла:
resource "yandex_vpc_network" "foo" {} resource "yandex_dns_zone" "zone1" { name = "my-public-zone" description = "Test public zone" labels = { label1 = "test-public" } zone = "test.example-public2.com." public = true } resource "yandex_dns_recordset" "rs1" { zone_id = yandex_dns_zone.zone1.id name = "test.example-public.com." type = "A" ttl = 200 data = ["10.1.0.1"] }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, смотрите в документации провайдера
. -
-
Выполните проверку с помощью команды:
terraform plan
В терминале будет выведен список ресурсов с параметрами. Это проверочный этап: ресурсы не будут созданы. Если в конфигурации есть ошибки, Terraform на них укажет.
Внимание
Все созданные с помощью 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
в личном кабинете вашего регистратора.