使用Terraform构建AWS网络模块:从代码编写到沙箱环境部署
1. 仓库设置与准备
建议将相关仓库设为公开,这样便于导入到Terraform环境定义中。若使用私有仓库,需在导入命令里添加认证信息,确保Terraform能正确访问文件。同时,要在仓库中添加 .gitignore
文件,避免将大量Terraform工作文件推送到GitHub服务器。可以在GitHub网页界面选择Terraform的 .gitignore
文件,或者按GitHub网站说明,将内容保存为 .gitignore
文件放在代码仓库根目录。
创建好三个GitHub模块仓库后,就可以开始编写基础设施定义,首先从网络模块入手。
2. 网络模块输出定义
在 module-aws-network
根目录创建 output.tf
文件,定义网络模块预期生成的资源:
output "vpc_id" {
value = aws_vpc.main.id
}
output "subnet_ids" {
value = [
aws_subnet.public-subnet-a.id,
aws_subnet.public-subnet-b.id,
aws_subnet.private-subnet-a.id,
aws_subnet.private-subnet-b.id]
}
output "public_subnet_ids"