我有一个 100% 使用 Terraform 构建的 AWS 环境。几天来我都没有碰过它,但今天当我去做一个我认为相当微不足道的更改时,Terraform 决定为我构建一个全部的新的 AWS 基础设施。无论我做什么,撤销变更都没什么区别,Terraform 现在想要构建新的基础设施。
确实如此不是它想拆除旧的基础设施,并同时建设新的基础设施。
这基本上就像我所有先前存在的基础设施都不存在一样。
我怀疑这是因为所有内容都与 VPC 绑定,并且因为它认为需要创建一个新的 VPC,所以 VPC 下游的所有内容(即所有内容)也将被重新创建,以便 ID 匹配。
我对 Terraform 还很陌生,有什么方法可以“强制” Terraform 恢复到其原来状态吗?
答案1
看起来错误的全局查找和替换是造成该问题的原因——它修改了 Terraform 状态文件,从而导致了这个级联问题。
恢复没有此问题的状态文件版本已解决该问题。
我认为是时候获取地形状态文件了进入 S3以避免此类事件再次发生。