С terraform, добавление зашифрованного некорневого тома в шаблон запуска не удастся по плану - PullRequest
0 голосов
/ 25 февраля 2019

Это работает:

resource "aws_launch_template" "instances" {
...

  block_device_mappings {
    device_name           = "/dev/xvdb"
    ebs {
      volume_type           = "gp2"
      volume_size           = 250
      delete_on_termination = true
    }
  }

Но, когда я пытаюсь добавить это:

block_device_mappings {
  device_name           = "/dev/xvdb"
  ebs {
    volume_type           = "gp2"
    volume_size           = 250
    delete_on_termination = true
    encrypted             = true
    kms_key_id            = "${data.aws_kms_key.instances.id}"
  }
}

Итак, я не могу добавить части шифрования.Ключ существует, включен и имеет права доступа к нему.Когда я удаляю строки шифрования, план запускается до конца, и, очевидно, он будет применяться.

План terraform показывает это:

Error: Error running plan: 1 error(s) occurred:

* module.asg_instances.aws_autoscaling_group.instances_asg: 1 error(s) occurred:

* module.asg_instances.aws_autoscaling_group.instances_asg: Resource 'aws_launch_template.instances_lt' not found for variable 'aws_launch_template.instances_lt.id'

Код для запроса:

resource "aws_autoscaling_group" "instances_asg" {
  max_size                  = 5
  min_size                  = 2
  min_elb_capacity          = 2
  health_check_grace_period = 300
  health_check_type         = "ELB"
  desired_capacity          = 3
  force_delete              = false
  vpc_zone_identifier       = ["${data.aws_subnet_ids.instances_subnets.*.id}"]
  load_balancers            = ["${aws_elb.instances_elb.name}"]

  launch_template {
    id      = "${aws_launch_template.instances_lt.id}"
    version = "$$Latest"
  }

  lifecycle {
    create_before_destroy = true
  }
}

Очевидно, что шаблон запуска даже не создается, когда у меня есть строки шифрования, вызывающие сбой ссылки на него в ASG.Он не выдает ошибку при запуске шаблона, даже не создаваясь, что и должно быть.

Намерение - создать ASG на основе этого шаблона запуска, который создает экземпляры с зашифрованным некорневым томом

Есть идеи, что я сделал не так?

1 Ответ

0 голосов
/ 05 июля 2019

Как два человека могут написать одинаковый код и совершить одну и ту же ошибку?LOL

Я наткнулся на этот пост, и у меня был очень похожий код.Мне удалось отладить и исправить это.Проблема в том, что этот код неверен.

Цитата

kms_key_id            = "${data.aws_kms_key.instances.id}"

Должно быть:

Цитата

kms_key_id            = "${data.aws_kms_key.instances.arn}"

Это может пригодиться кому-то еще.Следовательно, отправляя это.

...