Azure 上的 Terraform 概述:什么是 Terraform?

Hashicorp Terraform 是一种开源 IaC(基础结构即代码)工具,用于配置和部署云基础结构。 它在描述拓扑所需状态的配置文件中编写基础结构。 Terraform 支持通过 Terraform 提供程序管理任何基础结构,例如公有云、私有云和 SaaS 服务。

用于 Azure 基础结构的 Terraform 提供程序

以下几个 Terraform 提供程序可用于管理 Azure 基础结构:

  • AzureRM:管理稳定的 Azure 资源和功能,例如虚拟机、存储帐户和网络接口。
  • AzureAD:管理 Microsoft Entra 资源,例如组、用户、服务主体和应用程序。
  • AzureDevops:管理 Azure DevOps 资源,例如代理、存储库、项目、管道和查询。
  • AzAPI:直接使用 Azure 资源管理器 API 管理 Azure 资源和功能。 此提供程序通过启用未发布的 Azure 资源的管理来补充 AzureRM 提供程序。 有关 AzAPI 提供程序的详细信息,请参阅 Terraform AzAPI 提供程序
  • AzureStack:管理 Azure Stack Hub 资源,例如虚拟机、DNS、虚拟网络和存储。

使用 Azure 的 Terraform 的优势

本部分介绍使用 Terraform 管理 Azure 基础结构的好处。

通用 IaC 工具

使用 Terraform Azure 提供程序,可以使用相同的声明性语法和工具管理所有 Azure 基础结构。 使用这些提供程序,可以:

  1. 配置核心平台功能,例如管理组、策略、用户、组和策略。 有关详细信息,请参阅 云采用框架 Enterprise-scale 的 Terraform 实现。
  2. 配置 Azure DevOps 项目和管道,以自动执行常规基础结构和应用程序部署。
  3. 部署应用程序所需的 Azure 资源。

自动化基础结构管理

基于 Terraform 模板的配置文件语法使你能够以可重复且可预测的方式配置 Azure 资源。 自动化基础结构具有以下优势:

  • 降低在部署和管理基础结构时出现人为错误的可能性。
  • 多次部署同一模板,以创建相同的开发、测试和生产环境。
  • 通过按需创建开发和部署环境来降低成本。

应用基础结构更改前先理解这些更改

随着资源拓扑变得复杂,理解基础结构更改的含义和影响可能会很困难。

使用 Terraform CLI,用户可以在应用程序计划之前验证和预览基础结构更改。 以安全方式预览基础结构更改有以下优点:

  • 团队成员可以通过了解建议的更改及其影响,更有效地进行协作。
  • 在开发过程中,可以尽早捕获意外的更改。

后续步骤

根据环境安装并配置 Terraform: