前言

官网: https://developer.hashicorp.com/terraform
Terraform Registry: https://registry.terraform.io/namespaces/hashicorp


知识点

What is Terraform

  • Terraform 是一个开源的“基础设施即代码(IaC)”工具,由 HashiCorp 开发。它允许你使用一种声明式语言(HCL,HashiCorp Configuration Language)来定义和管理云资源,比如服务器、数据库、网络、防火墙等

    • Terraform 可以管理多个云平台上的基础设施
    • 基础设施像写代码一样管理
    • Terraform 的状态允许您在整个部署过程中跟踪资源变化
    • 代码审计 + 版本控制(配合 Git)
  • 为什么使用 Terraform

    • 传统部署方式手动点点点 ➜ 易出错、不可重复
  • 一些 Terraform 的 Alternatives

    • AWS CloudFormation, Azure Resource Manager, GCP Deployment Manager, Pulumi

What is Infrastructure as Code

  • Infrastructure as Code 是一种用代码管理和部署基础设施(如服务器、网络、数据库等)的方式。它就像 DevOps 的“建筑图纸”,让你用脚本来创建和管理 IT 环境,而不是手动点击界面操作。

  • IaC 的核心价值

    • 协作平台: 作为团队协作的中心,让开发、运维等多角色共同构建和管理基础设施
    • 快速扩展: 用代码快速复制和扩容资源,实现自动化部署
    • 标准化部署: 所有环境都用相同模板,减少人为错误、提高一致性

假设你需要在 AWS 上建一个 S3 桶,传统做法是登录控制台点点点
而用 Terraform,你可以写一个文件

resource "aws_s3_bucket" "my_bucket" {
bucket = "hongda-demo-bucket"
acl = "private"
}

Benefits of IaC