Я создаю два разных типа экземпляров EC2 с помощью Terraform.Каждый из этих экземпляров должен иметь том, созданный для / var / opt / MarkLogic.У меня есть код для создания томов, но я не могу понять, как прикрепить их к обоим видам экземпляров EC2.Есть ли способ сделать это без создания двух отдельных aws_volume_attachment
?
Я пробовал использовать сплат в instance_id = "${element(aws_instance.*.*.id, count.index)}"
, но это не разрешено Terraform.Как мне сослаться на несколько EC2 в одном aws_volume_attachment
resource "aws_instance" "marklogic-d-nodes" {
count = "${var.dnodes}"
ami = "ami-0f5da6468457979f6"
instance_type = "t2.micro"
subnet_id = "${var.subnet}"
key_name = "AWS_ML_Oregon"
security_groups = ["sg-0cd3123385e1bd3a2"]
iam_instance_profile = "DefaultEC2Role"
user_data = "${file("../global/scripts/dnodes.sh")}"
disable_api_termination = false
}
resource "aws_instance" "marklogic-e-nodes" {
count = "${var.enodes}"
ami = "ami-0f5da6468457979f6"
instance_type = "t2.small"
subnet_id = "${var.subnet}"
key_name = "AWS_ML_Oregon"
security_groups = ["sg-0cd3123385e1bd3a2"]
iam_instance_profile = "DefaultEC2Role"
user_data = "${file("../global/scripts/enodes.sh")}"
disable_api_termination = false
}
resource "aws_ebs_volume" "varopt" {
count = "${var.dnodes + var.enodes}"
availability_zone = "us-west-2b"
size = 100
type = "gp2"
}
resource "aws_volume_attachment" "varopt-volume-attachment" {
count = "${var.dnodes + var.enodes}"
device_name = "/dev/sdf"
instance_id = "${element(aws_instance.*.*.id, count.index)}"
volume_id = "${element(aws_ebs_volume.varopt.*.id, count.index)}"
force_detach = true
}