web-dev-qa-db-ja.com

Fargateを使用したECSサービスの複数のポートのAWSロードバランシング

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サービスの複数のポートの負荷を分散する方法はありませんか?

8
hoodsy

ドキュメントには、Fargate起動タイプでClassic LoadBalancerを使用することはできないと記載されています。

https://docs.aws.Amazon.com/AmazonECS/latest/developerguide/task-networking.html

awsvpcネットワークモードを使用するタスクを持つサービス(たとえば、Fargate起動タイプのサービス)は、アプリケーションロードバランサーとネットワークロードバランサーのみをサポートします。 クラシックロードバランサーはサポートされていません。また、これらのサービスのターゲットグループを作成するときは、インスタンスではなく、ターゲットタイプとしてipを選択する必要があります。これは、awsvpcネットワークモードを使用するタスクが、Amazon EC2インスタンスではなく、Elastic NetworkInterfaceに関連付けられているためです。


https://docs.aws.Amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#network_mode

ファーゲート起動タイプを使用している場合、awsvpc network mode is requiredEC2起動タイプを使用している場合は、任意のネットワークモードを使用できます。ネットワークモードがnoneに設定されている場合、コンテナ定義でポートマッピングを指定することはできません。コンテナには外部接続がありません。ホストおよびawsvpcネットワークモードは、ブリッジモードによって提供される仮想化ネットワークスタックの代わりにAmazon EC2ネットワークスタックを使用するため、コンテナーに最高のネットワークパフォーマンスを提供します。


次のブログ投稿は、あなたのケースに適したアプローチを見つけるのに役立つかもしれません。

AWSブログ-AWS Fargateのタスクネットワーキング
https://aws.Amazon.com/blogs/compute/task-networking-in-aws-fargate/

2
Andi