Присоединение томов EBS к двум разным экземплярам EC2 - PullRequest
0 голосов
/ 03 июня 2019

Я создаю два разных типа экземпляров 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...