使用模块创建 EC2 实例时子网 ID 出错

Error with Subnet ID while creating EC2 instaces with module

我正在尝试在私有子网中创建 3 个 ec2 实例。从 git repo

下面使用 ec2-module.tf

https://github.com/quickbooks2018/Terraform-Classic-Modules

下面是我在 tf 文件中启用的行

ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]

错误如下所示,

错误:模块参数的值无效

在 ec2-module.tf 第 17 行,在模块 "ec2-app-v1" 中: 17: ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]

给定的值不适合子模块变量"ec2-subnets-ids" 定义于 modules/ec2/ec2-variables.tf:46,1-27:元素 0:需要字符串。

请帮助理解错误以及如何修复它。

查看您正在引用的那些模块,问题似乎是您正在传递一个字符串列表,但应该只是传递一个字符串列表。

所以,而不是

ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]

传递单个元素的列表(该元素是字符串列表),try

ec2-subnets-ids = "${module.vpc.private-subnet-ids}"

这只是向前传递列表。