Using Terraform VPC Module to create VPC and other Network related resources

从Cloud9 IDE开始,我们将构建EKS集群的主要网络组件。

该图显示了我们在本节中将构建的EKS VPC和CI/CD VPC:

免责声明:对于生产工作负载,我们应该根据AWS Well Architected指南审查此架构/部署,以满足我们的具体要求。

部署网络

cd ~/environment/tfekscode/net 

初始化Terraform:

terraform init

验证Terraform代码:

terraform validate

规划部署:

terraform plan -out tfplan

我们可以看到从计划中,将创建以下资源 - 打开相应的文件以查看详细的Terraform HCL代码配置:

  • 一个VPC (main.tf)。
    • 具有次要VPC CIDR块
    • 一个NAT网关
    • 一组子网
  • 各种VPE端点 (vpc-endpoints.tf)。
  • 一个公共托管区域 (phz.tf)。
  • 导出到SSM的参数 (ssm-paramters-net.tf)

构建网络环境 (注意这需要几分钟时间):

terraform apply tfplan

上述操作创建了我们将用于EKS和CICD的VPC。 请注意,几个参数被捕获为输出,这些将在构建的后续阶段使用。

在AWS控制台中检查结果。查找新的VPC、子网等。

我们还可以看到此时构建过程中存储的SSM参数:

aws ssm describe-parameters --query Parameters[].Name | jq -r .[]

要检查参数中存储的值,可以使用如下命令:

aws ssm get-parameter --name /workshop/tf-eks/eks-version --query Parameter.Value --output text