Ошибка Terraform ALB «Ошибка создания правила прослушивателя LB: приоритет X в настоящее время используется» при изменении имени хоста правила - PullRequest
0 голосов
/ 23 мая 2019

При попытке изменить имя хоста в существующем правиле ALB всегда выдается сообщение об ошибке:

«Ошибка создания правила прослушивателя LB: PriorityInUse: приоритет« 40 »в настоящее время используется»

Пробовал рекомендации от здесь но ничего не помогает.Попытка не указывать имя для TargetGroup, использование create_before_destroy, случайные строки для имени и т. Д. Terraform версия 0.10.7, поставщик AWS 1.54.0 (пробовал также 2.10.0)

При последующем применении Terraform применяются изменения

TF config:

resource "aws_lb_listener_rule" "rule1" {
  depends_on = ["aws_lb_target_group.tg1"]
    lifecycle {
    create_before_destroy = true
  }
  listener_arn = "${aws_lb_listener.listener.arn}"
  priority = "40"
  action {
    type             = "forward"
  target_group_arn = "${aws_lb_target_group.tg1.id}"
  }
  condition {
    field  = "host-header"
    values = ["www.hostname.com"]
  }
  condition {
    field  = "path-pattern"
    values = ["/STATIC"]
  }
}



resource "aws_lb_target_group" "tg1" {
  lifecycle {
    create_before_destroy = true
  }
port = "443"
protocol = "HTTPS"
vpc_id   = "${var.vpc_id}"
health_check {
interval = "10"
path = "/"
  port= "443"
  protocol = "HTTPS"
  timeout = "9"
  healthy_threshold  = "5"
  unhealthy_threshold  = "3"
  }
  tags {
    Name = "${terraform.workspace}-service1"
   }
}

Я ожидаю, что, как только вы измените имя хоста в правиле ALB, Terraform будет обрабатывать это изменение без проблем, но похоже, что он пытается повторносоздать правило ALB с новым именем хоста, но с тем же номером приоритета, и, следовательно, оно не будет выполнено.После повторного запуска terraform применить изменение.

Возможно, существуют обходные пути для проверки существующего имени приоритета правила ALB и указания нового / другого, но это должно быть обработано изначально Terraform, так как в противном случае нам потребуетсяОтслеживайте приоритетные номера, чтобы избежать столкновений.

Кто-нибудь имел такую ​​же проблему и как-то решил ее?

Заранее спасибо.

1 Ответ

0 голосов
/ 23 мая 2019

Оказалось, что проблема возникает из-за того, как я предоставлял новые ресурсы для правил ALB; каждый раз, когда я создавал ресурс правила TF ALB с новым именем ресурса (rule2, rule3 и т. д.), который конфликтовал с существующим номером приоритета. Таким образом, решение состоит в том, чтобы либо иметь новый номер приоритета в новом ресурсе, либо оставлять имя ресурса одинаковым каждый раз (правило1), и в этом случае Terraform обрабатывает изменения должным образом.

...