适用于 Terraform 的 Azure 导出概述
适用于 Terraform 的 Azure 导出是一种工具,旨在帮助减少 Azure 和 Terraform 概念之间的转换摩擦。
好处
使用适用于 Terraform 的 Azure 导出,可以:
- 简化迁移到 Azure 上的 Terraform。 使用适用于 Terraform 的 Azure 导出,可以使用单个命令将 Azure 资源迁移到 Terraform。
- 使用单个命令将用户指定的资源集导出到 Terraform HCL 代码和状态。 使用适用于 Terraform 的 Azure 导出,可以指定要导出的预先确定的范围。 范围可以像单个资源一样精细。 还可以导出资源组及其嵌套资源。 最后,可以导出整个订阅。
- 检查具有所有公开属性的预先存在的基础结构。 无论是学习新发布的资源还是调查生产中的问题,适用于 Terraform 的 Azure 导出都支持只读导出,并可以选择公开所有可配置的资源属性。
- 遵循计划/应用工作流,将非 Terraform 基础结构集成到 Terraform 中。 导出 HCL 代码,检查非 Terraform 资源,并将其轻松集成到生产基础结构和远程后端。
安装
Azure 适用于 Terraform 的 Azure 导出 GitHub 页面列出了该工具的版本,其中包含各种平台(Windows MSI、Homebrew 和 Linux 安装)的安装链接和源代码。
使用情况
最抽象的 Azure 导出调用方式如下:
aztfexport [command] [option] <scope>
范围会根据正在运行的命令而变化,可用的选项标志集也是如此。 根据要导出的内容,应使用三个命令:
任务 | 说明 | 示例 |
---|---|---|
导出单个资源。 | 若要导出单个资源,请指定与资源关联的 Azure resourceID。 | aztfexport resource [option] <资源 id> |
导出资源组。 | 若要导出资源组(及其嵌套资源),请指定资源组名称;不是 ID。 | aztfexport resource-group [option] <资源组名称> |
使用查询导出。 | 该工具支持使用 Azure Resource Graph 查询进行导出。 | aztfexport query [option] <ARG where predicate> |
提供程序
虽然 Azure 导出默认为 azurerm
提供程序,但也可以导出AzAPI
提供程序:
aztfexport [command] --provider-name=azapi [further options] <scope>
数据收集泄露
默认情况下,适用于 Terraform 的 Azure 导出会收集遥测数据。 但是,可以轻松禁用此过程。
Microsoft 聚合收集的数据以识别使用模式、识别常见问题并改善适用于 Terraform 的 Azure 导出的体验。 例如,使用情况数据可帮助确定问题(如命令成功率较低),并帮助确定工作优先级。 适用于 Terraform 的 Azure 导出不会收集任何私有或个人数据。
如果确实要禁用数据收集,请在安装该工具后运行以下命令:
aztfexport config set telemetry_enabled false
后续步骤
概念:
适用于 Terraform 的 Azure 导出概念:了解适用于 Terraform 的 Azure 导出的工作流及其最佳做法和当前设计限制。
快速入门文章:
操作指南文章:
操作指南文章介绍更复杂的方案以及说明和选项: