私のチームは、20 のマイクロサービスで構成されるアプリケーションを開発しています。これは、aws ecs ec2 インスタンスにデプロイされます。クラスターで 3 つの aws ec2 インスタンスを起動する予定です。各マイクロサービスには、オン タスク定義とサービスがあります。
docker コンテナがビルドされ、aws ecr にプッシュされ、Jenkinsfile を使用して jenkins 経由で ecs にデプロイされます。taskdefinition json ファイルでは、ホスト ポートを 0 に設定しました。これにより、各 Docker コンテナーのホスト ポートがランダムになり、サービスの目的の数を 2 以上に増やしてもポートの競合が発生しなくなります。
同じタスク定義のコンテナーはリンクを使用して通信できると思いますが、私の場合、docker コンテナーがどのインスタンスにあるかを予測できません。
別のサーバーで rabbitmq を使用すると、別のマイクロサービスとどのように通信できるのでしょうか? タスク定義でネットワークモードを「デフォルトネットワーク」として使用していますが、これを awsvpc に変更する必要がありますか?