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 Balancer-Typen
Elastic Load Balancing unterstützt die folgenden Arten von Load Balancern: Application Load Balancer und Network Load Balancer. Amazon-ECS-Services können diese Arten von Load Balancer verwenden. Application Load Balancer werden zum Weiterleiten von HTTP/HTTPS-Datenverkehr (oder Layer 7) verwendet. Network Load Balancers und Classic Load Balancers werden verwendet, um TCP-Datenverkehr (oder Layer 4) zu leiten.
Themen
Application Load Balancer
Ein Application Load Balancer trifft Routing-Entscheidungen auf Anwendungsebene (HTTP/HTTPS), unterstützt pfadbasiertes Routing und kann Anfragen an einen oder mehrere Ports jeder Container-Instance in Ihrem Cluster weiterleiten. Application Load Balancer unterstützen dynamische Host-Port-Zuweisung. Wenn die Containerdefinition Ihrer Aufgabe beispielsweise Port 80 als NGINX-Container-Port and Port 0 als Host-Port angibt, wird der Host-Port dynamisch aus dem flüchtigen Port-Bereich der Container-Instance ausgewählt (z. B. 32768 bis 61000 beim aktuellen Amazon-ECS-optimierten AMI). Beim Start der Aufgabe wird der NGINX-Container bei dem Application Load Balancer als Instance-ID- und Port-Kombination registriert, und der Datenverkehr wird an die Instance-ID und den Port verteilt, die diesem Container entsprechen. Aufgrund dieser dynamischen Zuordnung können Sie mehrere Aufgaben über einen einzelnen Service auf derselben Container-Instance durchführen. Weitere Informationen finden Sie im Benutzerhandbuch für Application Load Balancers.

Network Load Balancer
Ein Network Load Balancer trifft Routing-Entscheidungen auf der Transportebene (TCP/SSL). Er kann Millionen Anfragen pro Sekunde verarbeiten. Nachdem der Load Balancer eine Verbindung erhalten hat, wählt er mithilfe eines Flow-Hash-Routing-Algorithmus ein Ziel aus der Zielgruppe für die Standardregel aus. Er versucht, eine TCP-Verbindung zu dem ausgewählten Ziel auf dem in der Listener-Konfiguration angegebenen Port zu öffnen. Es leitet die Anforderung ohne Ändern der Headers weiter. Network Load Balancer unterstützen dynamische Host-Port-Zuweisung. Wenn die Containerdefinition Ihrer Aufgabe beispielsweise Port 80 als NGINX-Container-Port and Port 0 als Host-Port angibt, wird der Host-Port dynamisch aus dem flüchtigen Port-Bereich der Container-Instance ausgewählt (z. B. 32768 bis 61000 beim aktuellen Amazon-ECS-optimierten AMI). Beim Start der Aufgabe wird der NGINX-Container bei dem Network Load Balancer als Instance-ID- und Port-Kombination registriert, und der Datenverkehr wird an die Instance-ID und den Port verteilt, die diesem Container entsprechen. Aufgrund dieser dynamischen Zuordnung können Sie mehrere Aufgaben über einen einzelnen Service auf derselben Container-Instance durchführen. Weitere Informationen finden Sie im Benutzerhandbuch für Network Load Balancers.

Überlegungen zum Application Load Balancer und zum Network Load Balancer
Die folgenden Überlegungen gelten speziell für Amazon-ECS-Services, die Application Load Balancer oder Network Load Balancer verwenden:
-
Amazon ECS erfordert die service-verknüpfte IAM-Rolle, die die Berechtigungen bietet, die erforderlich sind, um Ziele bei Ihrem Load Balancer zu registrieren und abzumelden, wenn Aufgaben erstellt und gestoppt werden. Weitere Informationen finden Sie unter Verwendung von serviceverknüpften Rollen für Amazon ECS.
-
Für Services, die einen Application Load Balancer oder einen Network Load Balancer verwenden, können Sie nicht mehr als fünf Zielgruppen an einen Service anfügen.
-
Für Services mit Aufgaben, die den Netzwerkmodus
awsvpc
verwenden, müssen Sie beim Erstellen einer Zielgruppe für Ihren Serviceip
als Zieltyp auswählen, nichtinstance
. -
Wenn Ihr Service, der einen Application Load Balancer verwendet, Zugriff auf mehrere lastverteilte Ports benötigt, z. B. Port 80 und Port 443 für einen HTTP/HTTPS-Service, können Sie zwei Listener konfigurieren. Ein Listener ist für HTTPS verantwortlich, sodass die Anforderung an den Service weitergeleitet wird, und ein anderer Listener für die Umleitung von HTTP-Anforderungen an den entsprechenden HTTPS-Port. Weitere Informationen finden Sie Erstellen eines Listeners für Ihren Application Load Balancer im Benutzerhandbuch für Application Load Balancers.
-
Nachdem Sie einen Dienst erstellt haben, kann die Load Balancer-Konfiguration von AWS Management Console nicht mehr geändert werden. Sie können AWS Copilot, AWS CloudFormation, AWS CLI oder SDK nutzen, um die Konfiguration des Load Balancer für
ECS
nur rollende Deployment Controller, nicht AWS CodeDeploy blau/grün odern extern zu modifizieren. Wenn Sie eine Konfiguration für den Load Balancer hinzufügen, aktualisieren oder entfernen, startet Amazon ECS eine neue Bereitstellung mit der aktualisierten Konfiguration Elastic Load Balancing. Dies führt dazu, dass sich Aufgaben bei Load Balancern registrieren und von diesen abmelden. Wir empfehlen, dass Sie dies in einer Testumgebung überprüfen, bevor Sie die Konfiguration Elastic Load Balancing Balancing aktualisieren. Informationen zum Ändern der Konfiguration finden Sie unter UpdateServiceAPI-Referenz zu Amazon Elastic Container Service. -
Wenn die Aufgabe eines Services die Zustandsprüfungskriterien des Load Balancers nicht besteht, wird die Aufgabe gestoopt und neu gestartet. Dieser Vorgang wird fortgesetzt, bis Ihr Service die Anzahl der gewünschten ausgeführten Aufgaben erreicht.
-
Wenn Sie Network Load Balancer verwenden, die mit IP-Adressen als Ziele konfiguriert sind, gelten Anforderungen als von der privaten IP-Adresse von Network Load Balancer. Dies bedeutet, dass Services hinter einem Network Load Balancer effektiv für die Welt offen sind, sobald Sie eingehende Anforderungen und Zustandsprüfungen in der Sicherheitsgruppe des Ziels zulassen.
-
Die Verwendung eines Network Load Balancers zum Weiterleiten von UDP-Datenverkehr an Ihre Amazon-ECS-Aufgaben auf Fargate erfordert die Verwendung der Plattformversion
1.4.0
(Linux) oder1.0.0
(Windows). -
Minimieren Sie Fehler in Ihren Client-Anwendungen, indem Sie
StopTimeout
in der Aufgabendefinition länger als die Verzögerung für die Abmeldung der Zielgruppe festlegen, die länger sein sollte als Ihre Client-Verbindungs-Zeitbeschränkung. Weitere Informationen zur empfohlenen Clientkonfiguration finden Sie hierin der Entwicklerbibliothek. Außerdem schließt das Zielgruppenattribut des Network Load Balancers für die Verbindungsbeendigung alle verbleibenden Verbindungen nach der Abmeldezeit. Dies kann dazu führen, dass Clients unerwünschte Fehlermeldungen anzeigen, wenn der Client sie nicht behandelt.
-
Informationen zu Problemen mit Services, für die ein Load Balancer aktiviert ist, finden Sie unter Fehlerbehebung bei Service-Load Balancers.
-
Ihre Aufgaben und Ihr Load Balancer (Application Load Balancer oder Network Load Balancer) müssen sich in derselben VPC befinden.