Was ist AWS Elastic Load Balancing?

Was ist AWS Elastic Load Balancing?

  • Cloud
6 Minuten Lesezeit Aktualisiert Feb 18, 2019

Auf einen Blick: AWS Elastic Load Balancing verteilt eingehenden Datenverkehr auf mehrere EC2-Instanzen und verbessert so die Anwendungsverfügbarkeit und Skalierbarkeit durch Überwachung der Instanz-Gesundheit. Es umfasst klassische, Anwendungs- und Netzwerk-Lastbalancer, um verschiedene Anforderungen abzudecken.

  • Automatisch wird der Datenverkehr von ungesunden Instanzen umgeleitet, um die Leistung zu erhalten.
  • Unterstützt vielfältige Anwendungen, einschließlich Container und Microservices, mit dynamischen Skalierungsmöglichkeiten.

AWS Elastic Load Balancing ermöglicht es Benutzern, eingehenden Datenverkehr zwischen mehreren EC2-Instanzen, elastischen Cloud-Servern, Containern und IP-Adressen entsprechend zu routen. Die Verteilung von Verkehr/Arbeitslasten innerhalb einer einzelnen oder mehrerer Availability Zones erfolgt automatisch, sodass Nutzer die Rechenkapazitäten skalieren können, während die hohe Verfügbarkeit bei steigender Anwendungsbedarf aufrechterhalten wird. Wenn der Load Balancer eine Anfrage von einem Endnutzer erhält, auf eine Anwendung zuzugreifen, routet er den Verkehr basierend auf der Gesundheit der Zielinstanzen. Er überwacht kontinuierlich den Gesundheitsstatus und Benutzeranfragen werden immer an gesunde Instanzen gerichtet. Falls eine ungesunde Instanz erkannt wird, leitet der Load Balancer automatisch den gesamten Datenverkehr an andere gesunde Ziele weiter, sofern verfügbar. Die Anfragen werden beim Wiederversetzen in einen gesunden Zustand zurückgeleitet. Mit der Elastic Load Balancing Fähigkeit konfigurieren Benutzer das Protokoll und den Port eines Listeners, eines Prozesses, der Verbindungsanfragen zwischen Clients und Load Balancer sowie den Load Balancer und den Instanzzielen identifiziert. Der Listener folgt den vordefinierten Regeln und Richtlinien, um den Datenverkehr zwischen Client und Backend-Instanzen zu routen. Diese Regeln werden basierend auf konfigurierbaren Prioritäten, Bedingungen und Aktionen bewertet, wie sie auf der AWS-Ressource hier beschrieben sind.

Arten der elastischen Lastverteilung

Der ELB-Dienst begann 2009 mit der softwarebasierten Lastverteilungsfähigkeit, um Verkehr zu routen, Gesundheitsprüfungen von Instanzen durchzuführen und entsprechend zu reagieren, um die Verfügbarkeit und Fehlertoleranz von AWS-gehosteten Anwendungen zu maximieren. Dieser Lastverteilungsdienst heißt heute der Classic Load Balancer (CLB), und AWS hat seitdem zwei neue, erweiterte Dienste zum Lastverteilungsportfolio hinzugefügt: Application Load Balancer (ALB) und Network Load Balancer (NLB).

Klassischer Load Balancer

Der Classic Load Balancer wurde hauptsächlich entwickelt, um Balancing-Dienste für das EC2-Instanznetzwerk auf Level 4 des OSI-Modells bereitzustellen. Die meisten Webanwendungen verwenden das TCP/IP-Protokoll auf der Transportschicht Level 4 und verwenden in einigen Fällen auch das UDP-Protokoll. Allerdings unterstützen AWS Load Balancer derzeit kein UDP. Der Classic Load Balancer nutzt die Informationen aus den Protokollen und Portnummern von eingehenden Anfragen, um den Verkehr an geeignete AWS EC2-Instanzen zu leiten, die die Webanwendung hosten. Der Prozess ähnelt dem traditionellen Verkehrsrouting für Lastverteilungszwecke mit physischen Geräten, mit der Ausnahme, dass das CLB diese Aufgabe effizient und automatisch in einer virtuellen Umgebung erledigt. Die meisten Classic Load Balancer-Funktionen werden sowohl mit dem Anwendungs- als auch mit dem Network Load Balancer angeboten. Dazu gehören:

  • Hochverfügbarkeitsverteilung, einschließlich automatisierter Skalierung als Reaktion auf sich ändernde Anforderungen an die Verkehrskapazität.
  • Gesundheitsprüfungen der Ziel-EC2-Instanzen. Die ungesunden Ziele werden automatisch entlastet, bis der Server die optimale Leistungsfähigkeit wiedererlangt hat.
  • Sicherheitsgruppen für zusätzliches Netzwerk- und Sicherheitsmanagement, einschließlich der Möglichkeit, interne CLB zu erstellen.
  • Zentrale Verwaltung des SSL-Zertifikats, einschließlich Verschlüsselung der Ziel-EC2-Server, Kontrolle von Chiffren und Protokollen sowie Entlastung der SSL-Entschlüsselung.
  • Sticky Sessions, um Benutzer über Cookies zu denselben Zielinstanzen zu leiten. Dieser Dienst ist nicht für Application Load Balancer verfügbar.
  • Operative Überwachung über CloudWatch-Metriken berichtet, um Aktionen basierend auf Ereignissen im Zusammenhang mit der Netzwerkleistung und den Verkehrsanforderungen auszulösen.
  • Unterstützung sowohl für IPv4 als auch IPv6 für Anwendungen, die jeweils auf TCP und HTTP/HTTPS angewiesen sind.
  • Protokollaufzeichnung von Lastbalancer-Anfragen zur Diagnose und Analyse.

Anwendungs-Load Balancer

Der ALB ermöglicht die Lastverteilung für HTTP/HTTPS-Verkehr auf Schicht 7 des OSI-Modells und kann den Datenverkehr an moderne Anwendungsarchitekturen routen, die Container, IP-Adressen, EC2-Server, Lambda-Funktionen und Microservices umfassen. Der ALB bietet folgende Funktionsverbesserungen gegenüber dem CLB:

  • Pfadbasiertes Routing basierend auf den im HTTP-Header angegebenen Informationen. Der Listener kann so konfiguriert werden, dass verschiedene URL-Inhalte an den entsprechenden Anwendungsdienst weitergeleitet werden.
  • Host-basiertes Routing ermöglicht die Konfiguration des Listeners, mehrere URL-Domains vom selben ALB zu routen.
  • Umleitung von Anfragen zwischen verschiedenen URLs, Rückgabe benutzerdefinierter HTTP-Antwort oder Weiterleitung von Datenverkehr basierend auf IP-Adressen.
  • Unterstützung für AWS Lambda-Funktionen und containerisierte Anwendungen zur Maximierung der Clusterressourcenauslastung.
  • Dynamische Autoskalierung unabhängiger Anwendungsdienste, die an bestimmte Zielinstanzen gebunden sind. Jeder Anwendungsdienst kann ebenfalls unabhängig überwacht werden.
  • Sicherheitsfunktionen wie Benutzerauthentifizierung vor der Weiterleitung des Datenverkehrs.
  • Logdaten enthalten zusätzliche Informationen. Die Gesamtleistung des ALB ist ebenfalls besser als die des CLB.

Netzwerk-Lastverteilungsverteiler

Load Balancing mit dem NLB arbeitet auf Schicht 4, der Transportschicht. Der Network Load Balancer ist in der Lage, Millionen von Routing-Anfragen pro Sekunde zwischen Clients und Zielsystemen mithilfe von IP-Adressen, TCP und Portnummern zu verarbeiten. Obwohl Network Load Balancer kein pfad- und hostbasiertes Routing sowie Sticky Sessions-Funktionen des Application Load Balancer bietet, bietet er gegenüber dem AWS Classic Load Balancer folgende Vorteile:

  • Eine robuste Lastverteilungslösung für volatile Arbeitslasten.
  • Verkehrsleitung zu mehreren Apps auf einer einzigen Zielinstanz oder -gruppe.
  • Verkehrsleitung an Zielgruppen außerhalb der Virtual Private Cloud mittels IP-Adressen.
  • Unterstützt sowohl statische als auch elastische IP-Adressen.
  • Verwaltbare Sicherheit mit Tag-basierten Identitäts- und Zugriffsverwaltungsrechten (AWS IAM).
  • Effiziente Nutzung von Clustern mit Unterstützung für Elastic Container Service (AWS ECS).
  • Unterstützt Gesundheitsprüfungen für jeden Dienst unabhängig innerhalb von Containern oder Ziel-EC2-Instanzen. Die NLB balanciert außerdem Dienste, die dynamisch als Reaktion auf schwankende Nachfrage skalieren, als Teil der AWS Auto Scaling-Funktion.

Die Wahl zwischen Classic, Application und Network Load Balancer hängt weitgehend von der Infrastrukturumgebung, den Kosten, der Sicherheit und der Art ab, wie der Datenverkehr zwischen Endnutzern und Zielgruppen gehandhabt werden muss. Für die meisten allgemeinen Anwendungsfälle, in denen der Datenverkehr über IP-Adressen und TCP-Ports gehandhabt wird, kann CLB eine geeignete Option sein, insbesondere wenn die Routenzuordnung zwischen den beiden Endpunkten direkt erfolgt. Für Umgebungen, die komplexe Regeln für das Verkehrsrouting auf Anwendungsebene verarbeiten, wäre die ALB eine geeignete Option. Für Arbeitslasten, die extreme Leistung und Routing über statische und elastische IP-Adressen erfordern oder wenn die Quell-IP-Adressen erhalten bleiben müssen, wäre der AWS Network Load Balancer die geeignetste Option.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Cloud

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.