linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • База знаний
  • Шпаргалка
  • Capstone
  • Собеседование

§ how it works · terraform

Как работает Terraform. С анимацией.

Каждая карточка ниже - пошаговая SVG-визуализация одной концепции Terraform. Что происходит с HCL, со state-файлом и с настоящим облаком на каждом шаге plan, apply и destroy. Хорошо для тех, у кого «работает, но я не понимаю почему».

Это рисованные схемы, а не sandbox. За «потрогать руками» - в уроки на LocalStack.

  • workflow · 6 шагов

    Главный цикл Terraform: init → plan → apply → destroy

    Что Terraform делает на каждой команде. Три источника правды (HCL, state, облако), как они сходятся и расходятся, и почему apply без plan - плохая привычка.

    посмотреть→
  • workflow · 6 шагов

    Граф зависимостей: что Terraform параллелит, а что блокирует

    Откуда Terraform узнаёт, в каком порядке создавать ресурсы. Граф из implicit-refs, параллельные «слои», и почему destroy идёт ровно в обратном направлении.

    посмотреть→
  • state · 6 шагов

    Анатомия terraform.tfstate

    Что лежит внутри state-файла, зачем там serial и lineage, и почему пароль из HCL в нём оказывается открытым текстом. Развёрнутый JSON по слоям.

    посмотреть→
  • state · 6 шагов

    Drift: когда state и реальность разошлись

    Кто-то ткнул тег в AWS Console - и Terraform внезапно показывает изменения. Что такое drift, почему он бывает, и три способа с ним жить.

    посмотреть→
  • state · 5 шагов

    Remote backend и lock: как двое инженеров работают с одним state

    S3 хранит state, DynamoDB держит lock. Что происходит, когда двое запускают apply одновременно, и почему «команда из одного» - единственный сценарий, где можно без этого жить.

    посмотреть→
  • state · 6 шагов

    Plan как трёхсторонний дифф: HCL ↔ state ↔ облако

    Что на самом деле сравнивает terraform plan. Зачем refresh, как из трёх источников получается один план, и что прячет -refresh=false.

    посмотреть→
  • state · 5 шагов

    state mv, state rm, import - императивные операции на state

    Три команды, которые правят state-файл напрямую: переименовать запись, забыть ресурс, всосать существующий из облака. Что меняют, чего не меняют, чем опасны.

    посмотреть→
  • state · 5 шагов

    moved, removed, import - те же операции, но в HCL

    Декларативные блоки для переименования, выпиливания и затаскивания ресурсов. Что они дают сверх CLI, в каких версиях Terraform появились, и почему живут в git.

    посмотреть→
  • resources · 5 шагов

    count vs for_each: почему удаление одного юзера ломает остальные

    Два способа создать N одинаковых ресурсов. Один индексирует по числу, второй - по ключу. Удаление середины массива даёт совершенно разные планы.

    посмотреть→
  • resources · 6 шагов

    lifecycle: четыре рычага управления ресурсом

    create_before_destroy для zero-downtime, prevent_destroy для критичного, ignore_changes для дрейфа, replace_triggered_by для каскадной пересборки. Что каждый делает на практике.

    посмотреть→
  • variables · 6 шагов

    Откуда Terraform берёт значение переменной

    Шесть источников значения для одной variable, выстроенные в очередь. Кто кого перебивает, и почему ваш .tfvars иногда «не применяется».

    посмотреть→
  • modules · 6 шагов

    Модули: как переменные текут вниз, а outputs - вверх

    Что происходит на границе root → child module: ввод через variable, вывод через output, и почему модуль остаётся переиспользуемым только если он не лезет к глобальным провайдерам.

    посмотреть→
  • cicd · 6 шагов

    plan как артефакт: пайплайн с ревью между plan и apply

    Сохранить tfplan в файл, показать его человеку, применить ровно его - и не дать «случайно» доехать другому диффу. Канонический CI-pattern для Terraform.

    посмотреть→
  • cicd · 6 шагов

    OIDC: GitHub Actions в AWS без долгоживущих ключей

    Workflow получает короткий JWT от GitHub, обменивает его на временные STS-creds, запускает Terraform - и через час всё это просто исчезает. Никаких access-key секретов.

    посмотреть→
  • cicd · 6 шагов

    Policy gate: блокируем нарушения между plan и apply

    Между шагами plan и apply встаёт engine - Checkov, OPA или Sentinel. Он читает plan.json и решает, можно ли применять. Бакет без шифрования просто не пройдёт.

    посмотреть→
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки