更改规则主机名时出现 Terraform ALB 错误"创建 LB 侦听器规则时出错:优先级 X 当前正在使用中"



尝试在现有ALB规则中更改主机名时,请始终遇到错误:

"错误创建LB侦听器规则:PriorityInuse:Priority'40'当前正在使用"

从这里尝试了建议,但没有任何帮助。尝试使用create_before_destroy,名称的随机字符串等指定目标组的名称。

在随后的Terraform应用中,应用了更改。

TF配置:

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 Rule中的主机名,Terraform就会无问题处理该更改,但看起来它试图用新的主机名重新创建ALB Rule,但具有相同的优先级号,因此失败了。运行Terraform再次应用后,它进行了更改。

可能会有解决方法可以检查现有的ALB规则优先级名称并指定一个新的/不同的名称,但应像Terraform一样在本地进行处理,否则我们需要跟踪优先级数字以避免冲突。

有人有相同的问题并以某种方式解决了吗?

预先感谢。

事实证明,由于我正在提供新的ALB规则资源的方式,问题正在发生;每次我使用新的资源名称(Rule2,Rule 3等(创建TF ALB规则资源时,它与现有优先级数字发生冲突。因此,解决方案是在新资源中具有新的优先级号,或者每次(规则1(将资源名称保持相同,在这种情况下,Terraform正确处理更改。

相关内容

  • 没有找到相关文章

最新更新