无需登录 数据私有 本地保存

Terraform 计划预览器 - 资源变更可视化

9
0
0
0

Terraform 计划预览器

可视化 Terraform Plan JSON 输出,清晰展示资源创建、修改、删除与替换变更

粘贴 Terraform Plan JSON 使用 terraform show -json planfile 获取 JSON
0
创建
0
修改
0
删除
0
不变
0
替换
0
总计
筛选: 全部 创建 修改 删除 不变 替换
常见问题与知识点
Terraform Plan 是 Terraform 在执行变更前生成的执行计划。它会对比当前基础设施状态与配置文件中定义的期望状态,列出所有将要创建、修改、删除或替换的资源。通过审查 Plan 输出,团队可以在应用变更前进行代码审查和安全评估,避免意外破坏生产环境。
首先运行 terraform plan -out=plan.tfplan 将计划保存到二进制文件,然后执行 terraform show -json plan.tfplan 即可输出标准 JSON 格式的执行计划。你也可以使用 terraform show -json plan.tfplan > plan.json 将结果重定向到文件。该 JSON 包含 resource_changes 数组,每个元素详细描述了资源的变更操作。
Create(创建):配置中定义了新资源,基础设施中尚不存在,将被新建。
Update(修改):资源已存在,部分属性发生变化,将就地更新(通常无停机或短暂影响)。
Delete(删除):资源存在于基础设施中但已从配置移除,将被销毁。
No-op(不变):资源状态与配置完全一致,无任何变更。
Replace(替换):资源因不可变属性变更而需要销毁后重建(actions 中包含 create 和 delete),通常意味着服务中断,需特别关注。
原生 terraform plan 的文本输出在资源数量较多时可读性较差,尤其在 CI/CD 流程中难以快速定位关键变更。JSON 可视化工具能提供:颜色编码快速区分操作类型、搜索过滤精准定位特定资源、属性级对比清晰展示字段级变化、变更摘要一目了然的统计数据。这大大提升了代码审查效率和安全审计的准确性。
推荐实践:在 Pull Request 触发 CI 时自动运行 terraform plan,将 JSON 输出发布到评论或可视化工具中。团队成员可直观查看哪些资源将被变更,尤其是删除替换操作需要额外审批。结合 Atlantis、Terraform Cloud 或 GitHub Actions,可实现自动化的 Plan 预览与策略检查。
Terraform 会自动将标记为 sensitive = true 的输出值和变量在 Plan 输出中隐藏(显示为 (sensitive value))。在 JSON 格式中,敏感属性会被移入 before_sensitiveafter_sensitive 字段。建议在分享 Plan 结果时仍保持谨慎,避免将包含敏感信息的完整 JSON 公开发布。