Appearance
Terraform 安装
本篇介绍如何安装 Terraform 及其基础使用方法,包括项目结构、HCL 配置文件的书写建议、Provider 的配置方式等。
安装方式(推荐)
- macOS 安装
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
- Windows 安装
将下载的 terraform.exe 添加到 C:\Windows\System32,或者新增环境变量也可以。
(base) λ terraform.exe -v
Terraform v1.12.2
on windows_amd64
目录结构建议
text
terraform-demo/
├── main.tf # 主资源定义文件
├── outputs.tf # 输出定义
└── provider.tf # Provider 配置
Provider 配置(provider.tf)
Provider 定义 Terraform 与目标平台的交互接口
hcl
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "6.6.0"
}
alicloud = {
source = "aliyun/alicloud"
version = "1.255.0"
}
}
}
provider "aws" {
region = "us-west-2" # 或您需要的其他区域
# 凭据管理 (选择一种方式)
# 方式1: 使用 profile (推荐用于本地开发)
# profile = "my-aws-profile"
# 方式2: 环境变量 (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
# 方式3: 直接写入 (不推荐用于生产,密钥会暴露)
# access_key = "YOUR_ACCESS_KEY"
# secret_key = "YOUR_SECRET_KEY"
# 方式4: IAM Roles (如在 EC2 实例上运行)
}
provider "alicloud" {
region = "cn-hangzhou" # 或您需要的其他区域
# 凭据管理 (选择一种方式)
# 方式1: 环境变量 (推荐)
# access_key = var.alicloud_access_key # 通过变量传入
# secret_key = var.alicloud_secret_key # 通过变量传入
# 方式2: Instance RAM Role (在阿里云 ECS 上运行时)
# security_token = var.alicloud_security_token (如果是STS Token)
# 方式3: 直接写入 (强烈不推荐)
# access_key = "YOUR_ALIYUN_ACCESS_KEY"
# secret_key = "YOUR_ALIYUN_SECRET_KEY"
}
主资源定义(main.tf)
以下是创建 AWS EC2 实例的示例:
hcl
resource "aws_instance" "web" {
ami = "ami-0c02fb55956c7d316"
instance_type = "t2.micro"
tags = {
Name = "Terraform-Demo"
}
}
输出资源信息(outputs.tf)
hcl
output "instance_id" {
description = "EC2 实例 ID"
value = aws_instance.web.id
}
使用流程
在 Terraform 项目根目录下运行以下命令:
bash
terraform init # 初始化 Provider 和模块
terraform plan # 查看计划执行的更改
terraform apply # 应用更改(按 y 确认)
terraform destroy # 删除所有资源