1.8 KiB
1.8 KiB
N DNS-зон, сгенерированных программно (в цикле)
Пример-близнец ../dns_zones/, но здесь зоны не задаются вручную, а
генерируются из числа var.zone_count:
zones = {
for i in range(1, var.zone_count + 1) :
"${var.zone_prefix}-${i}" => {
zone_name = "${var.zone_prefix}-${i}.${var.zone_domain}"
records = { www = ..., api = ... }
}
}
Удобно, когда зон много и они однотипны (напр. 10 зон tfzone-1 … tfzone-10).
Ресурсы
| Ресурс | Сервис | Назначение |
|---|---|---|
nubes_zones_v2 |
109 | DNS-зона |
nubes_zones_v2_record |
подресурс зоны | Запись внутри зоны (A / CNAME / …) |
Разница с ../dns_zones/
dns_zones |
dns_zones_generated |
|
|---|---|---|
| Источник зон | явная карта var.zones |
range(1, zone_count+1) в locals |
| Когда удобно | разный набор зон/записей | много однотипных зон |
Как запустить
cp terraform.tfvars.example terraform.tfvars # при желании: zone_count = N
# api_token — в secrets.auto.tfvars (НЕ в terraform.tfvars!)
terraform init
terraform plan
terraform apply # запускает пользователь
Проверки
- После
applyповторныйplanдолжен даватьNo changes. - Изменение
zone_countдобавляет/убирает зоны (стабильные адресаfor_each). - Чтобы зоны работали в интернете, домен у регистратора надо делегировать на NS
ns3.ngcloud.ru/ns4.ngcloud.ru.