我们正在尝试使用存储在S3中的远程状态的terraform.
项目正在被打破,例如有"主"VPC项目,它只创建网络基础(vpc,子网,IGW,NAT,路由等)和子项目,在主要基础上创建特定资源vpc(子网),即ec2节点.
项目文件夹/文件:
.
??? modules/
? ??? mod-vpc/
? ??? main.tf
? ??? outputs.tf
? ??? variables.tf
??? projects/
? ??? top-level-project-name-goes-here/
? ??? env-dev/
? ? ??? globals.tf
? ? ??? test/
? ? ? ??? main.tf
? ? ? ??? variables.tf
? ? ??? vpc/
? ? ??? main.tf
? ? ??? variables.tf
? ??? env-prod/
??? terraform.tfvars
Run Code Online (Sandbox Code Playgroud)
除了VPC项目之外,所有其他项目都使用来自远程VPC状态的vpc_id,CIDR等.以下是我们的流程定义方式:
第1步:创建VPC.
这里没有问题,VPC被创建,输出打印出来,并存储到S3存储桶:
$ terraform init -backend=s3 -backend-config="region= us-west-2" -backend-config="bucket=xxx" -backend-config="key=xxx" -backend-config="acl=bucket-owner-full-control" $project_path
$ terraform remote pull
$ terraform …Run Code Online (Sandbox Code Playgroud)