鉴于此用于创建 AWS 弹性负载均衡器的 Terraform 脚本:
resource "aws_elb" "elb" {
name = "${var.elb_name}"
subnets = ["${var.subnet_ids}"]
internal = "${var.elb_is_internal}"
security_groups = ["${var.elb_security_group}"]
listener {
instance_port = "${var.backend_port}"
instance_protocol = "${var.backend_protocol}"
lb_port = 80
lb_protocol = "http"
}
health_check {
healthy_threshold = 2
unhealthy_threshold = 2
timeout = 3
target = "${var.health_check_target}"
interval = 30
}
cross_zone_load_balancing = true
}
将如何修改以创建多个监听器?
最佳答案
您需要将 map 列表传递给监听器。
listener = [{
instance_port = "${var.backend_port}"
instance_protocol = "${var.backend_protocol}"
lb_port = 80
lb_protocol = "http"
},{
instance_port = "${var.backend2_port}"
instance_protocol = "${var.backend2_protocol}"
lb_port = 8080
lb_protocol = "http"
}]
或者,
listener = ["${var.elb_listeners}"]
哪里
var.elb_listeners
是上面第一个示例中的 map 列表。
关于amazon-web-services - 具有多个监听器的 Terraform 负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943593/