Lastverteilung auf AWS: Lernen Sie Ihre Optionen kennen
Einleitung
Trotz der großen Bandbreite an Einsatzmöglichkeiten, Plattformen und Technologien haben die meisten Anwendungen einige gemeinsame Anforderungen: Sie müssen online bleiben und vor Hardwareausfällen geschützt sein, sich entsprechend der Nachfrage skalieren lassen und gegen Sicherheitsverletzungen und Angriffe abgesichert werden.
Seit Anwendungen von Großrechnern auf offene Systeme migriert wurden, setzen Unternehmen Load Balancer ein, um die Skalierbarkeit und Verfügbarkeit von Anwendungen zu gewährleisten. Angesichts komplexer Probleme und immer ausgefeilterer Sicherheitsbedrohungen wurden Load Balancer um zusätzliche Funktionen für Sicherheit und Optimierung erweitert.
Im Laufe der Zeit hat sich der einfache Load Balancer zu einem leistungsstarken Application Delivery Controller (ADC) entwickelt. Weltweit verlassen sich Tausende von Organisationen auf ADCs, um die Anwendungen, die unser Leben bestimmen, sicher, schnell und verfügbar zu machen. Von medizinischen Notfalldiensten und Bankgeschäften bis hin zu Gaming und Dating stellen ADCs die Technologie bereit, mit der Apps ihre optimale Leistung entfalten können.
Auch wenn Anwendungen von herkömmlichen On-Premises-Modellen zu Cloud-Diensten migrieren, bleiben ihre Anforderungen an Skalierbarkeit, Sicherheit und Verfügbarkeit unverändert hoch. Daher überrascht es nicht, dass alle Cloud-Plattformen – sowohl öffentliche als auch private – Load-Balancing-Dienste als Teil ihres zentralen Infrastructure-as-a-Service-Angebots (IaaS) bereitstellen.
Der Elastic Load Balancing (ELB)-Service von Amazon Web Services (AWS) unterstützt Unternehmen bei der Bereitstellung Hunderttausender Anwendungen, darunter einige der größten im Internet. Und ebenso wie lokale Load Balancer um Funktionen erweitert wurden, um Kundenanforderungen zu erfüllen, werden auch die Load-Balancing-Services in AWS kontinuierlich um neue Features und Funktionen ergänzt.
Während ELB für viele Unternehmen eine ausgezeichnete Wahl sein kann, benötigen andere zusätzliche Funktionen, um ihre geschäftskritischen Anwendungen optimal zu unterstützen. Darüber hinaus haben einige Unternehmen bereits ADCs und Load Balancer implementiert, um ihre lokalen Anwendungen zu skalieren und zu verwalten. Für diese Unternehmen kann die Nutzung derselben Plattform in AWS wie im Rechenzentrum den Zeitaufwand, die Kosten und das Risiko einer Cloud-Migration reduzieren. Bevor Sie entscheiden, welcher Load-Balancing-Service für Ihr Unternehmen der richtige ist, werfen wir einen Blick auf die verschiedenen in AWS verfügbaren Load-Balancing-Optionen.
Lastverteilung auf AWS
Amazon Web Services bietet das umfangreichste Serviceangebot aller etablierten IaaS-Anbieter und deckt damit eine enorme Bandbreite an Funktionen und Einsatzmöglichkeiten ab – von einfachen Rechen- und Blockspeicherdiensten bis hin zu fortschrittlichen Datenbanken und Umgebungen für maschinelles Lernen. Eine zentrale Komponente vieler AWS-Kundenarchitekturen ist der Load Balancer. AWS bietet hierfür zwei unterschiedliche Services an, die beide unter der Bezeichnung „Elastic Load Balancing“ für den Einsatz in Virtual-Private-Cloud-Umgebungen (VPC) bereitgestellt werden.
Application Load Balancer
Der Application Load Balancer (ALB) von Amazon bietet Lastverteilung, Zustandsüberwachung und URL-basiertes Routing von Anfragen in der AWS Cloud. Der ALB unterstützt die Lastverteilung für die Protokolle HTTP und HTTPS mit kundeneigenen SSL-Zertifikaten, die aus einem der AWS-Zertifikatsverwaltungsdienste geladen werden, sowie die Lastverteilung für WebSocket-Datenverkehr. Darüber hinaus ermöglicht der ALB die automatische Skalierung von Elastic-Compute-Cloud-(EC2-)Serverressourcen im Backend: Steigt das Datenverkehrsaufkommen, kann der ALB die Bereitstellung zusätzlicher Server auslösen und diese wieder entfernen, sobald die Nachfrage nachlässt.
Der ALB-Service wird ebenfalls skaliert, um zusätzliche Last zu bewältigen. Wenn der Netzwerkverkehr der Anwendung zunimmt, werden zusätzliche ALB-Instanzen erstellt und im DNS registriert. Anschließend wird der Datenverkehr per DNS-Round-Robin auf die ALB-Instanzen verteilt. Um bei plötzlichen Lastspitzen eine optimale Leistung zu erzielen, empfiehlt es sich, ALB-Instanzen vorab aufzuwärmen, da das Hochfahren neuer Instanzen zwischen einer und sieben Minuten dauern kann.
ALB kann über die Webkonsole, die CLI, die API, CloudFormation-Vorlagen (CFTs) und zahlreiche Automatisierungstools wie Ansible bereitgestellt werden.
Netzwerk-Load-Balancer
Die neueste Ergänzung der AWS-Produktfamilie für Elastic Load Balancing ist der Network Load Balancer (NLB). Wie der „klassische“ Load Balancer arbeitet er auf Schicht 4 und bietet verbindungsbasierten Lastenausgleich sowie Zustandsprüfungen auf Netzwerk- und Anwendungsebene. Der NLB ist darauf ausgelegt, Lastspitzen und ein hohes Verbindungsaufkommen zuverlässig zu bewältigen. Darüber hinaus können beim NLB sowohl private IP-Adressen gemäß RFC 1918 als auch EC2-Instanzen als Ziele verwendet werden. Die Optionen für automatische Skalierung, selbstständige Skalierung und Bereitstellung ähneln denen des ALB.
Klassischer Load Balancer
AWS bietet außerdem weiterhin seinen „klassischen“ Elastic Load Balancer an, der grundlegendes Layer-4-Load-Balancing für TCP-Datenverkehr unterstützt, jedoch kein Layer-7-Load-Balancing oder Traffic-Steering. Die Optionen für automatische Skalierung, selbstständige Skalierung und Bereitstellung ähneln denen des ALB.
F5 BIG-IP Virtueller ADC
Die F5® BIG-IP® ADC-Plattform bildet den Gegenpol zum schlanken klassischen Load Balancer von AWS im Spektrum der Lastverteilung. Mit einer Reihe von Funktionen, die ein breites Spektrum an Herausforderungen in den Bereichen Sicherheit, Anwendungsoptimierung und Verfügbarkeit abdecken, kann BIG-IP Probleme lösen und den Anwendungsdatenverkehr steuern, bei denen einfachere Lösungen an ihre Grenzen stoßen.
BIG-IP bietet ein umfassendes Management des Anwendungsdatenverkehrs, einschließlich der vollständigen Überprüfung, Steuerung und Manipulation des Datenverkehrs. Dies erstreckt sich sowohl auf Anfragen als auch auf Antworten auf Anwendungsebene und ermöglicht dadurch die Verhinderung von Datenverlusten sowie die Manipulation von Inhalten in Serverantworten. Diese Funktion hat sich für Tausende von Unternehmen als schnelles, zuverlässiges und unschätzbar wertvolles Werkzeug zur Problemlösung erwiesen. Darüber hinaus bietet die vollständige programmgesteuerte Überprüfung und Manipulation des Anwendungsdatenverkehrs Entwicklern eine zusätzliche Architekturebene, mit der sie das Anwendungsverhalten an einem strategisch wichtigen Kontrollpunkt optimieren können.
BIG-IP vs. ELB: Unterschiede bei der Verwaltung
All diese programmierbaren Funktionen zur Problemlösung bringen auch einige Begleiterscheinungen mit sich, die berücksichtigt werden müssen. Zunächst einmal arbeitet BIG-IP auf einer anderen Infrastrukturebene als sowohl der klassische AWS Load Balancer als auch der ALB. BIG-IP wird als EC2-Instanz innerhalb Ihrer VPC bereitgestellt, was sowohl Vor- als auch Nachteile mit sich bringt. Als Teil der VPC kann der ADC den Datenverkehr zwischen allen Komponenten innerhalb einer Availability Zone effektiv verwalten und bietet Ihnen umfassende Kontrolle über die Kommunikation zwischen den Komponenten in der VPC.
Gleichzeitig entstehen dadurch zusätzliche EC2-Instanzen, die verwaltet und gewartet werden müssen. Die Hochverfügbarkeit einer künftig geschäftskritischen Komponente liegt nun in Ihrer Verantwortung – auch wenn sie sich einfach konfigurieren lässt. Softwareupdates und die allgemeine Verwaltung der zugrunde liegenden Plattform werden nicht von AWS, sondern vom Kunden übernommen. Neue Funktionen werden zudem über neue Versionen im AWS Marketplace bereitgestellt, statt durch weitgehend nahtlose Service-Upgrades.
Schließlich lässt sich BIG-IP sowohl bedarfsgerecht skalieren als auch zur automatischen Skalierung von Anwendungsserverinstanzen einsetzen. Im Vergleich zur Nutzung eines zentralen AWS-Service liegt der Konfigurationsaufwand jedoch fast zwangsläufig stärker beim Kunden.

Welcher Load Balancer ist der richtige für mich?
Die Wahl der richtigen Lösung für Ihr Unternehmen hängt im Wesentlichen von Ihren Anwendungs- und Plattformanforderungen ab. Für einige Anwendungen und Anwendungsfälle eignet sich AWS ELB gut, während andere die erweiterten Funktionen von BIG-IP erfordern.
AWS Elastic Load Balancing
ALB ist für Anwendungen konzipiert, die einen einfachen Lastenausgleich mit einigen grundlegenden Regeln für die Zuordnung von URIs zu Zielen benötigen. Für viele AWS-native Anwendungen deckt ALB die grundlegenden Anforderungen an die Datenverkehrsverteilung und Skalierung ab. Wenn Entwickler oder Anwendungsanbieter verfügbar sind, um Sicherheits- oder Funktionsprobleme zeitnah zu beheben – oder das Gesamtrisiko von Sicherheitsverletzungen geringer ist –, ist ALB eine naheliegende Wahl.
Für ähnliche Anwendungen, die andere TCP-Protokolle verwenden und robuste, aber einfache Lastverteilungsdienste benötigen, reicht der Classic Load Balancer häufig aus.
BIG-IP-Lastverteilung
Es gibt weitere Anwendungsfälle, in denen ein Unternehmen möglicherweise die Leistungsfähigkeit eines vollwertigen ADC auf AWS nutzen möchte. Zu den Vorteilen der Verwendung von BIG-IP auf AWS gehören unter anderem:
- Verbesserte Sicherheit
- Bessere Kontrolle des Datenverkehrs
- Verkehrsoptimierung
- Echte Programmierbarkeit auf Anwendungsebene
Die Plattformarchitektur von BIG-IP bietet Ihnen vollständige Transparenz und Kontrolle über den Anwendungsdatenverkehr. Mit seinem enormen Funktionsumfang stellt Ihnen eine BIG-IP-Instanz in Ihrer AWS-Umgebung leistungsstarke Werkzeuge zur Behebung von Problemen mit der Anwendungsleistung, Sicherheit oder Verfügbarkeit bereit. BIG-IP kann einzelne Anfragen auf Anwendungsebene an jede routingfähige Ressource weiterleiten – von einer lokalen EC2-Instanz oder einer Serverinstanz in einer anderen Cloud bis hin zu einem API-basierten Dienst oder einem lokalen Gerät.
Beispielsweise kann ALB den Datenverkehr anhand der angeforderten URL an Backend-Ressourcen weiterleiten. Wenn Sie den Datenverkehr jedoch anhand komplexerer Merkmale wie Gerätetyp, Verbindungsgeschwindigkeit oder Clientstandort steuern müssen, ist BIG-IP für diese Aufgabe besser geeignet.
Diese fortschrittliche Fähigkeit zur Problemlösung ist besonders relevant, wenn Unternehmensanwendungen in die Cloud migriert werden oder Entwickler nicht ohne Weiteres verfügbar sind, um Anwendungsschwachstellen oder Verhaltensprobleme zu beheben. Wenn Ihre Anwendung dringend geschützt werden muss, sich bei einem neuen Clienttyp (oder sogar nach einem Wechsel des Clientbetriebssystems) fehlerhaft verhält oder bei bestimmten Anfragen abstürzt, bietet BIG-IP häufig eine schnelle, einfache und zuverlässige Lösung.
Ein weiterer wichtiger Faktor ist die erforderliche Konsistenz zwischen Rechenzentrum und Cloud. Tausende Unternehmen verlassen sich bei der Bereitstellung geschäftskritischer Anwendungen in ihren Rechenzentren auf BIG-IP Geräte. Die AWS BIG-IP Virtual Edition bietet auf AWS dieselben Dienste auf Anwendungsebene wie eine physische BIG-IP Instanz in einem Rechenzentrum. Mit einer BIG-IP VE können Unternehmen Anwendungen schneller, kostengünstiger und mit größerer Zuversicht migrieren. Gleichzeitig können sich die Mitarbeitenden auf die Weiterentwicklung ihrer Kompetenzen in anderen Bereichen konzentrieren, während das Wissen und die Investitionen des Unternehmens in BIG-IP erhalten bleiben.
Bereitstellungsoptionen
Da es sich um einen nativen Service handelt, ist die Bereitstellung von AWS ELB so einfach wie das Aktivieren eines Kontrollkästchens. Um eine BIG-IP VE auf AWS in Betrieb zu nehmen, muss die Instanz über den Amazon Marketplace bereitgestellt werden. Dabei kann entweder ein nutzungsbasiertes Abrechnungsmodell oder ein Bring-your-own-License-Modell verwendet werden. Die Bereitstellung des BIG-IP-Images kann manuell oder mithilfe von Automatisierungsoptionen wie AWS CFTs erfolgen. F5 bietet hierfür eine Reihe vollständig unterstützter Vorlagen sowie einige „experimentelle“ Vorlagen an. Diese sind im F5-GitHub-Repository verfügbar, das auch ein Python SDK und weitere Tools enthält. Zusätzliche, von der Community unterstützte Bereitstellungstools, Playbooks und Dokumentationen sind im F5 DevCentral-Repository verfügbar.
Fazit
Sowohl AWS ELB als auch F5 BIG-IP bieten Unternehmen, die Anwendungen auf AWS bereitstellen, einen überzeugenden Mehrwert. Wenn Sie wissen, wann und wo Sie mehr Kontrolle, Sicherheit oder Programmierbarkeit benötigen, können Sie die richtige Lösung auswählen, um Ihre Anwendungen – und Ihr Unternehmen – in der Cloud zu unterstützen.
VERÖFFENTLICHT AM 03. NOVEMBER 2017
