Terraform管理阿里云资源:从入门到实践

李架构师

· 阅读 445

分享
Terraform阿里云

Terraform管理阿里云资源:从入门到实践

Terraform是HashiCorp开源的基础设施即代码(IaC)工具,支持通过声明式配置文件管理阿里云资源。相比手动在控制台操作,Terraform带来了版本控制、自动化、可重复部署等优势。本文从安装配置到实际项目应用,带你上手Terraform管理阿里云资源。

安装和配置

下载Terraform二进制文件,配置阿里云的AccessKey和SecretKey。推荐使用环境变量:export ALICLOUD_ACCESS_KEY="your-ak"export ALICLOUD_SECRET_KEY="your-sk"。也可以使用RAM角色的方式,避免硬编码密钥。

核心工作流

Terraform的工作流非常简洁:terraform init(初始化,下载Provider插件)→ terraform plan(预览变更,显示将要创建/修改/删除哪些资源)→ terraform apply(执行变更)。每次apply后,Terraform将当前状态保存在 terraform.tfstate 文件中。

实际项目结构

推荐的项目结构:按环境(dev/staging/prod)分目录,共享模块(modules)抽取可复用的资源组合。比如一个VPC模块包含VPC+VSwitch+安全组的完整网络配置,在不同环境中复用。

使用 terraform.tfvars 管理环境变量(不同环境不同值),使用 variables.tf 定义输入参数,使用 outputs.tf 定义输出值(如ECS的IP地址)。

状态管理

生产环境务必使用远程状态(Remote State),推荐存储在OSS中。这样团队协作时所有人共享同一份状态,避免冲突。开启状态锁定(通过OSS的分布式锁),防止多人同时apply导致状态损坏。

常用技巧

terraform import 可以将已有资源导入Terraform管理(比如手动在控制台创建的资源)。terraform taint 标记某个资源需要重建。terraform destroy 销毁所有资源(慎用!)。使用 -target 参数只操作特定资源,加速调试。