适用于 Terraform 的 Azure 导出概述

适用于 Terraform 的 Azure 导出是一种工具,旨在帮助减少 Azure 和 Terraform 概念之间的转换摩擦。

好处

使用 Azure Export for Terraform 可以:

  • 简化迁移到 Azure 上的 Terraform。 使用 Azure Export for Terraform,可以使用单个命令将 Azure 资源迁移到 Terraform。
  • 使用单个命令将用户指定的资源集导出到 Terraform HCL 代码和状态。 使用 Azure Export for Terraform 可以指定要导出的预先确定的范围。 范围可以像单个资源一样精细。 还可以导出资源组及其嵌套资源。 最后,可以导出整个订阅。
  • 检查具有所有公开属性的预先存在的基础结构。 无论是学习新发布的资源还是调查生产中的问题,Azure Export for Terraform 都支持只读导出,并可以选择公开所有可配置的资源属性。
  • 遵循计划/应用工作流,将非 Terraform 基础结构集成到 Terraform 中。 导出 HCL 代码,检查非 Terraform 资源,并将其轻松集成到生产基础结构和远程后端。

安装

Azure Export for Terraform GitHub 页面 列出了该工具的版本,其中包含各种平台(Windows MSIs、Homebrew 和 Linux 安装)和源代码的安装链接。

使用情况

Azure 导出最抽象,如下所示:

aztfexport [command] [option] <scope>

范围根据运行的命令而更改,可用选项标志集也发生了变化。 应根据要导出的内容使用三个命令:

任务 说明 示例
导出单个资源。 若要导出单个资源,请指定与资源关联的 Azure resourceID。 aztfexport resource [option] <resource id>
导出资源组。 若要导出资源组(及其嵌套资源),请指定资源组名称;不是 ID。 aztfexport resource-group [option] <资源组名称>
使用查询导出。 该工具支持使用 Azure Resource Graph 查询进行导出。 aztfexport query [option] <ARG where predicate>

数据收集泄露

默认情况下,适用于 Terraform 的 Azure 导出会收集遥测数据。 但是,可以轻松禁用此过程。

Microsoft 聚合收集的数据,以识别使用情况模式,以识别常见问题并改进适用于 Terraform 的 Azure 导出体验。 例如,使用情况数据可帮助确定问题(如命令成功率较低),并帮助确定工作优先级。 适用于 Terraform 的 Azure 导出不会收集任何私有或个人数据。

如果确实要禁用数据收集,请在安装该工具后运行以下命令:

aztfexport config set telemetry_enabled false

后续步骤

概念:

适用于 Terraform 的 Azure 导出概念:了解适用于 Terraform 的 Azure 导出的工作流及其最佳做法和当前设计限制。

快速入门文章:

操作方法文章:

操作指南文章介绍更复杂的方案以及说明和选项: