Sobes.tech
Middle

Terraform ресурстарын кайра түзүүдө кайсы ыкманы колдонууда?

sobes.tech AI

AIден жооп

Terraform колдонуу "жоготуу жана түзүү" ыкмасын колдонуу:

Эгер ресурсты толук жаңылоо же өзгөртүү керек болсо, ал жеринде жаңылбаган (in-place update) болсо, Terraform төмөнкү кадамдарды аткарат:

  1. Бар ресурсты жок кылуу: Terraform ресурсты инфраструктурадан өчүрөт, тиешелүү API аркылуу:
  2. Жаңы ресурсты түзүү: Жок кылуудан кийин, Terraform жаңы параметрлери менен жаңы ресурсты түзөт:

Бул ыкма Terraform конфигурациясындагы өзгөртүүлөр ресурсту толук алмаштырууну талап кылганда колдонулат. Мисалы, облактын подсети түрүн өзгөртүү (жеке эмес, жалпы), ал in-place жаңылоого туура келбейт. 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"
      ... (калган атрибуттар)
    }