Einen AWS ELB-Load Balancer-Port zuordnen, um den Ausgleich auf mehrere Instanz-Ports zu gewährleisten?

Einen AWS ELB-Load Balancer-Port zuordnen, um den Ausgleich auf mehrere Instanz-Ports zu gewährleisten?

Angenommen, ich habe mehrere Prozesse auf mehreren EC2-Instanzen, jeweils auf unterschiedlichen Ports. Kann ich einen einzelnen AWS ELB zuordnen, um diese Prozesse auf allen Instanzen auszugleichen?

Am liebsten hätte ich zum Beispiel ein Setup wie dieses:

HTTPS 443 -> Instance 1 Process 1 Port 8081
       or -> Instance 1 Process 2 Port 8082
       or -> Instance 2 Process 1 Port 8081
       or -> Instance 2 Process 2 Port 8082

Gibt es eine Möglichkeit, ELB so zu konfigurieren? Ich versuche zu vermeiden, auf jeder Instanz einen Load Balancer auszuführen, um die Prozesse dieser Instanz auszugleichen.

Antwort1

Wichtiges Update

Das Serviceangebot hat sich weiterentwickelt, daher gelten die folgenden Informationen (die ursprüngliche Antwort) nur für ELB/1.0, das jetzt als ELB Classic Load Balancer bezeichnet wird:


Nein, das ist mit ELB nicht möglich.

Sie können mehrere Listener auf der Vorderseite eines ELB zuordnen, um einen einzelnen Port auf den Back-End-Instanzen zu erreichen. Sie können jedoch keinen einzelnen Listener auf der Vorderseite eines ELB zuordnen, um mehrere Ports auf den Back-End-Instanzen zu erreichen.


ELB/2.0, genanntAnwendungslastenausgleichwurde Ende 2016 veröffentlicht undtutunterstützt mehrere Instanz-Ports durch die Verwendung von „Zielgruppen“.

Es ermöglicht außerdem eine selektive Anforderungsweiterleitung durch Pfadmustervergleich, unterstützt Websockets im HTTP-Modus und HTTP/2 auf der Frontseite.

Wenn Sie einen Balancer starten, können Sie immer noch einen Classic starten (dieser ist immer noch verfügbar und das Port-Limit von einer Instanz pro Listener gilt immer noch) oder Sie können einen ALB starten, um die neue Funktionalität zu erhalten.

Antwort2

Dies ist möglich mit Application Load Balancer (ALB)

CLI-Dokumentation ist verfügbarHier

API-Dokumentation istHier

Sie müssen in der API-Dokumentation nach der Option zum Port-Override suchen.

verwandte Informationen