terraform 未知资源错误为多个目标组配置自动扩展组

terraform 未知资源错误为多个目标组配置自动扩展组

当我尝试将第二个目标组添加到自动缩放组时,出现有关 Terraform 错误的问题。

我成功创建了一个名为“ext_alb_targetgroup”的新目标组。它显示在 AWS 控制台中,并且 ALB 侦听器正在转发到它。我想将这个新目标组添加到现有 ASG 中作为 ASG 的第二个目标组。根据 Terraform 文档,ASG 可以是多个目标组的成员,并且参数“target_group_arns”可以传递 TG 列表。因此,我将我的新 TG 添加到 ASG 中的列表中。我正在配置的 ASG 在一个模块中,而我尝试添加到此 ASG 配置中的新 TG 在另一个模块中。当我运行 terraform 计划时,它会引发以下错误:

Error: resource 'aws_autoscaling_group.asg' config: unknown resource 'aws_alb_target_group.ext_alb_targetgroup' referenced in variable aws_alb_target_group.ext_alb_targetgroup.arn

我运行了“terraform show”,它很好地找到了 TG 资源,就像我说的,TG 资源是 AWS。

有人知道为什么 terraform 会抛出此错误吗?我是不是没有正确调用资源?这是我在 ASG 配置中的 target_group_arns 列表:

target_group_arns         = [   "${aws_alb_target_group.alb_targetgroup443.arn}",
  "${aws_alb_target_group.ext_alb_targetgroup.arn}"
                            ]

第二个 TG 是 TF 引发错误的那一方。

答案1

我认为你使用的版本资源已经改变

https://github.com/terraform-providers/terraform-provider-aws/blob/master/CHANGELOG.md#110-october-16-2017

resource/aws_alb_* & data-source/aws_alb_*: In order to support network LBs, ALBs were renamed to aws_lb_* due to the way APIs "new" (non-Classic) load balancers are structured in AWS. All existing ALB functionality remains untouched and new resources work the same way. aws_alb_* resources are still in place as "aliases", but documentation will only mention aws_lb_*. aws_alb_* aliases will be removed in future major version. (#1806)
Deprecated:
    data-source/aws_alb
    data-source/aws_alb_listener
    data-source/aws_alb_target_group
    resource/aws_alb
    resource/aws_alb_listener
    resource/aws_alb_listener_rule
    resource/aws_alb_target_group
    resource/aws_alb_target_group_attachment

相关内容