Sobes.tech
Junior

Kas yra paskyra Terraform ir kaip dažnai ją naudojate?

sobes.tech AI

Atsakymas iš AI

„Terraform“ paskyra (dažnai vadinama „backend configuration“) nustato, kur bus saugomas būsenos failas (terraform.tfstate). Šis failas yra labai svarbus, nes jame yra informacija apie įdiegtos infrastruktūros dabartinę būseną:

Naudojimo dažnumas:

  • Visada dirbant komandoje arba diegiant debesų aplinkoje. Vietinis būsenos saugojimas (local backend) naudojamas tik eksperimentams arba paprasčiausiems vietiniams projektams:
  • Kiekvienas infrastruktūros diegimas naudojant Terraform reikalauja backend konfigūracijos būsenos išsaugojimui:

Pagrindiniai backend tipai, kuriuos naudoju:

  • S3 (AWS): Labiausiai paplitęs AWS:
    terraform {
      backend "s3" {
        bucket         = "my-terraform-state-bucket"
        key            = "path/to/my/state.tfstate"
        region         = "us-east-1"
        # Papildomos parinktys, pvz., šifravimas ar blokavimas
        encrypt        = true
        dynamodb_table = "my-state-lock-table" # Siekiant išvengti vienalaikio prieigos
      }
    }
    
  • azurerm (Azure Storage Account): Skirtas Azure:
    terraform {
      backend "azurerm" {
        resource_group_name  = "my-terraform-rg"
        storage_account_name = "mystorageaccount"
        container_name       = "tfstate"
        key                  = "path/to/my/state.tfstate"
      }
    }
    
  • gcs (Google Cloud Storage): Skirtas GCP:
    terraform {
      backend "gcs" {
        bucket = "my-terraform-state-bucket"
        prefix = "path/to/state" # Failas bus my-terraform-state-bucket/path/to/state/terraform.tfstate
      }
    }
    

Backend pasirinkimas priklauso nuo debesų teikėjo ir bendradarbiavimo, būsenos blokavimo ir saugumo reikalavimų. Terraform paskyros (backend) tikslas – užtikrinti patikimą, centralizuotą būsenos saugojimą, kuris būtų prieinamas visiems komandos nariams ir apsaugotas nuo vienalaikių modifikacijų.