-1

ich den großen Unterschied zwischen Amazon Anwendung Lastausgleich (ALB) und klassischem Lastausgleich (CLB) wissen will. Ich habe das gesucht, aber sie haben nur Beispiele gegeben, so wie die klassische Lastverteilung nur den gleichen Inhalt enthält, aber die Anwendungslastverteilung kann verschiedene Inhalte enthalten und mit der Zielgruppe gruppiert sein.Amazon EC2 Load Balancer

ALB hat einige Funktionen (z. B. Host-basiertes Routing, pfadbasiertes Routing), aber meine Frage ist, warum wir ALB anstelle der klassischen Lastverteilung verwenden. Bitte geben Sie Anwendungsfälle für beide an.

+0

Der klassische Load Balancer ist nicht als "CLB" bekannt. Es ist ein ELB. Es gibt auch eine NLB – Vorsprung

Antwort

0

ALB

Die Anwendung Load Balancer (Elastic Load Balancer V2) können Sie direkten Verkehr Instanzen EC2 basierend auf komplexeren Kriterien/Regeln, insbesondere URL-Pfade. Sie können festlegen, dass Benutzer versuchen, auf "/ signup" zuzugreifen, zu einer Gruppe von Instanzen gehen und Benutzer, die versuchen, auf "/ homepage" zuzugreifen, zu einer anderen Gruppe von Instanzen wechseln. Im Vergleich zum klassischen ELB prüft ein ALB den Verkehr auf Anwendungsebene (OSI-Schicht 7). Auf dieser Ebene können beispielsweise URL-Pfade geparst werden.

ELB/Classic

Der klassische Lastenausgleichsverkehr gleichmäßig Informationen auf der TCP-Ebene unter Verwendung von (OSI-Schicht 4 Transport). Es wird entweder eine Anfrage an jeden Instanzen-Round-Robin-Stil senden oder Sticky-Sessions verwenden und jeden Benutzer/Client an dieselbe Instanz senden, an der sie ursprünglich gelandet sind.

Warum ALB über ELB?

Sie können ein ALB verwenden, wenn Sie sich dafür entschieden haben, Ihr System so zu gestalten, dass jeder Pfad über eigene Instanzen oder einen eigenen Dienst verfügt. So gehen /signup,/login,/info usw. alles durch einen Load Balancer, der an Ihren Domain-Namen https // mysite.com angeheftet ist, aber eine andere EC2-Instanz bedient jeden. ALBs unterstützen nur HTTP/HTTPS. Wenn Ihr System ein anderes Protokoll verwendet, müssen Sie einen ELB/Classic Load Balancer verwenden. Websockets HTTP/2 werden derzeit nur auf ALB unterstützt.

Ein anderer Grund, warum Sie ALB über ELB wählen könnten, ist, dass einige zusätzliche neuere Funktionen noch nicht zu ELB hinzugefügt wurden oder nie hinzugefügt werden. Wie Michael unten unter AWS erwähnt, wird WAF nicht auf dem klassischen Load Balancer unterstützt, sondern auf ALB. Ich erweiterte auf andere Funktionen weiter unten.

Warum ELB über ALB?

Architektonisch ist es viel einfacher, jede Anfrage an die gleiche Reihe von Instanzen zu senden und dann intern innerhalb Ihrer Anwendung Delegate Anfragen für bestimmte Pfade zu bestimmten Funktionen/Klassen/Methoden etc etc ... Dies ist im Wesentlichen das Monolith-Design am meisten Anwendungen beginnen als. Für die meisten Arbeitsbelastungen, die den Verkehr bestimmten Instanzgruppen (dem ALB-Ansatz) widmen, wäre die EC2-Energieverschwendung. Sie würden einige Instanzen tun viel Arbeit und andere kaum genutzt.

Ähnlich wie beim ALB gibt es Merkmale des klassischen ELB, die noch nicht auf ALB angekommen sind. Ich erweitere das weiter unten.

Update - Mehr zu Funktionsunterschiede

Aus der Produktperspektive sie auf andere Weise unterscheiden, die nicht wirklich verwandt sind, wie sie funktionieren und mehr über einige Funktionen noch nicht vorhanden ist.

HTTP auf HTTPS-Umleitung - zum Beispiel in ALB jede Zielgruppe (Gruppe von Instanzen Ihnen eine bestimmte Route zuweisen) zur Zeit nur ein Protokoll verarbeiten kann also, wenn Sie HTTP zu implementieren waren zu HTTPS umleitet erfordert dies zwei Instanzen Minimum. Mit ELB können Sie die HTTP-zu-HTTPS-Umleitung in einer einzelnen Instanz durchführen. Ich kann mir vorstellen, dass ALB dieses Feature bald haben wird. https://forums.aws.amazon.com/thread.jspa?threadID=247546

mehrerer SSL-Zertifikate auf Ein Load Balancer - Mit dem ALB können Sie es mehrere SSL-Zertifikate für die verschiedenen Domänen zuweisen. Dies ist bei einem klassischen Lastenausgleich nicht möglich, obwohl die Funktion angefordert wurde. Für einen klassischen Load Balancer können Sie ein Wildcard-Zertifikat verwenden, aber das ist nicht das Gleiche. Ein ALB nutzt die SNI-Servernamenidentifikation, um dies zu ermöglichen, da dies nicht zum klassischen ELB-Feature-Set hinzugefügt wurde.

+1

ALB unterstützt auch Websockets und HTTP/2, ELB unterstützt keine von denen. –

+0

@MarkB Danke. Habe es gerade aktualisiert. –

+1

* "Für die meisten Arbeitslasten würde die Zuweisung von Datenverkehr zu bestimmten Instanzgruppen (der ALB-Ansatz) eine Verschwendung von EC2-Leistung darstellen." * Dies ist keine genaue Widerspiegelung des beabsichtigten Zwecks oder logischen Ergebnisses des ALB-Funktionssatzes. Es gibt keinen zwingenden Grund mehr, einen ELB zu verwenden, es sei denn, Sie benötigen speziell eine Funktion, die nur ein ELB bietet, z. B. Transparenzausgleich für Layer 4 mit TLS-Offloading. Der "ALB-Ansatz" soll dies erleichtern, wenn Sie es brauchen, aber wenn Sie es nicht brauchen, ist das kein Grund, keinen ALB zu verwenden. –

Verwandte Themen