Was ist ein Application 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 Application 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 Application Load Balancer beschrieben. Weitere Informationen zu den anderen Load Balancers finden Sie im Benutzerhandbuch für Network Load Balancer, im Benutzerhandbuch für Gateway Load Balancer und im Benutzerhandbuch für Classic Load Balancer.

Application-Load-Balancer-Komponenten

Ein Load Balancer dient als zentraler Kontaktpunkt für Clients. Der Load Balancer verteilt eingehenden Anwendungsdatenverkehr auf mehrere Ziele, wie EC2-Instances, in mehreren Availability Zones. 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 mit dem Protokoll und dem Port, das bzw. den Sie konfigurieren. Die für einen Listener definierten Regeln bestimmen, wie der Load Balancer Anforderungen an seine registrierten Ziele weiterleitet. Jede Rolle besteht aus einer Priorität, mindestens einer Aktion und mindestens einer Bedingung. Wenn die Bedingungen für eine Regel erfüllt sind, wird die dazugehörige Aktion durchgeführt. Sie müssen für jeden Listener eine Standardregel definieren und können optional zusätzliche Regeln definieren.

Jede Zielgruppe leitet Anforderungen an ein oder mehrere registrierte Ziele, z. B. EC2-Instances, über das Protokoll und die Port-Nummer, die Sie angeben, weiter. 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.

Das folgende Diagramm veranschaulicht die grundlegenden Komponenten. Beachten Sie, dass jeder Listener eine Standardregel enthält und ein Listener eine zweite Regel enthält, die Anforderungen an eine andere Zielgruppe weiterleitet. Ein Ziel ist bei zwei Zielgruppen registriert.

Die Komponenten eines grundlegenden Application Load Balancer

Weitere Informationen finden Sie in der folgenden -Dokumentation:

Application Load Balancer – Übersicht

Ein Application Load Balancer funktioniert auf Anwendungsebene, der siebten Ebene der Open Systems Interconnection (OSI)-Modells. Nachdem der Load Balancer eine Anforderung empfangen hat, bewertet er die Listener-Regeln in der Reihenfolge ihrer Priorität, um zu ermitteln, welche Regel angewendet werden soll. Anschließend wählt er ein Ziel aus der Zielgruppe für die Regelaktion aus. Sie können Listener-Regeln zum Weiterleiten von Anforderungen an verschiedene Zielgruppen basierend auf dem Inhalt des Anwendungsdatenverkehrs konfigurieren. Die Weiterleitung erfolgt unabhängig für jede Zielgruppe, auch wenn ein Ziel bei mehreren Zielgruppen registriert ist. Sie können den Weiterleitungsalgorithmus konfigurieren, der auf der Ebene der Zielgruppe verwendet wird. Als standardmäßiger Routing-Algorithmus wird „Round Robin“ verwendet. Alternativ können Sie auch den Weiterleitungsalgorithmus „Am wenigsten ausstehende Anfragen“ angeben.

Sie können Ziele zu Ihrem Load Balancer hinzufügen und wieder entfernen, wenn sich Ihr Bedarf ändert, ohne den allgemeinen Fluss von Anfragen 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 Application Load Balancers anstelle eines Classic Load Balancers hat die folgenden Vorteile:

  • Unterstützung für Pfadbedingungen. Sie können Regeln für Ihre Listener konfigurieren, die Anforderungen basierend auf der URL in der Anforderung weiterleiten. Auf diese Weise können Sie Ihre Anwendung als kleinere Services strukturieren und Anforderungen basierend auf dem Inhalt der URL an den richtigen Service weiterleiten.

  • Unterstützung für Hostbedingungen. Sie können Regeln für Ihre Listener konfigurieren, die Anfragen basierend auf dem Hostfeld im HTTP-Header weiterleiten. Auf diese Weise können Sie mit einem einzigen Load Balancer Anfragen zu mehreren Domains weiterleiten.

  • Unterstützung für Weiterleitung auf Grundlage von Feldern in der Anforderung, z. B. HTTPHeader-Bedingungen und Methoden, Abfrageparameter und IP-Adressen.

  • Unterstützung von Weiterleitungsanfragen an mehrere Anwendungen auf einer einzelnen EC2-Instance. Sie können jede Instance oder IP-Adresse mit mehreren Zielgruppen registrieren, jede auf einem unterschiedlichen Port.

  • Unterstützung für das Weiterleiten von Anforderungen von einer URL an eine andere.

  • Unterstützung für das Zurückgeben einer benutzerdefinierten HTTP-Antwort.

  • 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 für die Registrierung von Lambda-Funktionen als Ziele.

  • Unterstützung für das Authentifizieren von Benutzern Ihrer Anwendungen über deren Unternehmensidentitäten oder Social Identities vor dem Weiterleiten von Anfragen durch den Load Balancer.

  • 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 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.

  • Zugriffsprotokolle enthalten weitere Informationen und werden in komprimiertem Format gespeichert.

  • Verbesserte Load Balancer-Performance.

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

Elastic Load Balancing arbeitet mit den folgenden Services, um die Verfügbarkeit und Skalierbarkeit Ihrer Anwendungen zu verbessern.

  • Amazon EC2 – Virtuelle Server, die Ihre Anwendungen in der Cloud ausführen. Sie können Ihren Load Balancer so konfigurieren, dass der Datenverkehr zu Ihren EC2-Instances geleitet wird.

  • Amazon EC2 Auto Scaling – Stellt sicher, dass die gewünschte Anzahl von Instances ausgeführt wird, auch wenn eine Instance ausfällt, und ermöglicht die automatische Erhöhung oder Verringerung der Anzahl der Instances, falls sich die Anforderungen an Ihre Instances ändern. Wenn Sie Auto Scaling mit Elastic Load Balancing aktivieren, werden Instances, die von Auto Scaling gestartet werden, automatisch bei der Zielgruppe registriert, und Instances, die durch Auto Scaling beendet wurden, werden automatisch von der Zielgruppe abgemeldet.

  • AWS Certificate Manager – Wenn Sie einen HTTPS-Listener erstellen, können Sie von ACM bereitgestellte Zertifikate festlegen. Der Load Balancer verwendet Zertifikate, um Verbindungen zu beenden und Anfragen von Clients zu entschlüsseln. Weitere Informationen finden Sie unter SSLZertifikate für Ihren Application Load Balancer.

  • Amazon CloudWatch – Ermöglicht es Ihnen, Ihren Load Balancer zu überwachen und bei Bedarf Maßnahmen zu ergreifen. Weitere Informationen finden Sie unter CloudWatch Metriken für Ihren Application Load Balancer.

  • Amazon ECS – Sie können Docker-Container in einem Cluster von EC2-Instances ausführen, anhalten und verwalten. Sie können Ihren Load Balancer so konfigurieren, dass der Datenverkehr an Ihre Container geleitet wird. Weitere Informationen finden Sie unter Service – Load Balancing im Amazon Elastic Container Service-Entwicklerhandbuch.

  • AWS Global Accelerator – Verbessert die Verfügbarkeit und Leistung Ihrer Anwendung. Verwenden Sie einen Beschleuniger, um den Datenverkehr auf mehrere Load Balancer in einer oder mehreren AWS-Regionen zu verteilen. Weitere Informationen finden Sie im AWS Global Accelerator-Entwicklerhandbuch.

  • Route 53 – Bietet eine zuverlässige und kostengünstige Möglichkeit, um Besucher zu Webseiten zu leiten, indem Domainnamen (wie zum Beispiel www.example.com) in nummerische IP-Adressen (wie zum Beispiel 192.0.2.1), die Computer zur gegenseitigen Vernetzung verwenden, übersetzt werden. AWS weist Ressourcen URLs zu, wie etwa Load Balancern. Sie können jedoch auch eine URL verwenden, die aussagekräftig und leicht zu merken ist. So können zum Beispiel Ihren Domainnamen einem Load Balancer zuordnen. Weitere Informationen finden Sie unter Weiterleiten von Datenverkehr an einen ELB Load Balancer im Entwicklerhandbuch von Amazon Route 53.

  • AWS WAF – Sie können AWS WAF mit Ihrem Application Load Balancer verwenden, um Anforderungen basierend auf den Regeln in einer Web-ACL (Web-Zugriffskontrollliste) zu erlauben oder zu blockieren. Weitere Informationen finden Sie unter Application Load Balancer und AWS WAF.

Um Informationen über Services anzuzeigen, die in Ihren Load Balancer integriert sind, wählen Sie Ihren Load Balancer in der AWS Management Console aus und klicken Sie dann auf die Registerkarte Integriertes Services.

Preisgestaltung

Mit Ihrem Load Balancer zahlen Sie nur für das, was Sie auch tatsächlich nutzen. Weitere Informationen finden Sie unter Elastic Load Balancing Pricing.