`terraform destroy`销毁时可以删除S3状态文件吗?

red*_*888 6 terraform

当我运行terraform destroy以销毁文件夹中的所有内容时,我将状态文件留在 S3 中(我将其用作后端)。

它留下的状态文件如下所示:

{
  "version": 4,
  "terraform_version": "0.12.12",
  "serial": 7,
  "lineage": "9eb5ca6d-20a9-d5f5-053a-eefe274bf669",
  "outputs": {},
  "resources": []
}
Run Code Online (Sandbox Code Playgroud)

Terraform 可以在销毁时删除 S3 文件吗?

bis*_*hop 4

可能不会。

Terraform需要状态才能运行,零资源的状态文件代表基础设施状态,这与根本没有状态文件不同。也就是说,您之前创建过资源,如果要比较状态文件的备份,可以清楚地看到并恢复状态历史记录。

我们通过查看terraform stateterraform destroy命令进一步确认了这一点,并注意到它们的子命令或选项都没有删除状态文件。

话虽如此,可能有效但我从未尝试过的方法是,如果 terraform 管理包含状态文件的存储桶,并且您销毁该存储桶(在存储桶销毁操作期间使用本地备份作为状态文件),我们将有效地欺骗 terraform 擦除其状态。