Зачем Terraform
Terraform (HashiCorp) описывает инфраструктуру в декларативном HCL: серверы, сети, базы, K8s-кластеры в облаке или on-prem. Один конфиг — воспроизводимое окружение; изменения черезplan/apply, история в state.
Ключевые темы
Основы
Основы
- Провайдеры (AWS, GCP, Azure, Kubernetes, Docker и др.)
- Ресурсы:
resource "aws_instance" "web" { ... } terraform init,plan,apply,destroy
State
State
- Где хранится state (локально, S3 + DynamoDB, Terraform Cloud)
- Блокировка, версионирование state-файла
Переменные и выводы
Переменные и выводы
variable,output; передача через-var, tfvars, env (TF_VAR_*).
Модули
Модули
- Переиспользуемые куски конфига; source (local, registry, Git).
Практики
Практики
- Разделение по окружениям (workspaces или папки); секреты не в коде; код-ревью изменений плана.
Минимальный пример (AWS EC2)
Что добавить сюда
- Свои модули (VPC, EKS, RDS и т.д.)
- Настройка remote state и CI (plan/apply в пайплайне)
- Ссылки на доки и best practices (terraform-docs, tflint)