Amazon ECSでコンテナから外への通信がタイムアウトするときはネットワークモードを見直す
タイトルのとおりです。
問題
ECSのあるクラスタで、コンテナ内部でhttpsに対してリクエストを送る処理があるタスクをEC2起動タイプで実行したときにタイムアウトが発生してエラーで終わる。 タスク定義上のネットワークモードはawsvpcであり、vpc上のネットワークACLとSecurityGroupのアウトバウンドは正しく設定してある状態。
原因
awsvpc ネットワークモードは、EC2 起動タイプを使用するタスクには、パブリック IP アドレスを使用する Elastic Network Interface を提供しません。
EC2 起動タイプを使用するタスクでインターネットにアクセスするには、NAT ゲートウェイを使用するよう設定されたプライベートサブネットでタスクを起動する必要があります。詳細については、Amazon VPC ユーザーガイドの「NAT ゲートウェイ」を参照してください。
略
パブリックサブネット内で起動されるタスクには、アウトバウンドのネットワークにアクセスできません。
上記の制限は FARGATE 起動タイプを使用するタスクには適用されません。
タスクネットワーキングと awsvpc ネットワークモード - Amazon Elastic Container Service
なるほど
対応
ネットワークモードをbridgeにしたら動きました。よかったですね。