Was ist ein Network Load Balancer? - Elastic Load Balancing

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Was ist ein Network Load Balancer?

Elastic Load Balancing verteilt Ihren eingehenden Datenverkehr automatisch auf mehrere Ziele, z. B. EC2-Instances, Container und IP-Adressen oder eine oder mehrere Availability Zones. Es überwacht den Zustand der registrierten Ziele und leitet den Datenverkehr nur an die fehlerfreien Ziele weiter. Elastic Load Balancing skaliert Ihren Load Balancer, wenn sich der eingehende Datenverkehr im Laufe der Zeit ändert. Es kann automatisch auf die meisten Workloads skaliert werden.

Elastic Load Balancing unterstützt die folgenden Load Balancers: Application Load Balancers, Network Load Balancers, Gateway Load Balancers und Classic Load Balancers. Sie können den Typ des Load Balancers, der Ihren Anforderungen am besten entspricht, auswählen. In diesem Handbuch werden Network Load Balancers beschrieben. Weitere Informationen zu den anderen Load Balancers finden Sie im Benutzerhandbuch für Application Load Balancers, im Benutzerhandbuch für Gateway Load Balancers und im Benutzerhandbuch für Classic Load Balancers.

Network-Load-Balancer-Komponenten

Ein Load Balancer dient als zentraler Kontaktpunkt für Clients. Der Load Balancer verteilt den eingehenden Datenverkehr über mehrere Ziele, z. B. Amazon-EC2-Instances. Dies erhöht die Verfügbarkeit Ihrer Anwendung. Sie fügen Ihrem Load Balancer einen oder mehrere Listener hinzu.

Ein Listener prüft Verbindungsanforderungen von Clients unter Verwendung des von Ihnen konfigurierten Protokolls und Ports, und gibt Anforderungen an eine Zielgruppe weiter.

Eine Zielgruppe leitet Anforderungen an ein oder mehrere registrierte Ziele, z. B. EC2-Instances, über das Protokoll und die Port-Nummer, die Sie angeben, weiter. Zielgruppen von Network Load Balancern unterstützen die Protokolle TCP, UDP, TCP_UDP und TLS. Sie können ein Ziel bei mehreren Zielgruppen registrieren. Sie können Zustandsprüfungen pro Zielgruppe konfigurieren. Zustandsprüfungen werden auf allen Zielen ausgeführt, die bei einer Zielgruppe registriert sind, welche in einer Listener-Regel für Ihren Load Balancer abgegeben ist.

Weitere Informationen finden Sie in der folgenden -Dokumentation:

Network Load Balancer im Überblick

Ein Network Load Balancer arbeitet auf der vierten Ebene der OSI-Modells (Open Systems Interconnection). Er kann Millionen Anfragen pro Sekunde verarbeiten. Nachdem der Load Balancer eine Verbindungsanforderung erhalten hat, wählt er ein Ziel aus der Zielgruppe für die Standardregel aus. Er versucht, eine TCP-Verbindung zu dem ausgewählten Ziel auf dem in der Listener-Konfiguration angegebenen Port zu öffnen.

Wenn Sie eine Availability Zone für den Load Balancer aktivieren, erstellt Elastic Load Balancing einen Load-Balancer-Knoten in der Availability Zone. Standardmäßig verteilt jeder Load Balancer-Knoten Datenverkehr nur auf die registrierten Ziele in seiner Verfügbarkeitszone. Wenn zonenübergreifendes Load Balancing aktiviert ist, verteilt jeder Load Balancer-Knoten den Datenverkehr gleichmäßig auf die registrierten Ziele in allen aktivierten Availability Zones. Weitere Informationen finden Sie unter Availability Zones.

Um die Fehlertoleranz Ihrer Anwendungen zu erhöhen, können Sie mehrere Availability Zones für Ihren Load Balancer aktivieren und sicherstellen, dass jede Zielgruppe mindestens ein Ziel in jeder aktivierten Availability Zone hat. Wenn beispielsweise eine oder mehrere Zielgruppen in einer Availability Zone kein fehlerfreies Ziel haben, entfernen wir die IP-Adresse für das entsprechende Subnetz vom DNS, aber die Load Balancer-Knoten in den anderen Availability Zones sind weiter verfügbar, um den Datenverkehr weiterzuleiten. Wenn ein Client die time-to-live (TTL) nicht berücksichtigt und nach dem Entfernen aus dem DNS Anforderungen an die IP-Adresse sendet, schlagen die Anforderungen fehl.

Für TCP-Datenverkehr lädt der Load Balancer ein Ziel unter Verwendung eines Flow-Hash-Algorithmus basierend auf dem Protokoll, der Quell-IP-Adresse, dem Quell-Port, der Ziel-IP-Adresse, dem Ziel-Port und der TCP-Sequenznummer aus. Die TCP-Verbindungen von einem Client verfügen über unterschiedliche Quell-Ports und Sequenznummern und können an verschiedene Ziele geleitet werden. Jede einzelne TCP-Verbindung wird für die Dauer der Verbindung an ein einzelnes Ziel geleitet.

Für den UDP-Datenverkehr wählt der Load Balancer ein Ziel unter Verwendung eines Flow-Hash-Algorithmus basierend auf dem Protokoll, der Quell-IP-Adresse, dem Quell-Port, der Ziel-IP-Adresse und des Ziel-Ports aus. Ein UDP-Datenstrom hat die gleiche Quelle und das gleiche Ziel. Folglich wird er während seiner gesamten Lebensdauer konsistent an ein Ziel weitergeleitet. Unterschiedliche UDP-Datenströme verfügen über unterschiedliche Quell-IP-Adressen und -Ports, sodass sie an verschiedene Ziele weitergeleitet werden können.

Elastic Load Balancing erstellt eine Netzwerkschnittstelle für jede Availability Zone, die Sie aktivieren. Jeder Load Balancer-Knoten in der Availability Zone verwendet diese Netzwerkschnittstelle, um eine statische IP-Adresse zu erhalten. Wenn Sie einen Load Balancer erstellen, der mit dem Internet verbunden ist, können Sie optional eine Elastic IP-Adresse pro Subnetz zuordnen.

Wenn Sie eine Zielgruppe erstellen, können Sie ihren Zieltyp angeben, durch den festgelegt wird, wie Sie Ziele registrieren. Sie können beispielsweise Instance-IDs, IP-Adressen oder einen Application Load Balancer registrieren. Der Zieltyp wirkt sich auch darauf aus, ob die Client-IP-Adressen beibehalten werden. Weitere Informationen finden Sie unter Client-IP-Erhaltung.

Sie können Ziele zu Ihrem Load Balancer hinzufügen und wieder entfernen, wenn sich Ihr Bedarf ändert, ohne den allgemeinen Fluss von Anforderungen an Ihre Anwendung zu unterbrechen. Elastic Load Balancing skaliert Ihren Load Balancer, wenn sich der Datenverkehr zu Ihrer Anwendung im Laufe der Zeit ändert. Elastic Load Balancing kann für die meisten Workloads automatisch skaliert werden.

Sie können Zustandsprüfungen konfigurieren, mit denen der Zustand der registrierten Ziele überwacht wird, sodass der Load Balancer nur an die fehlerfreien Ziele Anfragen senden kann.

Weitere Informationen finden Sie unter Funktionsweise von Elastic Load Balancing im Benutzerhandbuch für Elastic Load Balancing.

Vorteile der Migration von einem Classic Load Balancer

Die Verwendung eines Network Load Balancers anstelle eines Classic Load Balancers hat die folgenden Vorteile:

  • Möglichkeit, temporäre Verarbeitungslasten zu verarbeiten und eine Skalierung auf Millionen Anfragen pro Sekunde durchzuführen.

  • Unterstützung statischer IP-Adressen für den Load Balancer. Sie können auch eine Elastic IP-Adresse pro Subnetz zuweisen, die für den Load Balancer aktiviert wird.

  • Unterstützung einer Registrierung von Zielen unter Verwendung von IP-Adressen, auch für Ziele, die außerhalb der VPC für den Load Balancer liegen.

  • Unterstützung von Weiterleitungsanfragen an mehrere Anwendungen auf einer einzelnen EC2-Instance. Sie können jede Instance oder IP-Adresse mit derselben Zielgruppe unter Verwendung mehrerer Ports registrieren.

  • Unterstützung für Anwendungen in Containern. Amazon Elastic Container Service (Amazon ECS) kann beim Planen einer Aufgabe und Registrieren der Aufgabe bei einer Zielgruppe einen unbenutzten Port verwenden. Auf diese Weise können Sie Ihre Cluster effizient einsetzen.

  • Unterstützung für die unabhängige Überwachung des Zustands jedes Services, da Zustandsprüfungen auf Zielgruppenebene definiert sind und viele Amazon- CloudWatch Metriken auf Zielgruppenebene gemeldet werden. Wenn Sie eine Zielgruppe einer Auto-Scaling-Gruppe zuweisen, können Sie jeden Service je nach Bedarf dynamisch skalieren.

Weitere Informationen zu den von den einzelnen Load-Balancer-Typen unterstützten Features finden Sie unter Produktvergleich für Elastic Load Balancing.

Erste Schritte

Um einen Network Load Balancer zu erstellen, versuchen Sie eines der folgenden Tutorials:

Demos häufiger Load-Balancer-Konfigurationen finden Sie unter Elastic-Load-Balancing-Demos.

Preisgestaltung

Weitere Informationen finden Sie unter Network Load Balancer – Preisgestaltung.