Dòng # ... must be replaced và ký hiệu -/+.
Đó là destroy rồi create lại, và với RDS hay EBS thì bằng mất dữ liệu.
text
# aws_db_instance.main must be replaced
-/+ resource "aws_db_instance" "main" {
~ identifier = "db-prod" -> "db-production" # forces replacementĐọc theo thứ tự:
1. Dòng tổng cuối: Plan: 2 to add, 1 to change, 3 to destroy. — số destroy khác 0 là phải dừng lại đọc kỹ.
2. Mọi # forces replacement — attribute nào gây replace.
3. Diff của resource stateful (DB, bucket, volume).
Thực hành nên có: apply đúng plan đã review, đừng plan lại lúc apply.
bash
terraform plan -out=tfplan
terraform apply tfplanMột chi tiết hay bị bỏ qua: plan có refresh state bằng cách gọi API provider nên nó phát hiện luôn drift.
Code không đổi mà plan vẫn ra diff nghĩa là có người sửa tay.