☁️

マルチAZのALB→ECSの通信が不安定

2023/01/22に公開

ALB経由でのECSアクセスを試していたときに遭遇した出来事です。
結果的には些細な見落としだったのですが、参考になれば嬉しいです。

概要

ローカルPC→ALB→ECSの経路でECSの動作確認をしていた。
アクセスすると、アクセス可能なタイミングと不可なタイミングがあり、通信が不安定な様子だった。

結論

片方のサブネットがルートテーブルと関連付けられておらず、
そのサブネットにプロビジョニングされたALBがECSと通信できなかった。

概要図

概要図

調査

  • ALBのパブリックドメインにアクセスすると、ECSコンテナにアクセス可、不可となる
  • IPアドレスでアクセスすると、ALBの片方のIPは正常に通信可能、もう片方はアクセス不可
  • 通信可能なIPが所属するサブネットはルートテーブルと紐付けられており、もう片方は紐付けられていなかった
    • つまり通信不可のIPはメインルートテーブル(未設定)に紐付いていた
    • terraformのコードに対象サブネット分のaws_route_table_associationがなかった

対応

  • 通信不可だったサブネットを、正常に設定されたルートテーブルに紐づけ、解決
network.tf
resource "aws_route_table_association" "test-public-routetable-association-1c" {
      route_table_id = aws_route_table.test-public-routetable.id
      subnet_id      = aws_subnet.test-subnet-1c.id
    }

所感

些細なミスでしたが、無事解決できてよかったです。
ALBのIPが切り替わるタイミングは未調査なため、機会があるときに調査したい。

Discussion