Инфраструктура Yandex Cloud через Terraform или OpenTofu
Terraform и OpenTofu описывают облачную инфраструктуру декларативным кодом: команда задаёт желаемое состояние, видит план изменений и только затем применяет его через API Yandex Cloud. Для действующего облака важно аккуратно импортировать ресурсы, защитить state и исключить секреты из репозитория. Мы создаём рабочую структуру, выравниваем её с реальностью и проверяем контролируемым изменением.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Виртуальные машины, сети и доступы создаются вручную, поэтому тестовый и рабочий каталоги постепенно расходятся.
- Перед изменением security group или диска команда видит результат только после нажатия кнопки в консоли.
- Инфраструктуру требуется передать другой команде вместе с понятным кодом, версиями и историей изменений.
- Компания выбирает OpenTofu или Terraform и хочет безопасно подключить уже существующие ресурсы к state.
Что именно мы сделаем
Инвентаризируем каталог, ресурсы, зависимости, владельцев, критичность и текущий способ внесения изменений.
Создаём репозиторий, модули, variables, outputs, ограничения версий и конфигурацию Yandex provider.
Настраиваем сервисный аккаунт с нужными ролями и удалённый защищённый state в Object Storage.
Импортируем существующие ресурсы, выравниваем HCL до чистого plan и добавляем защиту критичных объектов.
Проводим контрольный plan/apply, проверяем отсутствие дрейфа и передаём процесс команде.
Что входит в стоимость
59 900 ₽ за всю работу
Переводим один каталог Yandex Cloud и выбранный набор ресурсов в инфраструктурный код. Создаём структуру модулей, variables и outputs, настраиваем официальный Yandex provider, сервисный аккаунт и удалённый state в Object Storage, импортируем существующие объекты и выравниваем конфигурацию. Добавляем безопасный plan/apply, защиту критичных ресурсов, README и контрольное изменение.
Что будет готово
Передадим вам
- Репозиторий Terraform или OpenTofu с модулями, variables, outputs, lock-файлом и README.
- Импортированный state в защищённом Object Storage, сервисный аккаунт и правила доступа и резервирования.
- Чистый plan, протокол контрольного apply, защита критичных ресурсов и инструкция рабочего процесса.
Перед сдачей проверим
- Выбранные существующие ресурсы присутствуют в коде и state, а plan после выравнивания показывает только ожидаемые действия.
- Контрольное изменение проходит plan, подтверждение и apply, повторный plan подтверждает отсутствие незапланированного дрейфа.
- State хранится удалённо с ограниченным доступом и версией, credentials отсутствуют в Git и открытом выводе.
Как это выглядит на практике
Действующий каталог переходит от консоли к проверяемому plan
- 01
В каталоге вручную созданы сеть, две ВМ, security groups, диски и бакет, а точная последовательность настроек отсутствует.
- 02
Ресурсы инвентаризируются, импортируются в state и получают HCL-описание с переменными и зависимостями.
- 03
Удалённый state размещается в Object Storage, provider фиксируется, а первый чистый plan подтверждает совпадение с облаком.
- 04
Команда меняет одно правило через pull request, просматривает plan, применяет его и видит чистый повторный результат.
Что понадобится для работы
От вас
- Доступ чтения и выбранный административный доступ к каталогу Yandex Cloud, перечень ресурсов и владельцев.
- Репозиторий, выбранный Terraform или OpenTofu, правила веток, CI и безопасный способ аутентификации.
- Требования к state, резервированию, критичным ресурсам, окружениям и контрольному изменению для приёмки.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 56 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Что выбрать: Terraform или OpenTofu?
Оба используют HCL и providers. Выбор связываем с политикой компании, текущим кодом и инструментами автоматизации, затем фиксируем совместимые версии.
Можно описать уже работающую инфраструктуру?
Да. Сначала создаём resource-блок, импортируем объект в state и выравниваем параметры до plan с ожидаемым результатом.
Где будет храниться state?
В удалённом S3 backend Yandex Object Storage с ограниченными ключами, versioning и резервной копией. Локальные копии учитываются и защищаются.
State содержит секретные данные?
Он может хранить чувствительные атрибуты ресурсов, поэтому получает отдельный бакет, строгие права, шифрование транспорта, версии и закрытый доступ.
Как аутентифицируется provider Yandex Cloud?
Используем сервисный аккаунт с минимальными ролями. Для работы подходит временный IAM-токен через impersonation, для CI — выбранный защищённый механизм.
Что защищает ресурс от случайного удаления?
Plan проходит просмотр, критичные объекты получают deletion protection или prevent_destroy, а права apply ограничиваются ответственными ролями.
Можно подключить plan к pull request?
Да. Следующим шагом или в действующем CI добавляем format, validate и plan, сохраняем артефакт и разрешаем apply после подтверждения.
Как принимается результат?
Проверяем импорт, чистый plan, одно безопасное изменение через apply, повторный plan, удалённый state и запуск по README другим участником команды.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Аудит безопасности Yandex Cloud
Проверить облачную безопасность
- 02Инфраструктура Yandex Cloud через Terraform или OpenTofu
Перевести инфраструктуру в код
- 03Настройка Vault или Yandex Lockbox для секретов сайта
Настроить управление секретами