# 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`. ## Как запустить ```bash 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 зон генерируются программно.