bg_image
header

Classic Load Balancer - CLB

Ein Classic Load Balancer (CLB) ist eine ältere Load-Balancing-Lösung von Amazon Web Services (AWS), die auf der Netzwerkebene (Layer 4) arbeitet. Im Vergleich zu den neueren Application Load Balancern (ALB) und Network Load Balancern (NLB) bietet der Classic Load Balancer eine grundlegende Verteilung des Datenverkehrs für Anwendungen.

Hier sind einige der Merkmale und Funktionen eines Classic Load Balancers:

  1. Layer-4-Belastungsausgleich: Der Classic Load Balancer verteilt den Netzwerkverkehr basierend auf IP-Adressen und Portnummern auf die zugrunde liegenden EC2-Instanzen.

  2. TCP und SSL/TLS-Protokollunterstützung: CLB unterstützt den Load-Balancing-Verkehr für das Transmission Control Protocol (TCP) und bietet auch SSL/TLS-Terminierung, wodurch verschlüsselte Verbindungen an den Load Balancer entschlüsselt und dann an die hinteren Instanzen weitergeleitet werden können.

  3. Einfache Gesundheitsprüfung: Der Classic Load Balancer kann einfache Gesundheitsprüfungen an den zugrunde liegenden EC2-Instanzen durchführen, um sicherzustellen, dass nur auf gesunde Instanzen weitergeleitet wird.

  4. Automatische Skalierung: CLBs unterstützen die automatische Skalierung, indem sie dynamisch auf die Anzahl der gesunden Instanzen reagieren.

Es ist wichtig zu beachten, dass der Classic Load Balancer im Vergleich zu den neueren ALB und NLB weniger fortschrittliche Funktionen auf Anwendungsebene bietet. Mit der Einführung von ALB und NLB hat AWS diese fortschrittlicheren Load-Balancing-Lösungen bereitgestellt, die spezifischere Anforderungen von modernen Anwendungen und Architekturen besser erfüllen können.

Wenn Sie Load-Balancing in AWS implementieren möchten, wird empfohlen, die Verwendung von Application Load Balancers (ALB) oder Network Load Balancers (NLB) in Betracht zu ziehen, es sei denn, Sie haben spezifische Gründe, Classic Load Balancer beizubehalten.

 


Network Load Balancer - NLB

Ein Network Load Balancer (NLB) ist ein Dienst, der den Netzwerkverkehr auf der Transportebene (Layer 4 des OSI-Modells) verteilt. Im Gegensatz zum Application Load Balancer (ALB), der auf der Anwendungsebene (Layer 7) arbeitet, operiert der NLB auf einer tieferen Ebene und berücksichtigt primär IP-Adressen und Portnummern, um den Datenverkehr zu verteilen.

Hier sind einige Merkmale und Funktionen eines Network Load Balancers:

  1. Layer-4-Belastungsausgleich: Der NLB verteilt den Netzwerkverkehr basierend auf IP-Adressen und Portnummern. Diese Art des Load Balancing ermöglicht eine breite Anwendbarkeit, da sie unabhängig von den Anwendungsprotokollen ist.

  2. TCP- und UDP-Protokollunterstützung: NLBs unterstützen sowohl das Transmission Control Protocol (TCP) als auch das User Datagram Protocol (UDP). Dadurch können sie den Verkehr für eine Vielzahl von Anwendungen handhaben.

  3. Skalierbarkeit: Ähnlich wie der ALB unterstützt auch der NLB die Skalierung von Anwendungen, indem er automatisch neue Instanzen oder Ressourcen hinzufügt und den Netzwerkverkehr entsprechend verteilt.

  4. Gesundheitsüberwachung: Der NLB überwacht kontinuierlich die Gesundheit der Ziele (Server oder Ressourcen), um sicherzustellen, dass der Datenverkehr nur zu gesunden Zielen weitergeleitet wird.

  5. Statisches IP-Adressen- und Port-Mapping: NLBs können statische IP-Adressen und Port-Mappings verwenden, um sicherzustellen, dass eingehender Verkehr zu den richtigen Zielen weitergeleitet wird.

  6. Weniger Funktionen auf Anwendungsebene: Im Vergleich zu einem ALB bietet ein NLB weniger Funktionen auf Anwendungsebene, da es hauptsächlich auf Netzwerkebene agiert. Es kann jedoch grundlegende Protokollfunktionen wie TCP- und UDP-Lastenausgleich bereitstellen.

Network Load Balancer werden häufig in Szenarien eingesetzt, in denen Anforderungen auf der Transportebene verteilt werden müssen, ohne dass spezifische Anwendungsebeneninformationen erforderlich sind. Dies macht sie besonders geeignet für Protokolle, bei denen eine einfache Weiterleitung auf Basis von IP-Adressen und Ports ausreicht.

 


Application Load Balancer - ALB

Ein Application Load Balancer (ALB) ist ein Dienst, der den Netzwerkverkehr auf Anwendungsebene zwischen verschiedenen Zielen verteilt, um die Verfügbarkeit und Skalierbarkeit von Anwendungen zu verbessern. Im Kontext von Cloud Computing und Webanwendungen wird ein ALB typischerweise in einer Cloud-Infrastruktur eingesetzt.

Hier sind einige der Hauptmerkmale und Funktionen eines Application Load Balancers:

  1. Verteilung des Datenverkehrs: Ein ALB verteilt den eingehenden Datenverkehr auf verschiedene Server oder Ressourcen, um die Last auf diese zu verteilen. Dadurch wird sichergestellt, dass keine einzelne Ressource überlastet wird, was die Leistung und Verfügbarkeit der Anwendung verbessert.

  2. Skalierbarkeit: ALBs unterstützen die Skalierung von Anwendungen, indem sie automatisch neue Instanzen oder Ressourcen hinzufügen und den Datenverkehr entsprechend verteilen. Dies erleichtert es, mit steigender Nachfrage umzugehen.

  3. TLS-Unterstützung: Ein ALB kann TLS (Transport Layer Security) für die sichere Übertragung von Daten unterstützen. Dies ermöglicht die Verschlüsselung des Datenverkehrs zwischen dem Client und dem Load Balancer sowie zwischen dem Load Balancer und den Zielen.

  4. Content-Based Routing: ALBs können den Datenverkehr basierend auf dem Inhalt der Anforderung (z. B. URL-Pfade, Hostnamen) an verschiedene Ziele weiterleiten. Dies ermöglicht eine flexible Konfiguration für Anwendungen mit unterschiedlichen Komponenten oder Diensten.

  5. Gesundheitsüberwachung: Ein ALB überwacht kontinuierlich die Gesundheit der Ziele, um sicherzustellen, dass nur auf gesunde Instanzen oder Ressourcen weitergeleitet wird. Wenn ein Ziel als nicht gesund erkannt wird, wird der Datenverkehr auf gesunde Ziele umgeleitet.

  6. WebSockets-Unterstützung: ALBs können auch WebSockets, eine Kommunikationsprotokoll für bidirektionale Kommunikation über das Hypertext Transfer Protocol (HTTP), unterstützen.

  7. Integrierte Protokollfunktionen: ALBs können Protokolle wie HTTP, HTTPS, TCP und WebSocket verarbeiten, um eine breite Palette von Anwendungsfällen abzudecken.

Application Load Balancer sind oft Teil von Cloud-Plattformen wie Amazon Web Services (AWS) oder Microsoft Azure und spielen eine entscheidende Rolle bei der Gewährleistung von Verfügbarkeit, Skalierbarkeit und Zuverlässigkeit von Anwendungen in der Cloud.

 


Elastic Load Balancer - ELB

Ein Elastic Load Balancer (ELB) ist ein von Amazon Web Services (AWS) bereitgestellter Service, der den Datenverkehr zwischen mehreren Zielen, wie beispielsweise Amazon EC2-Instanzen, in einem oder mehreren AWS-Regionen verteilt. Das Hauptziel eines Elastic Load Balancers besteht darin, die Last auf die einzelnen Server oder Ressourcen zu verteilen, um eine gleichmäßige Auslastung zu gewährleisten und die Verfügbarkeit und Zuverlässigkeit von Anwendungen zu verbessern.

Es gibt verschiedene Typen von Elastic Load Balancers in AWS:

  1. Application Load Balancer (ALB): Dieser Load Balancer arbeitet auf der Anwendungsebene (Layer 7 des OSI-Modells) und ist in der Lage, den Datenverkehr auf Basis von HTTP- und HTTPS-Anfragen zu verteilen. Ein Application Load Balancer ist besonders geeignet für moderne Anwendungen, Mikrodienste und Container-basierte Architekturen.

  2. Network Load Balancer (NLB): Dieser Load Balancer arbeitet auf der Netzwerkebene (Layer 4 des OSI-Modells) und verteilt den Datenverkehr auf Basis von IP-Adressen und TCP/UDP-Ports. Network Load Balancer eignen sich gut für Anwendungen mit hohem Datendurchsatz und erfordern eine extrem geringe Latenz.

  3. Classic Load Balancer: Dies ist die ältere Variante des Elastic Load Balancers, die sowohl auf der Anwendungs- als auch auf der Netzwerkebene arbeiten kann. Der Einsatz von Classic Load Balancern wird jedoch allmählich durch Application Load Balancer und Network Load Balancer ersetzt.

Die Konfiguration eines Elastic Load Balancers erfolgt in der Regel über die AWS Management Console, die AWS Command Line Interface (CLI) oder die AWS SDKs. Die Vorteile von Elastic Load Balancern liegen in der Skalierbarkeit, der verbesserten Verfügbarkeit von Anwendungen und der automatischen Verteilung des Datenverkehrs auf gesunde Instanzen oder Ressourcen.

Elastic Load Balancers können auch mit anderen AWS-Services integriert werden, um zusätzliche Funktionen wie Auto Scaling, Sicherheitsgruppen und SSL/TLS-Terminierung zu unterstützen. Insgesamt bietet der Einsatz von Elastic Load Balancern eine effiziente Möglichkeit, Anwendungen hochverfügbar und leistungsstark zu gestalten.