TER-01

Terraform — продвинутое использование

Длительность обучения: 5 дней

ближайшие даты:

20.04.26 - 24.04.26

25.05.26 - 29.05.26

Записаться на курс

Описание
курса

Материал данного курса научит слушателей: уверенно проектировать, разрабатывать и сопровождать инфраструктуру на Terraform для OpenStack; освоить продвинутые возможности HCL2, модули, управление состоянием, импорт/рефакторинг, тестирование, политики и CI/CD; выстроить командный процесс: код-ревью, планы как артефакты, безопасные апдейты, аварийные сценарии восстановления.

Аудитория курса

Предварительные требования

Уверенное владение Linux CLI, Git; Базовый опыт Terraform (init/plan/apply, ресурсы/провайдеры, переменные); Понимание сетевых концепций IaaS (VPC/Network, Subnet, Router, SG, LB, Volumes); Техническая подготовка (до старта).

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

Онлайн-курс

Онлайн-курс предполагает групповые занятия с инструктором через систему видеоконференцсвязи, кроме того, домашние задания и экзамен. Слушателям предоставляются учебные пособия и дополнительные материалы

Для корпоративных клиентов

Обучение для корпоративных клиенов включает в себя онлайн-курсы и курсы самообучения, а также дополнительные сервисы,необходимые корпоративным клиентам: организация планов обучения для подразделений клиента, проведение оценки эффективности обучения и т.д.

преподаватель
курса

программа
курса

Теория (4 ч)

• Архитектура Terraform: core, провайдеры, жизненный цикл, граф зависимостей.
• HCL2 углублённо: типы (object, tuple, set, map), функции, locals, условные выражения, for-выражения, count и for_each, dynamic-блоки, null и coalesce-паттерны.
• Метапараметры: dependson, lifecycle (createbeforedestroy, preventdestroy, ignorechanges), timeouts, replacetriggered_by.
• Провайдер OpenStack: аутентификация (password, application credentials, env, clouds.yaml), конфигурация провайдера, alias/multi-region, основные ресурсы и data sources.
• Состояние: роль state, дрейф, базовые команды, вводное о бэкендах и workspace.

Практика (4 ч)

• Подготовка окружения: настройка clouds.yaml, проверка токенов/ролей, terraform init/validate.
• Развёртывание базовой сети: network + subnet + router + security groups.
• ВМ с cloud-init (Nginx), плавающий IP, проверка доступности.
• Переход с count на for_each + dynamic для SG-правил, выводы (outputs), структурирование variables.
Теория (4 ч)

• Дизайн модулей: интерфейсы (inputs/outputs), семантическое версионирование, композиция, ограничение изменений.
• Источники модулей: registry, git, локальные; version constraints; private registry.
• Состояние (state) углублённо: структура state, блокировки, бэкенды (локальный, Terraform Cloud/Enterprise, S3-совместимые, Swift), шифрование, бэкап.
• Workspaces для сред (dev/stage/prod) и стратегии управления окружениями.
• Рефакторинг без простоев: moved-блоки, замены ресурсов, безопасность изменений.
• Импорт существующих ресурсов в конфигурацию и state, стратегии описания импортируемого ресурса.

Практика (4 ч)

• Выделение модулей: network, compute, security, lb (скелеты + документация).
• Настройка удалённого бэкенда (например, Swift или Terraform Cloud), проверка блокировок, совместной работы.
• Workspaces: разные переменные/автоматы, auto.tfvars для сред, общий код.
• Импорт существующей сети/образа в state, проверка планов; применение moved для безопасного переименования ресурса.
Теория (4 ч)

• Валидация: validation в variables, precondition/postcondition, ограничение входных данных и контрактов модулей.
• Секреты: sensitive, .tfvars(.gitignore), KMS/Vault/SOPS-паттерны, минимизация провижионеров, облачная метадата.
• Политики как код: OPA/Rego (conftest) против планов/конфигураций; Sentinel в Terraform Cloud/Enterprise.
• Статический анализ и безопасность: fmt/validate/tflint/checkov/tfsec, профили для OpenStack, устранение нарушений.
• Тестирование: подходы (интеграционные Terratest, проверка планов), тестовые окружения, очистка, параллельность.
• Отладка и диагностика: TF_LOG, terraform graph, разбор зависимостей, типичные ошибки провайдера.

Практика (4 ч)

• Добавление validation и pre/postcondition в существующие модули, негативные тесты.
• Подключение tflint + checkov/tfsec в репозиторий, устранение найденных проблем.
• Простая политика OPA: запрет 0.0.0.0/0 для SSH, ограничение flavors/имён; запуск против планов в CI-стиле локально.
• Минимальный Terratest: создание временного workspace, init/plan/apply, http-проверка фронта за LB, destroy.
Теория (4 ч)

• Паттерны HCL: nested for, flatten/zipmap/distinct/setproduct, шаблоны с templatefile, генерация SG из структур.
• Data sources: обнаружение образов, flavors, AZ; кэширование данных, устойчивость к изменениям.
• Provisioners: когда нельзя/можно, best practices с cloud-init, нулевые провижионеры (null_resource) и их альтернативы.
• Производительность и масштаб: -parallelism, refresh-only, таргетирование (когда безопасно), re-use модулей, планирование волн изменений.
• Оркестрация многих стеков: обзор Terragrunt/Make/генераторы, monorepo vs multi-repo, зависимости между стеками.
• OpenStack продвинуто: Octavia (LBaaS v2), Cinder (тома/attachments), Designate (DNS), мульти-регион/alias провайдера, квоты и лимиты.

Практика (4 ч)

• Многоуровневое приложение: frontend/backend сети, SG, инстансы по AZ, том для БД, LB (Octavia) с health checks.
• Data sources: выбор последнего образа по паттерну, динамические SG-правила из входного списка.
• Cloud-init: идемпотентная конфигурация сервисов; postcondition для валидации доступности.
• Декомпозиция на слои-модули (network/compute/lb/dns), оркестрация применений, публикация модулей в git/registry.
Теория (4 ч)

• Git-процесс: PR с артефактами планов, ревью, approvals, защита веток, ченджлоги для модулей.
• CI/CD пайплайны: fmt/validate, tflint, security scan, plan (артефакт), manual approval, apply; переменные и секреты, конкурентный запуск, стратегии окружений.
• Квоты/стоимость: превентивные проверки квот и ограничений, Infracost-подходы (если применимо), уведомления.
• Disaster Recovery: бэкап state, восстановление, stale locks, force-unlock, ручная правка state (mv/rm) — риски и порядок действий.
• Документация модулей и автогенерация (terraform-docs), каталоги модулей.

Практика (4 ч)

• Сборка CI-пайплайна (на выбор: GitLab CI/Jenkins): стадии, артефакты планов, ручное подтверждение, политики как шаг пайплайна.
• Инцидент: имитация пропажи локального state и восстановление из удалённого бэкенда; корректировка state mv/rm для устранения рассинхронизации.
• Релиз модулей: семантические версии, release notes, блокировка версий у потребителей.
• Финальное упражнение: участники с нуля разворачивают целевую инфраструктуру (сети, ВМ, LB, тома, DNS), проходят линтеры/политики/тесты, выполняют план/применение через CI, оформляют документацию и teardown.

Варианты
покупки курса

индивидуальное

Стоимость курса — 108 528,00 ₽

Групповые онлайн-занятия

Бессрочный доступ ко всем материалам

Живые вебинары с преподавателем

Домашние задания

Экзаменация с выдачей сертификата

Даты проведения курса:

оплатить курс

корпоративное

Стоимость курса от 108 528,00 ₽

Для получения данных о конечной стоимости и уточнения даты проведения курса, пожалуйста, заполните форму.

Оставить заявку

*Нажимая на кнопку, вы соглашаетесь с публичной офертой и политикой конфиденциальности