Sobes.tech
Middle

რა მიდგომას იყენებს Terraform რესურსების ხელახლა შექმნისას?

sobes.tech AI

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

Terraform იყენებს მეთოდს "მოწყვეტა და შექმნა":

თუ საჭიროა რესურსის სრული განახლება ან ცვლილება, რომელიც ადგილზე განახლებას ვერ ექვემდებარება, Terraform ახორციელებს შემდეგ ნაბიჯებს:

  1. არსებული რესურსის განადგურება: Terraform ამოიღებს რესურსს ინფრასტრუქტურიდან შესაბამის API-ებს გამოყენებით:
  2. ახალი რესურსის შექმნა: წარმატებული განადგურების შემდეგ, Terraform ქმნის ახალ რესურსს ახალი პარამეტრებით:

ეს ხდება, როდესაც Terraform კონფიგურაციის ცვლილებები მოითხოვს რესურსის სრული ჩანაცვლებას. მაგალითად, სუბნეტის ტიპის ცვლილება (საზოგადოებიდან კერძო), რომელიც ვერ ხერხდება ადგილზე განახლებით. Terraform თვითონ განსაზღვრავს ამ მეთოდს terraform plan ბრძანების შესრულებისას. გეგმაში გამოჩნდება, რომ რესურსი განადგურდება და თავიდან შექმნილი იქნება:

// მაგალითი რესურსის, რომელიც შეიძლება განახლდეს გარკვეული ატრიბუტების ცვლილებისას
resource "aws_instance" "example" {
  ami           = "ami-0abcdef1234567890" # AMI-ის ცვლილება ჩვეულებრივ მოითხოვს განახლებას
  instance_type = "t2.micro"           # ტიპის ცვლილებაც შეიძლება მოითხოვოს განახლება
  subnet_id     = "subnet-0123456789abcdef0" // Subnet ID-ის ცვლილება თითქმის ყოველთვის მოითხოვს განახლებას

  tags = {
    Name = "ExampleInstance"
  }
}

terraform plan-ის შედეგის მაგალითი, რომელიც აჩვენებს განახლებას:

Plan: 1 to add, 0 to change, 1 to destroy.

Terraform შეასრულებს შემდეგ მოქმედებებს:

  # aws_instance.example განადგურდება
  - resource "aws_instance" "example" {
      - ami                    = "ami-old-id" -> null
      - arn                    = "arn:aws:ec2:..." -> null
      ... (სხვა ატრიბუტები)
    }

  # aws_instance.example კვლავ შექმნილი იქნება
  + resource "aws_instance" "example" {
      + ami           = "ami-new-id"
      + instance_type = "t2.micro"
      + subnet_id     = "subnet-0123456789abcdef0"
      ... (სხვა ატრიბუტები)
    }