Terraform无法销毁AWS已手动删除的deposed launch configuration报错如何解决
问题解决方法
根本原因
你手动删除AWS控制台的launch configuration后,Terraform状态文件中仍然保留了该资源的deposed废弃对象记录。普通-refresh=true参数只会同步当前处于活跃状态的资源状态,不会处理这类废弃的历史记录,因此Terraform会持续尝试删除已经不存在的资源,触发报错。
处理步骤
- 第一步:确认deposed对象ID,你的案例中报错已经给出ID为
e9636964,如果需要查询该资源所有废弃对象记录,可执行:
terraform state show --deposed aws_launch_configuration.app
- 第二步:执行命令删除状态文件中对应的deposed记录:
terraform state rm aws_launch_configuration.app --deposed=e9636964
- 第三步:验证修复结果,重新执行
terraform plan或terraform apply,此时不会再出现删除不存在资源的报错,也不会产生多余的资源变更。
注意事项
后续尽量避免直接在云控制台手动删除Terraform管理的资源,如果确实需要手动清理,建议先通过terraform state rm命令移除对应资源的状态记录,再到控制台删除资源,避免出现状态和实际资源不一致的问题。
内容的提问来源于stack exchange,提问作者ROHIT BANSAL
相关产品推荐
相关产品推荐

