Middle
Kādu pieeju izmanto Terraform resursu pārveidošanai?
sobes.tech AI
Atbilde no AI
Terraform izmanto pieeju "iznīcināt un izveidot":
Ja ir nepieciešama pilnīga atjaunošana vai izmaiņas resursā, kuru nevar veikt vietējā līmenī, Terraform veic šādas darbības:
- Esošā resursa iznīcināšana: Terraform dzēš resursu no infrastruktūras, izmantojot atbilstošo API:
- Jauna resursa izveide: Pēc veiksmīgas dzēšanas Terraform izveido jaunu resursu ar jaunajiem parametriem:
Tas notiek, kad Terraform konfigurācijas izmaiņas prasa pilnīgu resursa nomaiņu. Piemēram, apakštīkla tipa maiņa (publiska uz privātu), kas nav atbalstīta vietējā atjaunināšanā. Terraform pats nosaka, kad nepieciešams izmantot šo pieeju, izpildot terraform plan. Plānā skaidri norādīs, ka resursu iznīcinās un izveidos no jauna:
// Piemērs resursam, kuru var pārveidot, mainot dažus atribūtus
resource "aws_instance" "example" {
ami = "ami-0abcdef1234567890" # AMI maiņa parasti prasa pārveidošanu
instance_type = "t2.micro" # Tipa maiņa arī var prasīt pārveidošanu
subnet_id = "subnet-0123456789abcdef0" // Subnet ID maiņa gandrīz vienmēr prasa pārveidošanu
tags = {
Name = "ExampleInstance"
}
}
terraform plan rezultāts, kas norāda uz pārveidošanu:
Plan: 1 to add, 0 to change, 1 to destroy.
Terraform veiks šādas darbības:
# aws_instance.example tiks iznīcināts
- resource "aws_instance" "example" {
- ami = "ami-old-id" -> null
- arn = "arn:aws:ec2:..." -> null
... (citi atribūti)
}
# aws_instance.example tiks izveidots no jauna
+ resource "aws_instance" "example" {
+ ami = "ami-new-id"
+ instance_type = "t2.micro"
+ subnet_id = "subnet-0123456789abcdef0"
... (citi atribūti)
}