Using Terraform to create the Terraform state bucket

使用 Terraform 创建 Terraform 状态存储桶

初始化 Terraform 状态存储桶和 DynamoDB 锁定表

cd ~/environment/tfekscode/tf-setup 

初始化 Terraform 后端环境:

terraform init

该命令将在文件系统中创建一个名为 “.terraform” 的隐藏目录,并下载所有所需的资源提供程序,对于我们的环境,这包括 aws、external 和 null 提供程序。

验证 Terraform 代码:

terraform validate
Success! The configuration is valid.

规划部署:

terraform plan -out tfplan

应用计划以在 AWS 中构建基础设施:

terraform apply tfplan

上述操作执行了以下操作:

  • 在 tf-setup 目录中初始化 Terraform。
  • 运行 Terraform(plan 和 apply),执行以下操作:
    • 创建一个项目的随机 ID,并将其存储在 var-tfid.tf
    • 创建一个 s3 存储桶
    • 创建用于 Terraform 锁定的 DynamoDB 表
    • 初始化 Amazon Inspector
    • 创建一个托管的 Grafana 工作区,将在后续的研讨会中使用
    • 运行 gen-backend.sh 脚本,该脚本由 Terraform “null 资源” null_resource.tf 执行

gen-backend.sh 脚本生成这些 Terraform 文件供其他部分使用,并将它们复制到相应的位置:

  • generated/backend-{section}.tf (对于每个部分,这都定义了 Terraform 状态文件的位置)