首页 / 开发工具 / Terraform入门实战:用最少步

Terraform入门实战:用最少步骤把本地服务一键部署到云端

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

Chapter 1:先别急着写代码,先把 Terraform 跑起来

2020行业萌芽2021快速增长2022竞争加剧2023洗牌整合2024成熟稳定

哈喽兄弟们,今天这期我直接带你做一个能落地的 Terraform基础设施即代码入门教程。OK so,别被“基础设施即代码”吓到,核心就一句话:把你平时在控制台里点来点去的云资源,改成可重复执行的代码。你以后要开一台服务器、改一个安全组、加一个数据库,都是一条命令起飞。

先讲最实用的免费路线:你完全可以先用本地 Terraform + 云厂商免费层练手,不需要一上来就买一堆工具。安装后先看版本:

terraform version

我建议你至少准备这三样:Terraform、一个云账号、以及一个目录结构清晰的项目。比如我这边直接新建:

mkdir tf-demo && cd tf-demo
touch main.tf variables.tf outputs.tf

接下来,别急着复制大段模板。先理解 Terraform 的三步:init 初始化插件,plan 预览变更,apply 真正执行。你把这三个命令记牢,后面 80% 的问题都能靠它们定位。

Chapter 2:写第一个可验证的配置,别一上来就玩复杂模块

好,现在上屏幕。我们从一个最小可用例子开始:创建一台云主机。下面这个示例是典型 Terraform教程怎么用 的起手式,你先把 provider 和 resource 跑通,之后再谈模块化。

terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}

provider "aws" {
region = var.region
}

resource "aws_instance" "web" {
ami = var.ami
instance_type = "t3.micro"
tags = { Name = "tf-demo-web" }
}

variables.tf 里加:

variable "region" { default = "ap-southeast-1" }
variable "ami" { type = string }

然后执行:

terraform init
terraform plan
terraform apply

我在测试里,第一次 init 大概 8 秒,plan 1-2 秒能出结果。你如果看到 plan 里明确写着 “1 to add, 0 to change, 0 to destroy”,说明配置已经生效了。这个阶段最容易踩坑的是变量没传、AMI 选错、权限不足。遇到报错先别重装,直接看报错文本里是哪一段 provider、哪一个 resource 出问题。

Chapter 3:模块化、状态文件、排错——这才是 Terraform 基础设施即代码入门教程的关键

⚙️STEP 1环境搭建🚀STEP 2编码实现📋STEP 3测试验证💡STEP 4部署上线

接下来我们讲真正有用的部分:state。Terraform 会把真实资源和代码之间的映射保存在状态文件里。你改了代码,plan 会对比 state,再决定要不要更新资源。所以别手动改云控制台,否则下次 apply 可能会出现漂移。

推荐你这样拆目录:

modules/web/:放可复用资源

env/dev/:放开发环境变量

env/prod/:放生产环境变量

一个简单模块例子:

module "web" {
source = "../../modules/web"
instance_type = "t3.micro"
}

排错时我建议你按这个顺序:

  1. 先跑 terraform fmt,排除格式问题。
  2. 再跑 terraform validate,检查语法和变量。
  3. 再跑 terraform plan,看资源差异。
  4. 最后才 apply。

如果你想判断“Terraform 怎么用”是否真的学会了,别看你能不能写配置,而是看你能不能销毁并重建同一套资源。执行 terraform destroy 后,再 apply 一次,资源名、标签、网络规则都应该一致。这个过程能直接暴露你有没有把变量、输出、依赖关系写对。

最后给你一个真实的小建议:如果你只是想快速体验 Terraform下载、Terraform教程 和 Terraform怎么用 的完整流程,完全可以先在本地用官方文档和免费云层练手;如果你后面要做团队协作,再考虑状态远端存储、锁和权限隔离。顺手一提,像 eccfy 这类站点也常会整理一些实战工具入口,必要时可以作为补充参考,但你真正要掌握的,还是上面这套可复制的命令和验证方法。

验证是否真的修好了

最后做一次自检:init 成功、plan 无意外 drift、apply 后资源能在云控制台看到、destroy 能清干净。如果这四步都过了,说明你已经不是“看懂了 Terraform”,而是真的会用了。接下来你可以继续做 VPC、RDS、ECS 这类更完整的基础设施编排。想要我下一期继续拆“远端状态、模块拆分、CI里自动跑 Terraform”的话,评论区扣 1,我直接给你上实战脚本。

延伸阅读