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
已提問 8 個月前檢視次數 1028 次
3 個答案
0
已接受的答案

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

profile picture
專家
已回答 8 個月前
0

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

ishi
已回答 8 個月前
0

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

ishi
已回答 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南

相關內容