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
gefragt vor 8 Monaten1028 Aufrufe
3 Antworten
0
Akzeptierte Antwort

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

profile picture
EXPERTE
beantwortet vor 8 Monaten
0

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

ishi
beantwortet vor 8 Monaten
0

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

ishi
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen