Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform 地形ALB错误“;创建LB侦听器规则时出错:当前正在使用“优先级X”;更改规则主机名时_Terraform_Terraform Provider Aws - Fatal编程技术网

Terraform 地形ALB错误“;创建LB侦听器规则时出错:当前正在使用“优先级X”;更改规则主机名时

Terraform 地形ALB错误“;创建LB侦听器规则时出错:当前正在使用“优先级X”;更改规则主机名时,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,尝试更改现有ALB规则中的主机名时,始终会出现错误: “创建LB侦听器规则时出错:PriorityInUse:优先级“40”当前正在使用” 尝试了来自的建议,但没有任何帮助。尝试不为TargetGroup指定名称,使用“销毁前创建”、“名称随机字符串”等。Terraform版本0.10.7,AWS provider 1.54.0(也尝试了2.10.0) 在随后的地形应用中,将应用更改 TF配置: resource "aws_lb_listener_rule" "rule1" { depend

尝试更改现有ALB规则中的主机名时,始终会出现错误:

“创建LB侦听器规则时出错:PriorityInUse:优先级“40”当前正在使用”

尝试了来自的建议,但没有任何帮助。尝试不为TargetGroup指定名称,使用“销毁前创建”、“名称随机字符串”等。Terraform版本0.10.7,AWS provider 1.54.0(也尝试了2.10.0)

在随后的地形应用中,将应用更改

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规则中更改主机名,Terraform将毫无问题地处理该更改,但看起来它正在尝试使用新主机名重新创建ALB规则,但具有相同的优先级,因此失败。再次运行terraform apply后,它会进行更改

可能存在检查现有ALB规则优先级名称并指定新的/不同的名称的变通方法,但这应该由Terraform本地处理,否则我们需要跟踪优先级编号以避免冲突

是否有人遇到过同样的问题并以某种方式解决了


提前感谢。

事实证明,问题的发生是因为我提供新ALB规则资源的方式;每次我用新的资源名称(规则2、规则3等)创建TF ALB规则资源时,它都与现有的优先级编号冲突。因此,解决方案是要么在新资源中有新的优先级编号,要么每次都保持相同的资源名称(规则1),在这种情况下Terraform会正确处理更改。

在我的情况下,我已经有了优先级LB,我只需更改该资源
“aws\u LB\u listener\u rule”api“{priority=20…”
其中20是任何可用的lb优先级