Resource đã tạo vẫn được ghi vào state, nên chạy lại sẽ làm tiếp phần còn thiếu chứ không làm lại từ đầu. Terraform không có transaction trên nhiều resource nên không có rollback toàn bộ.
Trường hợp khó chịu hơn: resource đã tạo ở phía AWS nhưng response mất nên state chưa ghi. Lần sau apply sẽ cố tạo lại và fail vì trùng tên — xử lý bằng terraform import rồi chạy tiếp.
Các cấu hình giảm loại lỗi này:
hcl
provider "aws" { max_retries = 10 }
resource "aws_db_instance" "main" {
timeouts { create = "60m" } # RDS tao lau hon default
}bash
terraform apply -parallelism=5 # giam khi bi API rate limitThói quen vận hành: fail thì đọc kỹ message trước khi retry.
Lỗi cấu hình mà cứ chạy lại có thể để lại resource rác sau mỗi lần thử.