如果在地形中丢失状态文件,如何删除基础设施资源?



我创建了一个用于部署EC2虚拟机的平台模板。它还创建创建EC2虚拟机所需的子网、安全组和网络接口。我将这个地形模板上传到S3桶。接下来,我创建了Lambda函数来下载这个地形模板并创建资源。我没有tfstate文件,因为Lambda函数终止了。现在,我想使用Terraform模板销毁Lambda函数创建的这些资源。

我该怎么做呢?

我已经尝试了以下的事情,但没有工作:

  1. 我在本地环境中有一个terraform plan文件。我没有找到一个方法把这个传递给terraform destroy

  2. 当我在本地环境中尝试这个模板时,它生成了一个tfstate文件。我使用该文件来销毁资源,但得到以下错误:自上次terraform apply以来,Terraform检测到以下在Terraform外部发生的更改。

  3. 我尝试terraform refreshterraform delete刷新资源状态并销毁它们。

  4. 我也试过terraform plan -destroyterraform apply -destroy命令。

除了手动删除这些资源,还有其他方法吗?

  • 使用https://github.com/GoogleCloudPlatform/terraformer用本地保存的状态文件导入资源
  • 运行Terraform计划以确保导入的资源与那里的匹配
  • 使用https://github.com/cloudskiff/driftctl的报道比较进口资源
  • 再次运行Terraform destroy

因为你起程拓殖资源和模板使用起程拓殖云也资源手动导入状态文件导入,但测试上工作流。

相关内容

  • 没有找到相关文章

最新更新