【发布时间】:2021-05-27 09:50:52
【问题描述】:
我需要创建一个 EC2 并将 2 个子网关联到它。
variables.tf
variable "aws_subnet_id_this" {
description = "Subnet ID"
default = ["subnet-09df122a4faee8882", "subnet-2fcc756f02ddb4b62"]
}
main.tf
resource "aws_instance" "test" {
ami = var.ami_id
instance_type = var.ec2_instance_type
subnet_id = var.aws_subnet_id_this
key_name = var.pki_name
vpc_security_group_ids = [aws_security_group.Allow_SSH_in.id]
}
错误:
错误:属性值类型不正确
在 main_count_data.tf 第 57 行,在资源“aws_instance”“test”中: 57:subnet_id = var.aws_subnet_id_this |---------------- | var.aws_subnet_id_eks 是具有 2 个元素的元组
属性“subnet_id”的值不合适:需要字符串。
所以我尝试了这个:
main.tf
resource "aws_instance" "prueba" {
ami = var.ami_id
instance_type = var.ec2_instance_type
#subnet_id = var.aws_subnet_id_this
count = 2
subnet_id = "${element(var.aws_subnet_id_this, count.index)}"
key_name = var.pki_name
vpc_security_group_ids = [aws_security_group.Allow_SSH_in.id]
}
}
但是这最后一部分代码尝试使用第二个子网创建一个新的 EC2 实例,这并不是我期望的困难。
总结一下:我需要 1 个 EC2,其中包含 variables.tf 文件中定义的 2 个子网。
我该怎么做?
【问题讨论】:
-
所以您希望 1 个实例具有两个 NIC?其中一个 nic 应该与实例位于不同的子网中?
-
@Marcin,正确。
-
我修改了答案。
标签: amazon-web-services amazon-ec2 terraform