環境

 ECS on EC2

 

ECSのスケジュールされたタスクを利用して、

同じクラスタのサービス内で稼働しているmysqlコンテナへ接続してdumpを取得したかった。

 

まず、サービス検出を利用する必要がありました。

接続先のコンテナのタスク定義にて、サービス検出を有効にし、

testservice.localでRoute53に登録されたことを確認しました。

mysqldumpの接続コマンドの接続先ホストをtestservice.localに変更しました。

 

その後かなり詰まりました・・・。

FARGATEでは簡単に接続できるのに、同じEC2上で稼働させた場合、接続できなかった。

 

タスクのネットワークの設定をawsvpc→bridgeに変更したら

あっけなく接続できるようになりました・・・。

同じコンテナホストを使うときに別のネットワークモードを指定できないと思い込んでいました・・・。

出来るんですね。