create_before_destroy.
Mặc định Terraform destroy trước rồi create sau, nên có một khoảng không có resource nào phục vụ.
hcl
resource "aws_launch_template" "app" {
name_prefix = "app-" # bat buoc: ten phai unique
lifecycle {
create_before_destroy = true
}
}Điều kiện để chạy được: hai bản phải tồn tại đồng thời. Nhiều resource ràng buộc tên unique nên phải dùng name_prefix thay vì name, không thì create cái mới fail vì trùng tên.
Với resource stateful như RDS, cách này thường không dùng được vì dữ liệu không tự chuyển sang bản mới — cần một quy trình migration riêng.
Với app server, cách chuẩn hơn là để ASG + instance_refresh lo rolling update: nền tảng tự drain instance cũ khỏi target group và chờ health check của instance mới.