Sobes.tech
Junior

Šta je nalog u Terraformu i koliko često ga koristite?

sobes.tech АИ

Одговор од АИ

Nalog u Terraform-u (često nazivan "konfiguracija backend-a") određuje gde će biti sačuvan fajl stanja (terraform.tfstate). Ovaj fajl je kritičan jer sadrži informacije o trenutnom stanju implementirane infrastrukture.

Frekvencija korišćenja:

  • Uvek pri radu u timu ili pri implementaciji u cloud okruženju. Lokalno čuvanje stanja na fajl sistemu (local backend) koristi se samo za eksperimente ili vrlo jednostavne lokalne projekte.
  • Svaka implementacija infrastrukture pomoću Terraform-a zahteva konfiguraciju backend-a za čuvanje stanja.

Glavni tipovi backend-ova koje koristim:

  • S3 (AWS): Najrašireniji za AWS.
    terraform {
      backend "s3" {
        bucket         = "my-terraform-state-bucket"
        key            = "path/to/my/state.tfstate"
        region         = "us-east-1"
        # Dodatne opcije, kao što su enkripcija ili zaključavanje
        encrypt        = true
        dynamodb_table = "my-state-lock-table" # Za sprečavanje istovremenog pristupa
      }
    }
    
  • azurerm (Azure Storage Account): Za 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): Za GCP.
    terraform {
      backend "gcs" {
        bucket = "my-terraform-state-bucket"
        prefix = "path/to/state" # Fajl će biti my-terraform-state-bucket/path/to/state/terraform.tfstate
      }
    }
    

Izbor backend-a zavisi od cloud provajdera i zahteva za saradnju, zaključavanje stanja i sigurnost. Zadatak Terraform naloga (backend) je da obezbedi pouzdano, centralizovano čuvanje stanja, dostupno svim članovima tima i zaštićeno od istovremenih modifikacija.