Terraform и VPS: инфраструктура как код — иллюстрация к статье Storm Cloud Blog, категория DevOps
Terraform и VPS: инфраструктура как код — иллюстрация к статье Storm Cloud Blog, категория DevOps
DevOps·1 мин··

Terraform и VPS: инфраструктура как код

Зачем Terraform при ручном VPS, как описать сервер в HCL, state-файл и воспроизводимые окружения dev/stage/prod.

Terraform позволяет описать инфраструктуру в коде и воспроизводить окружения одной командой.


Зачем Terraform для VPS

  • Воспроизводимость — одинаковый dev/stage/prod
  • Версионирование — инфраструктура в Git
  • Документация — код = описание системы
  • Масштаб — 1 или 100 серверов

Даже при одном VPS Terraform полезен для дисциплины и экспериментов.


Пример (generic provider)

terraform {
  required_providers {
    # provider вашего облака
  }
}

resource "vps_instance" "web" {
  name  = "production-web"
  image = "ubuntu-22.04"
  size  = "2gb"
  region = "eu-west"
}
terraform init
terraform plan
terraform apply

State-файл

Храните terraform.tfstate в S3/remote backend — не в Git. Иначе риск потери и конфликтов.


Terraform vs Ansible

Terraform Ansible
Задача Создать ресурсы Настроить ОС
Идемпотентность Да Да
Вместе Да, часто в паре Да

Создали VPS в Terraform → настроили Ansible playbook.


Итог

IaC — следующий шаг после ручной настройки. Начните с одного .tf файла для dev-сервера.

VPS для экспериментов — StormNet Cloud. Ansible — гайд.

Частые вопросы

Нужен ли Terraform для одного VPS?

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

Можно ли управлять VPS через Terraform?

Да, через провайдеры облаков и API. Код инфраструктуры версионируется в Git — удобно для staging и production.