web-dev-qa-db-ja.com

Application Load Balancer + EC2 Container Serviceを使用する場合のターゲットグループポートは何ですか?

ポート443でリッスンするALBをセットアップしようとしています。ランダムポートでECS Dockerコンテナーへの負荷分散を行っています。同じタスク定義の2つのコンテナーインスタンスがあり、ポート30000と30001でリッスンしているとします。

AWS EC2マネジメントコンソールでターゲットグループを作成しようとすると、1〜65535の範囲の「ポート」入力フィールドがあります。そこに何を入れればいいですか?

また、AWS EC2 Container Serviceコンソールで新しいサービスを作成しようとすると、既存のALBに接続するための新しいターゲットグループがあり、ターゲットグループの「ポート」に入力フィールドがありません。作成後、EC2コンソールに移動すると、新しいターゲットグループのポートは「80」になります。ポート80でリッスンする必要がありますか?しかし、ヘルスチェックは「トラフィックポート」、つまりコンテナポート30000と30001に対して行われるので、何が重要なのでしょうか。

26
mash

結局のところ、ECSと組み合わせると、ターゲットグループのポートは何の意味もありません。そのポートをリッスンする必要はありません。

32
mash

私は自分でこの状況に遭遇しました。ターゲットグループポートと登録済みインスタンスのポートが異なることに気付きました。私は通常、それらを同じものに設定したので、これが何なのか、このスレッドに私を導いたのかと思いました。 AWSドキュメントで適切な答えを見つけることができませんでしたが、aws_lb_target_groupリソースのTerraformドキュメントでこれを見つけました。

port-(オプション、新しいリソースを強制する)特定のターゲットを登録するときにオーバーライドされない限り、ターゲットがトラフィックを受信するポート。

したがって、オーバーライドしない限り、これは使用されるデフォルトのポートにすぎないと思います。理にかなっています。

2
MacGruber

彼が言っているのは健康診断だと思います。 ELBがポート443でリッスンしているが、ターゲットグループがポート80に設定されている場合、ターゲットグループのすべてのヘルスチェックはポート80でリクエストを試行し、ロードバランサーによってポート443にリダイレクトされます。これにより、301コードが生成されますが、これは不健全と見なされます。正常と見なされるのは200コードのみです。その時点で、すべての異常なターゲットが常に存在するか、301を正常なコードのリストに追加します。これにより、ポート80に対して常に301が返されるため、ヘルスチェックのポイント全体が無効になります。ポートを一致させることもできます。

0
Jay Long

ターゲットグループのポートは、自動スケーリンググループと組み合わせて使用​​されます。これらのポートを使用する予定がある場合は、最初から正しいポートを使用する必要があります。どうして?ターゲットグループが作成された後は変更できず、ポートを誤って設定すると自動スケーリングが機能しなくなるためです。

0
Lars Hansson