Sobes.tech
Junior

რა არის ანგარიში Terraform-ში და რამდენად ხშირად იყენებთ მას?

sobes.tech AI

პასუხი AI-სგან

ტეფორმის ანგარიში (სხვადასხვა დროს მას უწოდებენ "backend configuration") განსაზღვრავს, სად იქნება შენახული მდგომარეობის ფაილი (terraform.tfstate). ეს ფაილი ძალიან მნიშვნელოვანია, რადგან შეიცავს ინფორმაციას განთავსებული ინფრასტრუქტურის მიმდინარე მდგომარეობის შესახებ:

გამოყენების სიხშირე:

  • ყოველთვის გუნდურ მუშაობის ან ღრუბლოვანი გარემოს განთავსების დროს. ადგილობრივი შენახვა (local backend) გამოიყენება მხოლოდ ექსპერიმენტებისთვის ან ყველაზე მარტივ ადგილობრივ პროექტებისთვის:
  • ყოველი ინფრასტრუქტურის განთავსება, რომელიც იყენებს Terraform-ს, საჭიროებს backend-ის კონფიგურაციას მდგომარეობის შენახვისთვის:

მთავარი backend-ის ტიპები, რომლებიც მე ვიყენებ:

  • S3 (AWS): ყველაზე გავრცელებული AWS-ისთვის:
    terraform {
      backend "s3" {
        bucket         = "my-terraform-state-bucket"
        key            = "path/to/my/state.tfstate"
        region         = "us-east-1"
        # დამატებითი პარამეტრები, მაგალითად, დაშიფვრა ან ბლოკირება
        encrypt        = true
        dynamodb_table = "my-state-lock-table" # ერთდროულად წვდომის თავიდან აცილებისთვის
      }
    }
    
  • azurerm (Azure Storage Account): 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): GCP-ისთვის:
    terraform {
      backend "gcs" {
        bucket = "my-terraform-state-bucket"
        prefix = "path/to/state" # ფაილი იქნება my-terraform-state-bucket/path/to/state/terraform.tfstate
      }
    }
    

Backend-ის არჩევანი დამოკიდებულია ღრუბლოვანი პროვაიდერის და თანამშრომლობის, მდგომარეობის ბლოკირების და უსაფრთხოების მოთხოვნებზე. ტეფორმის ანგარიში (backend) მიზნად ისახავს საიმედო, ცენტრალიზებული შენახვის უზრუნველყოფას, რომელიც ხელმისაწვდომია ყველა გუნდის წევრისთვის და დაცულია ერთდროულად ცვლილებებისგან.