Terraform 摧毁特定的地形基础设施

Terraform 摧毁特定的地形基础设施,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我使用terraform创建了不同环境(测试/生产)的基础设施,使用工作区、本地和-backend config,所以只有两个不同的文件,其他文件对这两个环境都是通用的 不幸的是,我没有找到一种方法以同样的方式销毁特定环境(不为每个环境创建大量特定文件) 我错过什么了吗?有办法吗 任何帮助都将不胜感激 提前谢谢 问候, 弗洛伦特 编辑:谢谢你的回答,我使用工作区、本地和后端配置成功地完成了我想做的事情 不要将地形命令init/workspace与plan/apply/destroy混合使用 因此

我使用terraform创建了不同环境(测试/生产)的基础设施,使用工作区、本地和-backend config,所以只有两个不同的文件,其他文件对这两个环境都是通用的

不幸的是,我没有找到一种方法以同样的方式销毁特定环境(不为每个环境创建大量特定文件)

我错过什么了吗?有办法吗

任何帮助都将不胜感激

提前谢谢

问候,

弗洛伦特


编辑:谢谢你的回答,我使用工作区、本地和后端配置成功地完成了我想做的事情

不要将地形命令
init/workspace
plan/apply/destroy
混合使用

因此,我猜您可以使用以下命令来设置后端(保存tfstate文件的位置)


请告诉我这是否解释了您的担忧。

您可以使用
-target
以特定资源为目标进行销毁

terraform destroy \
  -target module.default.aws_autoscaling_group.one \
  -target module.default.aws_autoscaling_group.two
使用TerraformV0.13

我试图通过
tfvars
文件来销毁命令,如下所示:

terraform destroy -auto-approve -var-file="env/stage.tfvars"

你好,谢谢你的回答。我不太明白为什么我不应该混合使用init/workspace和plan/apply/destroy,你能再解释一下吗?现在,我在.tf文件中使用局部变量,所以如果我正确理解了您的意思,我应该为变量创建一个单独的文件,并告诉terraform将其与-var file参数一起使用?我对使用terraform还很陌生,如果你觉得有些问题很愚蠢,我很抱歉!谢谢:)我调整了答案,您可以使用
-var file=dev/terraformtfvars
-var file=prod/terraformtfvars
terraform destroy \
  -target module.default.aws_autoscaling_group.one \
  -target module.default.aws_autoscaling_group.two
terraform destroy -auto-approve -var-file="env/stage.tfvars"