如何使用Terraform销毁指定模块 无需逐个删除资源
定向销毁单区域对应Terraform模块的操作方法
你配置里的两个模块已经通过显式provider绑定做了资源隔离,不需要逐个删除模块内资源,直接通过target参数指定目标模块即可完成整模块销毁,操作流程如下:
- 操作前先执行
terraform refresh同步最新的资源状态,避免本地状态和云端实际资源不一致导致误操作。 - 执行带目标参数的销毁命令,销毁孟买区域全量资源对应命令:
terraform destroy -target=module.mumbai
销毁首尔区域全量资源对应命令:
terraform destroy -target=module.seoul
执行命令后Terraform会先展示本次操作将要销毁的所有资源列表,务必逐一核对列表内的资源所属区域、资源标识全部属于目标模块,确认没有关联到另一区域的资源后,再输入
yes确认执行销毁。
如果后续你不再需要对应区域的部署,等销毁流程跑完后,可以把根配置文件里对应的module块代码删除,再执行一次terraform apply,就能彻底清理状态文件里残留的模块引用,完全不会影响保留区域的资源正常运行。
内容的提问来源于stack exchange,提问作者Gautam
相关产品推荐
相关产品推荐

