Amazon ELB は負荷分散にどのようなアルゴリズムを使用しますか?

Amazon ELB は負荷分散にどのようなアルゴリズムを使用しますか?

私はこれをELBの公式ドキュメントで見つけた

デフォルトでは、ロード バランサは各リクエストを、負荷が最も小さいアプリケーション インスタンスに個別にルーティングします。

しかし、Newvemの記事によると、ELBはラウンドロビンアルゴリズムのみをサポートしているとのことである。

Amazon ELB でサポートされているアルゴリズム- 現在、Amazon ELB はラウンドロビン (RR) とセッションスティッキーアルゴリズムのみをサポートしています。

それでどれですか?

[1]http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

[2]http://www.newvem.com/dissecting-amazon-elastic-load-balancer-elb-18-facts-you-should-know/?lead_source=popup_ebook&oid=00DD0000000lsYR&email=muneeb%40olacabs.com

答え1

HTTP(S) の場合はリクエスト数に基づいて、その他はラウンドロビンです。

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#request-routing

クライアントがロード バランサーにリクエストを送信する前に、まずドメイン ネーム システム (DNS) サーバーを使用してロード バランサーのドメイン名を解決します。DNS サーバーは DNS ラウンドロビンを使用して、特定のアベイラビリティー ゾーン内のどのロード バランサー ノードがリクエストを受信するかを決定します。

選択されたロード バランサ ノードは、同じアベイラビリティ ゾーン内の正常なインスタンスにリクエストを送信します。正常なインスタンスを決定するために、ロード バランサ ノードはラウンドロビン (TCP 接続の場合) または未処理リクエストが最も少ないルーティング アルゴリズム (HTTP/HTTPS 接続の場合) のいずれかを使用します。未処理リクエストが最も少ないルーティング アルゴリズムは、接続または未処理リクエストが最も少ないバックエンド インスタンスを優先します。

答え2

使用される ELB のタイプによって異なります。AWS は、Classic ELB に加えて、Application ELB と Network ELB を導入してきました。

Application Load Balancersリスナールールを適用し、(HTTP/HTTPS)リクエストをターゲットグループに割り当てます。round robin routing algorithm

Network Load Balancers接続を受信したノードは、ターゲットグループからターゲットを選択し、flow hash routing algorithm

Classic Load Balancersround robin routing algorithmTCPリスナーとleast outstanding requests routing algorithmHTTPおよびHTTPSリスナーでの使用

TLDR;

最新の ELB は、round robin routing algorithmHTTP/HTTPS リクエストとflow hash routing algorithmTCP リクエストに を使用します。

round robin routing algorithmTCPリクエストとleast outstanding requests routing algorithmHTTPおよびHTTPSリクエストに使用されるクラシックELB

出典 / 参考文献:https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

関連情報