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
demandé il y a 8 mois980 vues
3 réponses
0
Réponse acceptée

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

profile picture
EXPERT
répondu il y a 7 mois
0

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

ishi
répondu il y a 7 mois
0

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

ishi
répondu il y a 7 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions