Ordnen Sie einen AWS ELB-Load-Balancer-Port mehreren Instanz-Ports zu?

8

Nehmen wir an, ich habe mehrere Prozesse, die auf mehreren EC2-Instanzen an unterschiedlichen Ports ausgeführt werden. Kann ich eine einzelne AWS-ELB zuordnen, um sie einem beliebigen dieser Prozesse in einer beliebigen Instanz zuzuordnen?

Zum Beispiel möchte ich idealerweise 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, dass auf jeder Instanz ein Load Balancer ausgeführt wird, um die Prozesse dieser Instanz zu verteilen.

Sam
quelle

Antworten:

6

Wichtiges Update

Das Serviceangebot hat sich weiterentwickelt, sodass die folgenden Informationen (die ursprüngliche Antwort) nur für ELB / 1.0 gelten, 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 einer ELB zuordnen, um einen einzelnen Port auf den Back-End-Instanzen zu treffen, aber Sie können nicht einen einzelnen Listener auf der Schriftseite einer ELB zuordnen, um mehrere Ports auf der Rückseite zu treffen. Endinstanzen.


ELB / 2.0, genannt Anwendungs Load Balancer wurde Ende 2016 veröffentlicht und hat Unterstützung mehr Instanz - Ports mit „Zielgruppen.“

Es ermöglicht auch selektives Routing von Anforderungen durch Pfadmusterabgleich, unterstützt Web-Sockets im HTTP-Modus und HTTP / 2 auf der Vorderseite.

Wenn Sie einen Balancer starten, können Sie weiterhin einen Classic starten (dieser ist weiterhin verfügbar und das Portlimit für eine einzelne Instanz pro Listener gilt weiterhin) oder Sie können einen ALB starten, um die neue Funktionalität zu erhalten.

Michael - sqlbot
quelle
Was ist mit NLB? NLB erlaubt kein SSL, ELB jedoch. NLB unterstützt jedoch das Hinzufügen mehrerer Instanzports zu LB, während ELB dies nicht tut. Gibt es eine Möglichkeit, mehrere Ports für LB mit SSL-Transport zu unterstützen?
Haris Farooqui
1
@HarisFarooqui mit NLB muss der auf Ihrer Instanz ausgeführte Dienst das SSL verarbeiten. Wenn Sie (a) SSL-Offload durch den Balancer, (b) ein anderes Protokoll als HTTPS und (c) mehrere Ports pro Instanz benötigen, verfügt AWS hierfür nicht über eine Balancer-Lösung.
Michael - sqlbot
0

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

Die CLI-Dokumentation finden Sie hier

Die API-Dokumentation finden Sie hier

Sie müssen in der API-Dokumentation nach der Option zum Überschreiben von Ports suchen.

Packetlord
quelle