You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除资源时terraform apply与terraform destroy的区别是什么

你当前场景不需要同时执行两个命令,具体选择要结合你的Terraform工作目录管理的资源范围判断,两个命令在资源移除逻辑上的差异如下:

两个命令的移除逻辑差异

terraform apply(删除对应资源配置后执行)

  • 核心逻辑:Terraform会对比当前工作目录下的.tf配置、状态文件中记录的已存在资源,自动识别到你移除了RDS实例的配置定义,将该RDS实例标记为待销毁资源
  • 影响范围:仅销毁已经从配置文件中删除的资源,其余仍在.tf配置中定义的资源不会受到任何影响
  • 适用场景:你的工作目录下还管理了其他需要保留的Terraform资源,仅需要删除单台RDS实例
  • 操作步骤:
    • 先执行terraform plan确认输出的变更清单中,仅目标RDS实例被标记为销毁,无其他预期外的变更
    • 确认无误后执行terraform apply即可完成RDS实例的删除

terraform destroy

  • 核心逻辑:忽略当前.tf配置的内容,直接销毁状态文件中记录的所有由当前工作目录管理的Terraform资源
  • 影响范围:所有该工作目录下Terraform纳管的资源都会被删除,风险极高
  • 适用场景:你的工作目录下仅管理了这一台RDS实例,没有其他需要保留的资源
  • 注意:如果需要用该命令仅删除RDS实例,可以补充target参数指定资源:terraform destroy -target=aws_db_instance.你的RDS资源名,资源名可以通过terraform state list命令查询

最终建议

如果你的工作目录下还有其他需要保留的资源,不要直接执行terraform destroy,仅执行terraform apply即可;如果该目录下仅管理了这台RDS,执行任意一个命令都可以达到删除目的,无需两个都执行。


内容的提问来源于stack exchange,提问作者lipsum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:36:04