1.7 KiB
1.7 KiB
DNS-зоны и записи через Terraform
Пример: доменные зоны компании и записи в них — целиком через Terraform.
Зоны задаются картой var.zones (for_each), записи — вложенным циклом
(flatten + for_each).
Ресурсы
| Ресурс | Сервис | Назначение |
|---|---|---|
nubes_zones_v2 |
109 | DNS-зона |
nubes_zones_v2_record |
подресурс зоны | Запись внутри зоны (A / CNAME / …) |
Что в конфиге
- N зон из
var.zones(по умолчанию 2:tfzone-a.test,tfzone-b.test); - по 3 записи в каждой зоне (
A,A,CNAME).
Чтобы добавить/убрать зону или запись — правьте var.zones, затем apply.
Как запустить
cp terraform.tfvars.example terraform.tfvars # подставить api_endpoint (если нужно)
# api_token — в secrets.auto.tfvars (НЕ в terraform.tfvars!)
terraform init
terraform plan
terraform apply # запускает пользователь
Проверки
- После
applyповторныйplanдолжен даватьNo changes. - Изменение значения записи → обычный
apply(полеrecord_inputмодифицируемое). - Чтобы зона работала в интернете, домен у регистратора надо делегировать на NS
ns3.ngcloud.ru/ns4.ngcloud.ru.
См. также
../dns_zones_generated/— тот же сценарий, но N зон генерируются программно.