Создать ресурсную запись
Значение TXT-записи должно быть не более 1024 знаков.
Чтобы создать ресурсную запись в зоне DNS:
- В консоли управления
выберите каталог, где находится зона DNS, в которой требуется создать запись. - Выберите сервис Cloud DNS.
- Выберите зону из списка.
- Нажмите кнопку Создать запись.
- Задайте параметры записи:
- В поле Имя укажите доменное имя записи.
- Выберите тип записи в выпадающем списке.
- В поле TTL (в секундах) укажите время жизни записи или выберите из предложенных.
- Введите Значение записи.
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Выполните команду:
yc dns zone add-records --name <имя_зоны_DNS> \
--record "<доменное_имя> <TTL> <тип_записи> <значение>"
Пример
Создание TXT-записи с DKIM-подписью:
yc dns zone add-records test-zone \ --record "test-record TXT v=DKIM1;k=rsa;p=MIIBIjAN...gkH2v1NTgQdTKfPmDK...YdRiwIDAQAB"
Если значение TXT-записи содержит несколько значений, то следует заключить каждое значение в двойные кавычки ""
:
yc dns zone add-records test-zone \ --record "test-record TXT v=DKIM1;k=rsa;p=MIIBIjAN""gkH2v1NTgQdTKfPmDK""YdRiwIDAQAB"
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать. Вы можете добавить несколько записей одновременно.
resource "yandex_vpc_network" "foo" {} resource "yandex_dns_zone" "zone1" { name = "my-private-zone" description = "desc" labels = { label1 = "label-1-value" } zone = "example.com." public = false private_networks = [yandex_vpc_network.foo.id] } resource "yandex_dns_recordset" "rs1" { zone_id = yandex_dns_zone.zone1.id name = "srv.example.com." type = "A" ttl = 200 data = ["10.1.0.1"] } resource "yandex_dns_recordset" "rs2" { zone_id = yandex_dns_zone.zone1.id name = "srv2" type = "A" ttl = 200 data = ["10.1.0.2"] } resource "yandex_dns_recordset" "rs_dkim" { zone_id = yandex_dns_zone.zone1.id name = "dkim" type = "TXT" ttl = 200 data = ["v=DKIM1;k=rsa;t=s;p=MIIBIjAN...gkH2v1NTgQdTKfPmDK...YdRiwIDAQAB"] }
Где:
-
Параметры
yandex_dns_zone
:zone
— доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Обязательный параметр.folder_id
— идентификатор каталога, в котором будет создана зона. Если он не указан, используется каталог по умолчанию. Необязательный параметр.name
— имя зоны. Должно быть уникальное внутри каталога. Необязательный параметр.description
— описание зоны. Необязательный параметр.labels
— набор меток зоны DNS. Необязательный параметр.public
— видимость зоны: публичная или внутренняя зона. Необязательный параметр.private_networks
— для публичных зон указываются ресурсы Virtual Private Cloud, которым эта зона видна. Необязательный параметр.
-
Параметры
yandex_dns_recordset
:zone_id
— идентификатор зоны, в которой будет находиться этот набор записей. Обязательный параметр.name
— доменное имя. Обязательный параметр.type
— тип DNS записи. Обязательный параметр.ttl
— время жизни записи (TTL, Time to live) в секундах до актуализации информации о значении записи. Необязательный параметр.data
— значение записи. Необязательный параметр.
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, смотрите в документации провайдера
. -
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
или с помощью команды CLI:yc dns zone list-records <имя_зоны>
-
Чтобы создать ресурсную запись в зоне DNS, воспользуйтесь методом REST API updateRecordSets для ресурса DnsZone или вызовом gRPC API DnsZoneService/UpdateRecordSets.
При создании ресурсных AAAA-записей сервис автоматически производит нормализацию адресов IPv6, заменяя пропуски между :
нулями, например: 2001:db8::
→ 2001:db8:0:0:0:0:0:0
.