Динамически назначать профили экземпляров EC2 с помощью Terraform - PullRequest
0 голосов
/ 12 июля 2020

У меня есть этот блок кода в моей конфигурации terraform.

resource "aws_instance" "k8s" {
  count                  = var.instance_count
  ami                    = data.aws_ami.latest-ubuntu.id
  instance_type          = "t2.medium"
  subnet_id              = element(var.subnets, count.index)
  vpc_security_group_ids = [var.security_group]
  key_name = var.keyname

    dynamic "iam_instance_profile" {
    for_each = var.profiles
    content {
      iam_instance_profile = profiles.value
    }
  }

  connection {
    type        = "ssh"
    host        = self.public_ip
    user        = "ubuntu"
    private_key = file(var.private_key_path)

  }
    tags = {
    Name = var.instance_name[count.index]
  }
}

Но я определенно делаю что-то не так с iam_instance_profile config.

Я создаю 4 экземпляра,

instance_name = [
  "PINF-Master",
  "PINF-Node1",
  "PINF-Node2",
  "PINF-Node3"
]

У меня есть два отдельных профиля экземпляра IAM, которые я хотел бы динамически назначать экземплярам

variable "profiles" {
  master = PINF-K8sMaster-Profile,
  worker = PINF-K8sWorker-Profile
}

И я хочу назначить ПИНФ-К8сМастер-Профиль . только на PINF Master и PINF-K8sWorker-Profile на все остальные 3 рабочих узла.

Есть ли способ сделать это с помощью for_each ?

Надеюсь, в этом есть смысл.

...