微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Terraform:AWS目标组无法添加多个目标

如何解决Terraform:AWS目标组无法添加多个目标

我正在尝试使用模块创建ALB和Web服务器。创建Web服务器和ALB时,无法将Web服务器作为目标添加到目标组。第一个附着,第二个失败。

Error: Error registering targets with target group: ValidationError: Instance ID ' i-0cf0a85c8866214ca' is not valid

以下是我的代码段: load_balancer \ main.tf

.
.
resource "aws_alb_target_group_attachment" "tg_attach" {
  count = var.tg
  target_group_arn = aws_alb_target_group.front_end_tg.arn
  port = 80
  target_id = element(split(",",var.web_server_id),count.index)
}

web-servers \ output.tf

output "web_server_id" {
  value = join(",aws_instance.web.*.id)
}

root \ main.tf

#Deploy Application Load Balancer
module "load_balancer" {
  source         = "./load_balancer"
  alb_depends_on = [module.web_servers]
  pubsubnets     = module.networking.public_subnets
  alb_source     = module.networking.alb_source
  alb_perf       = module.networking.alb_perf
  web_server_id  = module.web_servers.web_server_id
  perf_vpc       = module.networking.vpc_id
  tg             = var.web_count
}

root \ terraform.tfvars

web_count     = 2

有人可以建议我如何使错误消失吗? 这个问题可能类似于Not able to add multiple target_id inside targer group using terraform。 我尝试了那里介绍的解决方案,但无法解决问题。

terraform v0.12.29

AWS控制台

enter image description here

enter image description here

解决方法

我认为问题在于实例名称中的前导空格。定义输出时,请以逗号+空格连接:

output "web_server_id" {
  value = join(",",aws_instance.web.*.id)
}

但是,当您拆分它时,只能使用逗号:

target_id = element(split(",var.web_server_id),count.index)

错误消息中的实例名称中也有空格,这似乎是失败的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。