AWSのドキュメントには、ECSサービスを複数のポートに接続するためにクラシックロードバランサーが必要であると記載されています: https:// docs。 aws.Amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html
しかし、FargateでECSを使用すると、Classic Load Balancerがネットワークモードawsvpcをサポートしていないというエラーメッセージが表示されます: https: //ibb.co/gJTtfo
Fargateを使用してECSサービスの複数のポートの負荷を分散する方法はありませんか?
ドキュメントには、Fargate起動タイプでClassic LoadBalancerを使用することはできないと記載されています。
https://docs.aws.Amazon.com/AmazonECS/latest/developerguide/task-networking.html
awsvpcネットワークモードを使用するタスクを持つサービス(たとえば、Fargate起動タイプのサービス)は、アプリケーションロードバランサーとネットワークロードバランサーのみをサポートします。 クラシックロードバランサーはサポートされていません。また、これらのサービスのターゲットグループを作成するときは、インスタンスではなく、ターゲットタイプとしてipを選択する必要があります。これは、awsvpcネットワークモードを使用するタスクが、Amazon EC2インスタンスではなく、Elastic NetworkInterfaceに関連付けられているためです。
ファーゲート起動タイプを使用している場合、awsvpc network mode is required
。 EC2起動タイプを使用している場合は、任意のネットワークモードを使用できます。ネットワークモードがnoneに設定されている場合、コンテナ定義でポートマッピングを指定することはできません。コンテナには外部接続がありません。ホストおよびawsvpcネットワークモードは、ブリッジモードによって提供される仮想化ネットワークスタックの代わりにAmazon EC2ネットワークスタックを使用するため、コンテナーに最高のネットワークパフォーマンスを提供します。
次のブログ投稿は、あなたのケースに適したアプローチを見つけるのに役立つかもしれません。
AWSブログ-AWS Fargateのタスクネットワーキング
https://aws.Amazon.com/blogs/compute/task-networking-in-aws-fargate/