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

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

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

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

  • AzureRM:管理稳定的 Azure 资源和功能,例如虚拟机、存储帐户和网络接口。
  • AzAPI:直接使用 Azure 资源管理器 API 管理 Azure 资源和功能。 实现与 Azure 最新和最强大功能的一致性,而无需提供程序更新。 有关 AzAPI 提供程序的详细信息,请参阅 Terraform AzAPI 提供程序
  • AzureAD:管理 Microsoft Entra 资源,例如组、用户、服务主体和应用程序。
  • AzureDevops:管理 Azure DevOps 资源,例如代理、存储库、项目、管道和查询。
  • AzureStack:管理 Azure Stack Hub 资源,例如虚拟机、DNS、虚拟网络和存储。

将 Terraform 与 Azure 结合使用的优点

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

常用 IaC 工具

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

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

自动化基础结构管理

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

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

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

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

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

  • 团队成员可以通过了解建议的更改及其影响来更有效地协作。
  • 在开发过程的早期就可能会发现意外的更改。

后续步骤

根据环境安装并配置 Terraform: