---
status: stable
type: concept
tags:
  - devops
created: 2026-02-13
updated: 2026-02-27
title: Terraform
---

# Terraform

[Devops вводный 3 урок. Работа с IaC через terraform и ansible.pdf](#root/LjCayegQsEBv/vJCtNA7LSLFA/ARzmNd1EFrgt)

Terraform - ПО, разработанное HashiCorp для централизованного управления инфраструктурой по методологии [[IaC - основы|IaC]].

Использует в своей работе сущности:

1. `main.tf` - основной файл с декларативным описанием желаемого состояния инфраструктуры.
2. `terraform.d/` -директория, в которой хранится terraform-провайдер (api для взаимодействия с конкретной платформой) после его загрузки.
3. `.terraform/` - директория, в которой хранятся файлы, в том числе и файлы провайдера.
4. `terraform.lock.hcl` - файл блокировки для кэша `.terraform/`.
5. `terraform.tfstate` - файл, для регистрации состояния инфраструктуры

Команды, используемые в работе с Terraform:

1. `terraform init` - инициализация рабочей директории, содержащей файлы tf.
2. `terraform plan` - команда для предварительного просмотра изменений без фактического применения.
3. `terraform apply` - применение изменений на инфре.
4. `terraform refresh` -