これは公式のELBドキュメントで見つかりました
デフォルトでは、ロードバランサーは各リクエストを独立して最小の負荷を持つアプリケーションインスタンスにルーティングします。
しかし、Newvemに関する記事によると、ELBはラウンドロビンアルゴリズムのみをサポートしています。
Amazon ELBでサポートされているアルゴリズム-現在、Amazon ELBはラウンドロビン(RR)とセッションスティッキアルゴリズムのみをサポートしています。
それでそれはどれですか?
[1] http://docs.aws.Amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html
HTTP(S)に基づくリクエスト数、その他のラウンドロビン。
クライアントは、ロードバランサーにリクエストを送信する前に、ロードバランサーのドメイン名をドメインネームシステム(DNS)サーバーで解決します。 DNSサーバーはDNSラウンドロビンを使用して、特定のアベイラビリティーゾーンのどのロードバランサーノードがリクエストを受信するかを決定します。
選択されたロードバランサーノードは、同じアベイラビリティーゾーン内の正常なインスタンスにリクエストを送信します。ロードバランサノードは、正常なインスタンスを特定するために、ラウンドロビン(TCP接続の場合)または未解決の最小要求(HTTP/HTTPS接続の場合)ルーティングアルゴリズムを使用します。最小未処理の要求ルーティングアルゴリズム接続または未処理のリクエストが最も少ないバックエンドインスタンスを優先します。
使用するELBのタイプによって異なります。 AWSは、クラシックELBとともにアプリケーションELBとネットワークELBを導入してきました。
Application Load Balancers
はリスナールールを適用し、(HTTP/HTTPS)リクエストをターゲットグループに割り当てます。 round robin routing algorithm
を使用して、ターゲットグループからターゲットを選択します
接続を受信するNetwork Load Balancers
ノードは、flow hash routing algorithm
を使用してターゲットグループからターゲットを選択します
Classic Load Balancers
はTCPリスナーの場合はround robin routing algorithm
を使用し、HTTPおよびHTTPSリスナーの場合はleast outstanding requests routing algorithm
を使用します
。
TLDR;
最新のELBは、HTTP/HTTPSリクエストに
round robin routing algorithm
を使用し、TCPリクエストにflow hash routing algorithm
を使用します。クラシックELBは、TCP=リクエストには
round robin routing algorithm
を使用し、HTTPおよびHTTPSリクエストにはleast outstanding requests routing algorithm
を使用しました