Ответ
Terraform — это инструмент для управления инфраструктурой как код (IaC). Он позволяет декларативно описывать облачные ресурсы (серверы, сети, базы данных и т. д.) в конфигурационных файлах, а затем развертывать их с помощью провайдеров (AWS, GCP, Azure и др.).
Ключевые особенности:
- Декларативный подход: описываешь желаемое состояние, а Terraform сам определяет, как его достичь.
- Идемпотентность: повторное применение конфигурации не меняет уже развернутые ресурсы, если они соответствуют описанию.
- План изменений: перед применением можно увидеть, какие изменения будут внесены (
terraform plan).
Пример (развертывание EC2 в AWS):
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
Запуск:
terraform init # Инициализация провайдера
terraform plan # Просмотр плана
terraform apply # Развертывание