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.
Load Balancing eines Layers
Wichtig
Das Tool AWS OpsWorks Stacks Der Dienst hat am 26. Mai 2024 das Ende seiner Nutzungsdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an AWS Support Team ein AWS Re:post oder
AWS OpsWorks Stacks bietet zwei Load-Balancing-Optionen, Elastic Load Balancing und HAProxy
- SSLKündigung
-
Die integrierte HAProxy Ebene verarbeitet keine SSL Terminierung. Sie müssen die Terminierung SSL auf den Servern vornehmen. Das hat den Vorteil, dass der Datenverkehr verschlüsselt ist, bis er die Server erreicht. Allerdings müssen die Server die Verschlüsselung verarbeiten, wodurch deren Last erhöht wird. Darüber hinaus müssen Sie Ihre SSL Zertifikate auf den Anwendungsservern ablegen, auf die Benutzer leichter zugreifen können.
Mit Elastic Load Balancing können Sie SSL am Load Balancer kündigen. Dadurch wird die Last auf Ihren Anwendungsservern reduziert, aber der Verkehr zwischen dem Load Balancer und dem Server ist nicht verschlüsselt. Mit Elastic Load Balancing können Sie auch SSLauf dem Server kündigen, die Einrichtung ist jedoch etwas kompliziert.
- Skalierung
-
Wenn eingehender Datenverkehr die Kapazität eines Load HAProxy Balancers überschreitet, müssen Sie dessen Kapazität manuell erhöhen.
Elastic Load Balancing skaliert automatisch, um eingehenden Datenverkehr zu verarbeiten. Um sicherzustellen, dass ein Elastic Load Balancing Load Balancer über ausreichend Kapazität verfügt, um die zu erwartende Last zu bewältigen, wenn er zum ersten Mal online geht, können Sie ihn vorwärmen
. - Load Balancer-Ausfall
-
Wenn die Instance, die Ihren HAProxy Server hostet, ausfällt, kann dies dazu führen, dass Ihre gesamte Site offline geht, bis Sie die Instance neu starten können.
Elastic Load Balancing ist ausfallresistenter alsHAProxy. Es stellt beispielsweise Load-Balancing-Knoten in jeder Availability Zone bereit, in der EC2 Instances registriert sind. Wenn der Service in einer Zone unterbrochen wird, können die anderen Knoten weiterhin den eingehenden Datenverkehr verarbeiten. Weitere Informationen finden Sie unter Elastic Load Balancing Concepts.
- Timeout bei Leerlauf
-
Beide Load Balancer beenden eine Verbindung, wenn sich ein Server für eine bestimmte Zeit im Leerlauf befindet.
-
HAProxy— Der Wert für das Leerlauf-Timeout hat keine Obergrenze.
-
Elastic Load Balancing — Der Standardwert für das Leerlauf-Timeout beträgt 60 Sekunden mit einem Maximum von 3600 Sekunden (60 Minuten).
Das Leerlaufzeitlimit von Elastic Load Balancing ist für die meisten Zwecke ausreichend. Wir empfehlen die Verwendung, HAProxy wenn Sie ein längeres Timeout im Leerlauf benötigen. Beispielsweise:
-
Eine HTTP Verbindung mit langer Laufzeit, die für Push-Benachrichtigungen verwendet wird.
-
Eine administrative Schnittstelle, mit der Sie Aufgaben ausführen, die länger als 60 Minuten dauern
-
- URLbasierte Kartierung
-
Möglicherweise möchten Sie, dass ein Load Balancer eine eingehende Anfrage auf der Grundlage der Anfrage an einen bestimmten Server weiterleitet. URL Angenommen, Sie haben eine Gruppe von zehn Anwendungsservern, die eine kommerzielle Online-Anwendung unterstützen. Acht der Server verarbeiten den Katalog und zwei die Zahlungen. Sie möchten alle zahlungsbezogenen HTTP Anfragen auf der Grundlage der Anfrage an die Zahlungsserver weiterleiten. URL In diesem Fall würden Sie alle Informationen, URLs die „Zahlung“ oder „Checkout“ beinhalten, an einen der Zahlungsserver weiterleiten.
Mit HAProxy können Sie URL Based Mapping verwenden, um URLs mit einer bestimmten Zeichenfolge direkt auf bestimmte Server zu verweisen. Um die URL basierte Zuordnung zu verwenden AWS OpsWorks Stacks müssen Sie eine benutzerdefinierte HAProxy Konfigurationsdatei erstellen, indem Sie die
haproxy-default.erb
Vorlage imhaproxy
integrierten Kochbuch überschreiben. Weitere Informationen finden Sie im HAProxyKonfigurationshandbuchund. Verwenden von benutzerdefinierten Vorlagen Sie können die URL basierte Zuordnung nicht für HTTPS Anfragen verwenden. Eine HTTPS Anfrage ist verschlüsselt, sodass HAProxy sie nicht geprüft werden kannURL. Elastic Load Balancing bietet eingeschränkte Unterstützung für URL Mapping. Weitere Informationen finden Sie unter Listener Configurations for Elastic Load Balancing (Listener-Konfigurationen für Elastic Load Balancing).
Empfehlung: Wir empfehlen die Verwendung von Elastic Load Balancing für den Load Balancing, sofern Sie keine Anforderungen haben, die nur von erfüllt werden könnenHAProxy. In diesem Fall könnte der beste Ansatz darin bestehen, beide zu kombinieren, indem Elastic Load Balancing als Frontend-Load Balancer verwendet wird, der den eingehenden Traffic auf eine Reihe von Servern verteilt. HAProxy So gehen Sie vor:
-
Richten Sie in jeder Availability Zones Ihres Stacks eine HAProxy Instanz ein, um Anfragen an die Anwendungsserver der Zone zu verteilen.
-
Weisen Sie die HAProxy Instances einem Elastic Load Balancing Load Balancer zu, der dann eingehende Anfragen an die HAProxy Load Balancer verteilt.
Dieser Ansatz ermöglicht es Ihnen, HAProxy das URL basierte Mapping zu verwenden, um verschiedene Arten von Anfragen an die entsprechenden Anwendungsserver zu verteilen. Wenn jedoch einer der HAProxy Server offline geht, funktioniert die Site weiterhin, da der Elastic Load Balancing Load Balancer den eingehenden Traffic automatisch auf die HAProxy fehlerfreien Server verteilt. Beachten Sie, dass Sie Elastic Load Balancing als Front-End-Load Balancer verwenden müssen. Ein HAProxy Server kann keine Anfragen an andere HAProxy Server verteilen.