如果你现在的日常是登录控制台点几下创建一台机器,或者用脚本调 AWS CLI 拼参数,那这台课要补的缺口很明确:把「手动操作」换成「可版本化、可复现、可评审」的基础设施描述。Terraform 不是又一个要背命令的工具,它要求你先接受一个前提——基础设施的状态应该写在代码里,而不是留在某个人浏览器标签页的控制台上。

先确认你缺的到底是哪一块

这门课标题写的是从初级到高级,但真正需要它对号入座的,通常是三类人。第一类是从没碰过 IaC 的人:会写 Shell、会开 AWS 机器,但所有东西靠人记住先后顺序,换个人重做一遍就出错。第二类是已经用过 Terraform 但只停在 terraform apply 能跑通的人:文件能生效,但一旦出现 state 冲突、资源被手动改过、多人同时改同一份配置,就不知道从哪儿查。第三类是做 CI/CD 的:流水线里需要一个创建和销毁环境的标准动作,但不想让每个工程师各写一套。

如果上面任何一条说中了你,这门课的起点就是你的缺口,而不是它目录里的第一节。

这门课真正要你搞懂的几件事

  • HCL 怎么写只是表层,核心是配置文件、状态文件、真实资源三者之间的关系,以及为什么改了配置后 Terraform 能算出「该做什么」。
  • State 为什么是整个 Terraform 最容易出事的地方:本地 state、远程后端、状态锁,各自解决什么问题,又在什么情况下会把你卡住。
  • 变量、输出、模块不是语法糖,是把一份配置拆成可复用单元的手段。什么时候该抽模块,什么时候抽了反而更难维护,需要练习里反复判断。
  • AWS 网络概念会穿插进来:VPC、子网、路由、安全组怎么用 Terraform 描述。这部分不深讲网络原理,但要求你能读懂自己写出来的拓扑。
  • 工作流本身:plan 怎么看、apply 前该确认什么、资源被外部改动后怎么处理。这些是考试和面试里最容易被追问的实操点。

配套练习应该怎么用

看 Terraform 的内容,最大的坑是「看得懂、写不出」。建议每一段配置都自己在测试账号里跑一遍,并且刻意做几件破坏性的事:手动去控制台改掉一个由 Terraform 管理的资源,然后再 plan 一次,看它怎么反应;把 state 文件挪个位置,观察报错信息;两个人同时 apply,看锁的作用。这些操作在真实项目里会以事故的形式出现,提前在练习环境里撞一遍,比记住命令有用得多。

另外,练习时不要只满足于「资源创建成功」。创建成功后问自己:如果我明天要删掉整套环境,一条命令能不能干净拆掉?如果同事要在他自己的账号里复现一遍,需要改几个地方?这两个问题能筛掉大量「看起来能跑」的配置。

看完应该能回答的问题

  • 给定一份没见过的 Terraform 配置,你能说出 apply 之后大概会创建哪些资源、它们之间是什么依赖关系吗?
  • state 文件丢失或损坏时,有哪几种处理路径,各自的风险是什么?
  • 什么情况下你会把一段配置抽成模块,什么情况下宁可复制粘贴?
  • CI 里跑 Terraform,plan 和 apply 应该怎么分工,权限和状态后端怎么放?
  • 用 Terraform 建 AWS 网络时,子网、路由表、安全组之间的关联你能不看文档写出来吗?

这五个问题答不上来的地方,就是你还得回去补的章节。Terraform 的语法几天就能学完,真正的门槛在于判断力:判断状态该怎么管、抽象该做到哪一层、破坏性操作该不该放行。这门课的价值不在覆盖了多少命令,而在于它把「从能跑到敢在团队里用」之间那段路,拆成了可以练的动作。

Terraform–从初级到高级2025版

课程详情

课程详情

课程标题:Terraform–从初级到高级2025版

您将掌握基础设施配置和基础设施即代码工具Terraform。

适合人群

  • 想要从零开始学习Terraform并能够熟练使用它的人
  • 想要了解如何使用基础设施即代码工具来自动化基础设施的人
  • 想要学习如何使用Terraform自动化AWS基础设施的DevOps工程师、系统管理员、软件开发者
  • 希望为自己的技能树增加一种极具价值的基础设施创建和管理自动化工具的人

学习收获

  • 掌握最受欢迎的基础设施配置和基础设施即代码(IaC)工具之一——Terraform
  • 能够自信地在项目中使用Terraform
  • 了解Terraform语言的所有核心概念和组件
  • 获得Terraform的扎实实践经验
  • 了解基本的AWS网络概念以及如何使用Terraform创建AWS资源
  • 在DevOps就业市场上具有优势

课程亮点

  • 一步一步地学习Terraform,解释简单易懂
  • 数以万计的学生喜欢以简单方式解释复杂概念的方式
  • 所有知识基于参与过或咨询过的真实项目
  • 学习核心概念,如提供者、资源、Terraform命令、更改和销毁资源等
  • 在主演示项目中学习如何设置git仓库、创建AWS网络资源、EC2服务器实例等
  • 学习最佳实践,使用Git管理配置代码

课程目录

01 01-Terraform简介
  01 什么是基础设施即代码.mp4
  02 Terraform简介.mp4
02 02-Terraform 本地设置和 AWS 设置
  01 (实操)安装Terraform和本地设置.mp4
  02 (实操)创建一个AWS帐户和一个IAM用户.mp4
03 03-Terraform核心概念与组件
  01 (实操)Providers-连接到AWS提供商.mp4
  02 了解使用Terraform创建的AWS资源.mp4
  03 (实操)资源和数据源.mp4
  04 (实操)更改和销毁资源.mp4
  05 (实操)其它的Terraform命令.mp4
  06 (实操)Terraform State.mp4
  07 (实操)Output Values.mp4
  08 (实操)输入变量.mp4
  09 (实操)Terraform中的环境变量.mp4
04 04-Terraform实操演示项目-自动化AWS基础设施
  01 (实操)为我们的Terraform项目配置创建Git仓库.mp4
  02 演示项目概述.mp4
  03 (实操)使用terraform创建AWS VPC和子网.mp4
  04 (实操)创建路由表和互联网网关.mp4
  05 (实操)将子网与路由表关联.mp4
  06 (实操)使用AWS默认组件-默认路由表.mp4
  07 (实操)创建安全组及添加规则.mp4
  08 (实操)获取EC2实例的Amazon机器映像(AMI).mp4
  09 (实操)创建EC2实例.mp4
  10 (实操)创建SSH密钥对.mp4
  11 (实操)配置EC2实例运行初始化脚本并启动Docker容器.mp4
  12 使用Terraform实践:配置基础设施而非服务器.mp4
05 05-Terraform中的配置器
  01 配置器简介.mp4
  02 (实操)Terraform配置器远程执行、本地执行和文件.mp4
  03 (实操)是否推荐使用配置器.mp4
06 06-Terraform模块
  01 (实操)模块介绍.mp4
  02 (实操)将项目模块化-调整我们的main.tf文件.mp4
  03 (实操)创建和使用本地模块-封装网络配置.mp4
  04 (实操)模块Outputs.mp4
  05 (实操)创建第二个模块-封装服务器配置.mp4
  06 (实操)总结-模块化您的Terraform项目.mp4
  07 (实操)使用Terraform Registry中的现有模块.mp4
07 07-Terraform的远程状态
  01 Remote State简介.mp4
  02 (实操)使用AWS S3存储桶配置远程存储.mp4