
自動スケーリング グループに 2 番目のターゲット グループを追加しようとしたときに表示される Terraform エラーについての質問。
「ext_alb_targetgroup」という新しいターゲット グループを正常に作成しました。これは AWS コンソールに表示され、ALB リスナーがそれに転送しています。この新しいターゲット グループを、ASG の 2 番目のターゲット グループとして既存の ASG に追加します。Terraform のドキュメントによると、ASG は複数のターゲット グループのメンバーになることができ、引数「target_group_arns」には TG のリストを渡すことができます。そこで、新しい TG を ASG のリストに追加しました。構成中の ASG は 1 つのモジュールにあり、この 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}"
]
2 番目の TG は、TF がエラーをスローしているものです。
答え1
リソースが変更されたバージョンを使用していると思います
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