Terraform 项目教程:S3、CloudFront 和 Route53 的静态网站设置
项目目录结构及介绍
.
├── CHANGELOG.md
├── LICENSE
├── README.md
├── gitignore
├── site-main
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── site-redirect
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
└── r53-cname
├── main.tf
├── outputs.tf
└── variables.tf
CHANGELOG.md
: 记录项目的变更历史。LICENSE
: 项目的许可证信息。README.md
: 项目的基本介绍和使用说明。gitignore
: Git 忽略文件配置。site-main
: 主站点配置模块。main.tf
: 主站点的 Terraform 配置文件。outputs.tf
: 主站点的输出配置。variables.tf
: 主站点的变量定义。
site-redirect
: 重定向站点配置模块。main.tf
: 重定向站点的 Terraform 配置文件。outputs.tf
: 重定向站点的输出配置。variables.tf
: 重定向站点的变量定义。
r53-cname
: Route53 CNAME 记录配置模块。main.tf
: CNAME 记录的 Terraform 配置文件。outputs.tf
: CNAME 记录的输出配置。variables.tf
: CNAME 记录的变量定义。
项目的启动文件介绍
项目的启动文件主要是各个模块中的 main.tf
文件。以下是各个模块的启动文件介绍:
主站点 (site-main/main.tf
)
module "website" {
source = "github.com/skyscrapers/terraform-website-s3-cloudfront-route53//site-main"
domain = var.domain
# 其他配置项
}
重定向站点 (site-redirect/main.tf
)
module "redirect" {
source = "github.com/skyscrapers/terraform-website-s3-cloudfront-route53//site-redirect"
domain = var.domain
# 其他配置项
}
Route53 CNAME 记录 (r53-cname/main.tf
)
module "dns-cname" {
source = "github.com/skyscrapers/terraform-website-s3-cloudfront-route53//r53-cname"
domain = var.domain
target = module.site-main.website_cdn_hostname
route53_zone_id = var.route53_zone_id
}
项目的配置文件介绍
主站点 (site-main/variables.tf
)
variable "domain" {
description = "The domain name for the main site"
type = string
}
# 其他变量定义
重定向站点 (site-redirect/variables.tf
)
variable "domain" {
description = "The domain name for the redirect site"
type = string
}
# 其他变量定义
Route53 CNAME 记录 (r53-cname/variables.tf
)
variable "domain" {
description = "The domain name for the CNAME record"
type = string
}
variable "route53_zone_id" {
description = "The Route53 Zone ID where the CNAME entry must be created"
type = string
}
# 其他变量定义
以上是 Terraform 项目 terraform-website-s3-cloudfront-route53
的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。