Files
tf_examples/dns_zones_generated/README.md
T

48 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# N DNS-зон, сгенерированных программно (в цикле)
Пример-близнец `../dns_zones/`, но здесь зоны **не задаются вручную**, а
генерируются из числа `var.zone_count`:
```hcl
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` |
| Когда удобно | разный набор зон/записей | много однотипных зон |
## Как запустить
```bash
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`.