Verwenden Sie einen Network Load Balancer für Amazon ECS - Amazon Elastic Container Service

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.

Verwenden Sie einen Network Load Balancer für Amazon ECS

Ein Network Load Balancer trifft Routing-Entscheidungen auf der Transportschicht (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, über den in der Listener-Konfiguration angegebenen Port eine TCP Verbindung zum ausgewählten Ziel herzustellen. Es leitet die Anforderung ohne Ändern der Headers weiter. Network Load Balancer unterstützen dynamische Host-Port-Zuweisung. Wenn die Container-Definition Ihrer Aufgabe beispielsweise Port 80 für einen NGINX Container-Port und Port 0 für den Host-Port angibt, wird der Host-Port dynamisch aus dem kurzlebigen Portbereich der Container-Instance ausgewählt (z. B. 32768 bis 61000 auf der neuesten Amazon-optimierten Version). ECS AMI Wenn die Aufgabe gestartet wird, wird der NGINX Container beim Network Load Balancer als Kombination aus Instance-ID und Port 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.

Informationen zu den bewährten Methoden für die Festlegung von Parametern zur Beschleunigung Ihrer Bereitstellungen finden Sie unter:

Beachten Sie Folgendes, wenn Sie Network Load Balancers mit Amazon ECS verwenden:

  • Amazon ECS benötigt die serviceverknüpfte IAM Rolle, die die zum Registrieren und Abmelden von Zielen bei Ihrem Load Balancer erforderlichen Berechtigungen bereitstellt, wenn Aufgaben erstellt und gestoppt werden. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Amazon ECS.

  • Sie können einem Service nicht mehr als fünf Zielgruppen zuordnen.

  • Für Services mit Aufgaben, die den Netzwerkmodus awsvpc verwenden, müssen Sie beim Erstellen einer Zielgruppe für Ihren Service ip als Zieltyp auswählen, nicht instance. Dies liegt daran, dass Aufgaben, die den awsvpc Netzwerkmodus verwenden, einer elastic network interface und nicht einer EC2 Amazon-Instance zugeordnet sind.

  • Die Subnetzkonfiguration Ihres Load Balancers muss alle Availability Zones enthalten, in denen sich Ihre Container-Instances befinden.

  • Nachdem Sie einen Dienst erstellt haben, kann die Load Balancer-Konfiguration von AWS Management Console nicht mehr geändert werden. Sie können den AWS Copilot,, verwenden AWS CloudFormation, um die Load Balancer-Konfiguration nur für den ECS Rolling Deployment Controller SDK zu ändern, nicht für AWS CodeDeploy blau/grün AWS CLI oder extern. Wenn Sie eine Load Balancer-Konfiguration hinzufügen, aktualisieren oder entfernen, ECS startet Amazon eine neue Bereitstellung mit der aktualisierten Elastic Load Balancing Balancing-Konfiguration. 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 UpdateServicein der Amazon Elastic Container Service API Reference.

  • Wenn eine Serviceaufgabe die Kriterien für die Integritätsprüfung des Load Balancers nicht erfüllt, wird die Aufgabe gestoppt und neu gestartet. Dieser Vorgang wird fortgesetzt, bis Ihr Service die Anzahl der gewünschten ausgeführten Aufgaben erreicht.

  • Wenn Sie einen Gateway Load Balancer verwenden, der mit IP-Adressen als Zielen konfiguriert ist und Client IP Preservation deaktiviert ist, werden Anfragen als von der privaten IP-Adresse des Gateway Load Balancers kommend angesehen. Das bedeutet, dass Dienste, die hinter einem Gateway Load Balancer stehen, praktisch weltweit zugänglich sind, sobald Sie eingehende Anfragen und Zustandsprüfungen in der Zielsicherheitsgruppe zulassen.

  • Für Fargate-Aufgaben müssen Sie die Plattformversion 1.4.0 (Linux) oder 1.0.0 (Windows) verwenden.

  • Informationen zu Problemen mit Services, für die ein Load Balancer aktiviert ist, finden Sie unter Fehlerbehebung bei Service Load Balancers in Amazon ECS.

  • Ihre Aufgaben und Ihr Load Balancer müssen identisch sein. VPC

  • Die Erhaltung der IP-Adresse des Network Load Balancer Balancer-Clients ist mit Fargate-Zielen kompatibel.

  • Verwenden Sie für jeden Dienst eine eigene Zielgruppe.

    Die Verwendung derselben Zielgruppe für mehrere Dienste kann zu Problemen bei der Bereitstellung von Diensten führen.

Informationen zum Erstellen eines Network Load Balancer finden Sie unter Erstellen eines Network Load Balancer in Network Load Balancers

Wichtig

Wenn Ihre Service-Aufgabendefinition den Netzwerkmodus awsvpc verwendet (der für den Starttyp Fargate erforderlich ist), müssen Sie ip als Zieltyp verwenden, und nicht instance. Dies liegt daran, dass Aufgaben, die den awsvpc Netzwerkmodus verwenden, einer elastic network interface und nicht einer EC2 Amazon-Instance zugeordnet sind.

Sie können Instances nicht anhand der Instance-ID registrieren, wenn sie die folgenden Instance-Typen haben: C1,CC1,,CC2,CG1,CG2,,CR1, Instance-Typen haben: C1,HI1,HS1,,, M1, M2, M3 und T1. Sie können Instances dieser Arten nach IP-Adresse registrieren.