Настроить хранение Terraform State
Настроить хранение Terraform State
Terraform State (состояние Terraform) — это файл с расширением .tfstate
. Файл создается вместе с ресурсами после применения команды terraform apply
, хранит описание ресурсов и инфраструктуры, созданных через Terraform, и обновляется при изменении инфраструктуры. Подробнее в статье Terraform State in Terraform Cloud документации HashiCorp.
Terraform State можно хранить в объектном хранилище Selectel, чтобы пользователи с доступом к файлу м огли получать ID созданных ресурсов и обмениваться состоянием инфраструктуры.
-
Добавьте блок
backend
в конфигурационный файл:terraform {
required_providers {
selectel = {
source = "selectel/selectel"
version = "5.1.0"
}
openstack = {
source = "terraform-provider-openstack/openstack"
version = "2.0.0"
}
}
backend "s3" {
bucket = "<container_name>"
endpoint = "s3.ru-1.storage.selcloud.ru"
key = "<file_name>.tfstate"
region = "ru-1"
skip_region_validation = true
skip_credentials_validation = true
access_key = "<access_key>"
secret_key = "<secret_key>"
}
}Укажите:
<container_name>
— имя контейнера в объектном хранилище, в котором будет храниться файл с состоянием Terraform. Можно посмотреть в панели управления в разделе Объектное хранилище → Контейнеры;<file_name>
— имя файла с состоянием Terraform;<access_key>
— идентификатор S3-ключа Access Key ID, который выдан пользователю;<secret_key>
— секретный S3-ключ Secret Access Key.