Terraform Associate 课程
面向 HashiCorp Terraform Associate 的结构化课程,涵盖核心概念、状态与后端、资源与模块,以及 Terraform Cloud 与 CLI,并配有练习题。
课程进度
0 / 5
返回课程
你将学到
- 理解 Terraform Associate 考试结构。
- 编写和理解 HCL、资源、变量和输出。
- 管理状态、后端、锁定和工作区。
- 使用 count、for_each、Provisioner 和可复用模块。
- 使用 Terraform CLI、计划、应用和 Terraform Cloud。
开始前准备
- 无需先获得其他认证。
- 具备基础云计算知识会有帮助。
- 安装 Terraform 并创建免费账户有助于练习。
课程 1 了解 Terraform Associate 考试
HashiCorp Terraform Associate 认证考察 Terraform 和基础设施即代码的基础知识。考试覆盖核心概念、状态管理、资源与 Provisioner、模块,以及 Terraform Cloud 和 CLI 工作流。题目为选择题,要求理解 Terraform 如何计划和应用更改。需要掌握 HCL 语法、变量、输出、Provider、资源、数据源,以及 init、validate、plan、apply 等主要 CLI 命令。还要理解状态、后端、锁定、敏感数据和远程状态。模块、工作区和 Terraform Cloud Run 也是重要考点。好的备考路径从配置基础开始,再到状态和后端,然后是资源和模块,最后是 CLI 与 Terraform Cloud 工作流。本课程把主题分成五节,并链接到题库供你检验理解。
示例
示例:terraform plan 显示将要发生的更改,terraform apply 执行更改。课程 2 核心概念与配置
Terraform 是声明式管理云资源的基础设施即代码工具。HCL 是用于定义资源的配置语言。Provider 是把 Terraform 连接到云或 API 的插件。资源是 Terraform 管理的基础设施对象,数据源读取现有信息。变量让用户传入输入值,输出在应用后暴露有用值。主要命令包括 init(准备目录)、validate(检查语法)、plan(显示更改)、apply(执行更改)和 destroy(删除资源)。fmt 格式化文件,refresh 根据真实基础设施更新状态。Terraform 根据引用构建依赖图,以确定创建和更新资源的正确顺序。理解这些基础会让后续考试内容更容易。
示例
示例:resource "aws_instance" "web" 声明 Terraform 应创建的虚拟机。课程 3 状态与后端
Terraform 状态把配置映射到真实世界资源。状态文件存储资源元数据,因此 Terraform 可以准确计划更改。状态可以存储在本地或远程后端。Terraform Cloud、S3、Azure Storage 等远程后端支持团队协作。状态锁定防止并发运行同时修改状态。敏感值可能以明文出现在状态中,因此应使用安全后端和访问控制。state 命令族包括 list、show、mv、rm、pull 和 push。terraform refresh 用真实基础设施值更新状态,terraform import 把现有资源附加到配置。工作区为同一配置提供独立状态,适用于开发和生产等环境。
示例
示例:使用远程后端让团队共享带锁定的同一个状态文件。课程 4 资源与模块
资源是 Terraform 配置的核心。count 从一个块创建多个实例,for_each 遍历映射或集合。depends_on 声明显式依赖,lifecycle 块控制 create_before_destroy、prevent_destroy 等行为。Provisioner 在资源创建后执行操作;local-exec 在 Terraform 主机运行,remote-exec 在远程资源运行。模块是可复用的配置容器。根模块是当前工作目录,子模块可以从本地路径、Registry 或 Git 调用。模块输入是变量,输出是返回的值。Terraform Registry 提供公共模块和 Provider,版本控制让你锁定特定模块版本。良好的模块设计减少重复并让基础设施更易维护。
示例
示例:从 Registry 调用网络模块,并传入区域和 CIDR 变量。课程 5 CLI 与 Terraform Cloud
Terraform CLI 是与配置交互的主要方式。常用命令包括 init、validate、fmt、plan、apply、destroy、output、state 和 import。terraform plan -out 保存执行计划,之后可以应用。Terraform Cloud 是托管服务,远程存储状态、运行计划和应用、管理变量并支持团队工作流。Run 代表工作区的计划和应用管道。变量可以存储在工作区并标记为敏感。Run Trigger 在链接源变化时启动运行。工作区让团队分别管理开发、预发布和生产等环境。需要理解何时使用本地工作流与 Terraform Cloud,以及如何检查和排查 Run 与状态。