【AWS】CodePipelineでFargateのコンテナをDeploy時、ALBのTargetGroupが切り替わらない

◆問題

掲題の通りなのだが、自分でECSのFargateを立てて、CodePipelineでDeploy自動化を実装した際、ECS側のTargetGroupは切り替わるけど、ALBのTargetGroupが2つのうち1つ(Green側だけ)が固定となり切り替わらず、CodePipelineでGreen側にDeployした時だけ(2回に1回)しかリクエストが通らない問題が発生した。

◆原因

結局ALBへのTargetGroupの設定方法に問題があった。ALBとTargetGroupの紐付ける際、他にも色んなエラーが出ていたので、TargetGroupを個別で作成して、それをALBやECSのサービスに紐付けたりしていたけど、そのやり方が不味かった。

◆解決方法

正解のやり方として、ALBにTargetGroupが何も紐づいていない状態で、ECSのサービスを作成する際にALBを指定し、TargetGroupを新規作成して紐付ける必要があった。こういう方法でTargetGroupを紐づけることで、CodePipelineでDeployしてうまく切り替えられるようになり、想定通りの挙動になった。

f:id:daylambsbecomelions:20220409160724p:plain