Перейти к основному содержимому
Настроить хранение Terraform State
Последнее изменение:

Настроить хранение Terraform State

Terraform State (состояние Terraform) — это файл с расширением .tfstate. Файл создается вместе с ресурсами после применения команды terraform apply, хранит описание ресурсов и инфраструктуры, созданных через Terraform, и обновляется при изменении инфраструктуры. Подробнее в статье Terraform State in Terraform Cloud документации HashiCorp.

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

  1. Создайте контейнер в объектном хранилище.

  2. Добавьте блок backend в конфигурационный файл:

    terraform {
    required_providers {
    selectel = {
    source = "selectel/selectel"
    version = "4.1.1"
    }
    openstack = {
    source = "terraform-provider-openstack/openstack"
    version = "1.54.1"
    }
    }

    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.