ECS(Fargate)でデプロイした後、同じタスク内のコンテナ間でのやりとりができない

0

ECSの一つのタスク内に二つのコンテナを作成しています。一つはクライアントサイドをReactを使用してNginxで起動させて、もう一つはAPIサーバをExpressで起動させています。またExpressはRDSと連携させています。 デプロイ自体は成功していて、ExpressのコンテナからAPIを動かせました。コンテナのログにはエラーは出ていません。 しかしブラウザのコンソールを見るとクライアントサイドからAPIのリクエストを送っているのにエラーになってしまっています。 調べたところ、コンテナ間の通信をするためにはホストをlocalhostか127.0.0.1を指定するようにと記載があったため、.envファイルのホストを修正して立ち上げているのですが、localhostも127.0.0.1もどちらもブラウザからはエラーになってしまいます。 セキュリティグループの設定ではインバウンドルールに二つのコンテナのポートを追加して、0.0.0.0/0を設定しています。 ご助言いただけると助かります。

ishi
質問済み 6ヶ月前809ビュー
3回答
0
承認された回答

フロントコンテナで使用しているNginxの設定ファイルなどでプロキシ設定を行ってバックエンドのExpress (APIコンテナ) にアクセスしているという認識で合っていますか?
その場合はNginxの設定ファイルのプロキシ設定も「localhost:ポート番号」に投げるように設定しなおす必要があると思います。

profile picture
エキスパート
回答済み 6ヶ月前
0

ご助言いただきまして、ありがとうございました。 ReactのDockerfileを作成時にReactアプリで作成したアプリだけをECRに載せると、うまくECSでデプロイできなかったため、Nginxを追加したところ、無事にブラウザで起動できました。 ただしNginxの設定などはしていなかったので、プロキシ設定が必要なのですね。勉強になります。 調べて設定を行いたいと思います。

ishi
回答済み 6ヶ月前
0

リバースプロキシについて調べて、Nginxの設定ファイルを調整したところ、無事にコンテナ間のやりとりができました。大変助かりました。ありがとうございました!

ishi
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ