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 基础结构。 使用这些提供程序,可以:
- 配置核心平台功能,例如管理组、策略、用户、组和策略。 有关详细信息,请参阅企业级云采用框架的 Terraform 实现。
- 配置 Azure DevOps 项目和管道,自动执行常规基础结构和应用程序部署。
- 部署应用程序所需的 Azure 资源。
自动化基础结构管理
使用基于 Terraform 模板的配置文件语法,可以通过可重复且可预测的方式配置 Azure 资源。 自动化基础结构具有以下优势:
- 降低在部署和管理基础结构时出现人为错误的可能性。
- 多次部署同一模板,以创建相同的开发、测试和生产环境。
- 通过按需创建开发和部署环境来降低成本。
应用基础结构更改前先理解这些更改
随着资源拓扑变得复杂,理解基础结构更改的含义和影响可能会很困难。
Terraform CLI 使用户能够在应用计划之前验证和预览基础结构更改。 以安全方式预览基础结构更改有以下优点:
- 团队成员可以通过了解建议的更改及其影响来更有效地协作。
- 在开发过程的早期就可能会发现意外的更改。
后续步骤
根据环境安装并配置 Terraform:
配置 Terraform:如果尚未执行此操作,请使用以下选项之一配置 Terraform: