【发布时间】:2023-04-02 20:20:01
【问题描述】:
更新:terraform destroy 没有删除 ELB,但 apply 命令尝试重新创建。即使没有对 ELB 模块进行任何更改,只要运行命令 terraform apply 就会尝试重新创建 ELB。
这是什么原因?
这是我得到的错误:
Error: Error creating ELB: DuplicateLoadBalancerName: Load Balancer named myELB already exists and it is configured with different parameters. status code: 400, request id: 123456789-67b1-4fbd-95e3-17f693cdcf75
这里是 ELB 代码:
# Create ELB
resource "aws_elb" "myELB" {
depends_on = [
aws_instance.webservers,
]
for_each = toset(var.public_subnets_names)
name = "myELB"
subnets = [data.aws_subnet.public_subnet_ids[each.value].id]
listener {
instance_port = 80
instance_protocol = "http"
lb_port = 80
lb_protocol = "http"
}
health_check {
healthy_threshold = 2
unhealthy_threshold = 2
timeout = 3
target = "HTTP:8080/"
interval = 30
}
instances = data.aws_instances.webservers.ids
cross_zone_load_balancing = true
idle_timeout = 400
connection_draining = true
connection_draining_timeout = 400
tags = {
Name = "myELB"
}
}
这是数据源的样子:
# Get Public Subnets ID's
data "aws_subnet" "public_subnet_ids" {
depends_on = [
aws_subnet.subnets,
]
for_each = toset(var.public_subnets_names)
filter {
name = "tag:Name"
values = [each.value]
}
}
【问题讨论】:
-
更新了问题。运行命令
terraform destroy时ELB 不会删除。甚至在其他方面,只需运行命令terraform apply即可尝试重新创建 -
所以您要创建多个 ALB,每个子网中一个?是故意的吗?
标签: amazon-web-services terraform amazon-elb