linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
Intro
Lessons
Footer
linuxlab-TutorialsPricingAboutPrivacy & cookies
Copyright © 2026 LinuxLab. All rights reserved.
linuxlab.io
Tutorials▾
  • Linux & networking
    File system, processes, TCP/IP, BGP and OSPF
    →
  • Terraform & IaC
    HCL, state, plan/apply on a LocalStack sandbox
    →
  • Git & GitHub
    Object model, plumbing, branching, GitHub Actions
    →
All tutorials →
PricingAboutSign inCreate account
/
  • Введение
  • Уроки
  • How it works
  • База знаний
  • Шпаргалка
  • Capstone
  • Собеседование
Course

$ учебник · в разработке

Учебник по Terraform.
Инфраструктура как код, без боли с AWS.

Terraform с нуля для тех, кто знает bash и базовый AWS, но никогда не писал HCL. Учебный sandbox работает на LocalStack: Terraform думает, что общается с настоящим AWS, но никаких расходов и рисков утечки credentials. Можно поломать, снести, начать заново без последствий.

Сейчас открыты 47 уроков с автопроверкой и 62 статей в справочнике.

Начать с введения →К первому уроку▶ Sandbox: 47 уроков
Contents

Карта учебника

Уроки выстроены так, что каждый опирается на предыдущие. Прыжки разрешены, но Часть I — фундамент, без которого остальное держится плохо.

Часть I — HCL и базовый цикл

  1. 01Hello, S3: your first resource in Terraform12 мин
  2. 02Variables: removing the hardcode10 мин
  3. 03Outputs: returning values to the outside8 минподписка
  4. 04State: what lives inside the terraform.tfstate file10 минподписка
  5. 05Update: change an attribute, read the diff10 минподписка
  6. 06Destroy: tear down infrastructure safely8 минподписка
  7. 07Data sources: reading what already exists10 минподписка
  8. 08count vs for_each: creating resources in bulk12 минподписка
  9. 09lifecycle: blocking, ignoring, and recreating12 минподписка
  10. 10locals and functions: removing duplication in HCL12 минподписка
  11. 11HCL hygiene: fmt, validate, console12 минподписка
  12. 12Debugging. TF_LOG, the graph, reading someone else's error15 минподписка

Часть II — Модули и state-операции

  1. 13Your first module: move S3 into something reusable18 минподписка
  2. 14A Module from the Terraform Registry15 минподписка
  3. 15for_each over a module: N instances from one block15 минподписка
  4. 16dynamic blocks: repeated subblocks15 минподписка
  5. 17templatefile: render configs from HCL14 минподписка
  6. 18Remote state in S3 (on LocalStack)18 минподписка
  7. 19state mv, state rm: operations on state15 минподписка
  8. 20Declarative import: capturing an existing resource15 минподписка
  9. 21The moved block: refactoring without recreation14 минподписка
  10. 22preconditions, postconditions, and the check block14 минподписка
  11. 23Utility providers: random, time, archive, external16 минподписка
  12. 24Multi-env: workspaces vs directories18 минподписка

Часть III — Продвинутое и масштаб

  1. 25Terragrunt, DRY across dev/stage/prod18 минподписка
  2. 26CDKTF, Terraform from TypeScript18 минподписка
  3. 27Your own Terraform provider, Go and the Plugin Framework22 минподписка
  4. 28Large-scale state, breaking up the monolith16 минподписка
  5. 29Blue-green migration of legacy infrastructure in Terraform16 минподписка
  6. 30Infracost, estimating the cost of a plan14 минподписка
  7. 31OpenTofu, matrix CI alongside Terraform12 минподписка
  8. 32Capstone, VPC + ALB + ECS Fargate + Lambda35 минподписка

Часть IV — Troubleshooting Garden

  1. 33Troubleshooting Garden: untangle the Cycle Error18 минподписка
  2. 34Troubleshooting Garden: state and the cloud have drifted apart20 минподписка
  3. 35Troubleshooting Garden: import points at nothing16 минподписка
  4. 36Troubleshooting Garden: Checkov fails in the pipeline18 минподписка
  5. 37Troubleshooting Garden: the module went stale, the provider got upgraded20 минподписка

Часть V — Production и CI/CD

  1. 38Linters: fmt, validate, tflint14 минподписка
  2. 39pre-commit hooks for Terraform14 минподписка
  3. 40Native tests, .tftest.hcl and assert16 минподписка
  4. 41Mock providers, tests without the cloud14 минподписка
  5. 42Checkov, an HCL security scanner13 минподписка
  6. 43OPA + Rego, gating plan.json16 минподписка
  7. 44Plan as an artifact, between PR and apply14 минподписка
  8. 45GitHub Actions, the full pipeline through act18 минподписка
  9. 46OIDC, an IAM role for CI without access keys15 минподписка
  10. 47Drift detection, scheduled plan, and alerting14 минподписка
Footer
linuxlab-
Copyright © 2026 LinuxLab. All rights reserved.
Tutorials
Pricing
About
Privacy & cookies