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.
Drosselungslogik von Amazon ECS Service
Der Amazon ECS Service Scheduler beinhaltet eine Logik, die einschränkt, wie oft Serviceaufgaben gestartet werden, wenn sie wiederholt nicht gestartet werden.
Wenn Aufgaben für einen Service wiederholt nicht in den RUNNING
Status wechseln (direkt von einem PENDING
zu einem STOPPED
Status), wird die Zeit zwischen aufeinanderfolgenden Neustartversuchen schrittweise auf maximal 27 Minuten erhöht. Diese Höchstdauer kann sich in Zukunft ändern. Dieses Verhalten reduziert die Auswirkungen fehlgeschlagener Aufgaben auf Ihre ECS Amazon-Cluster-Ressourcen oder die Fargate-Infrastrukturkosten. Wenn Ihr Service die Drosselungslogik initiiert, erhalten Sie die folgende Service-Ereignismeldung:
(service
service-name
) is unable to consistently start tasks successfully.
Amazon verhindert ECS niemals, dass ein fehlgeschlagener Service es erneut versucht. Es wird auch nicht versucht, es auf andere Weise zu verändern, außer der Erhöhung der Zeit zwischen den Neustarts. Die Service-Drosselungslogik stellt keine vom Benutzer einstellbaren Parameter bereit.
Wenn Sie Ihren Service auf eine neue Aufgabendefinition aktualisieren, kehrt der Service sofort zu einem normalen, ungedrosselten Zustand zurück. Weitere Informationen finden Sie unter Einen ECS Amazon-Service mithilfe der Konsole aktualisieren.
Im Folgenden sind einige der häufigsten Ursachen aufgeführt, die diese Logik auslösen. Wir empfehlen, dass Sie manuelle Maßnahmen ergreifen, um das Problem zu beheben:
-
Es fehlen Ressourcen, mit denen Sie Ihre Aufgabe ausführen können, z. B. Anschlüsse, Arbeitsspeicher oder CPU Einheiten in Ihrem Cluster. In diesem Fall wird auch eine Benachrichtigung über unzureichende Ressourcen angezeigt.
-
Der ECS Amazon-Container-Agent kann Ihr Task-Docker-Image nicht abrufen. Dies kann an einem ungültigen Container-Image-Namen, -Image oder -Tag oder an einem Mangel an privater Registry-Authentifizierung oder -Berechtigungen liegen. In diesem Fall wird auch
CannotPullContainerError
in Ihren Fehlern für gestoppte Aufgaben angezeigt. -
Ungenügender Speicherplatz in Ihrer Container-Instance zum Erstellen des Containers. In diesem Fall wird auch
CannotCreateContainerError
in Ihren Fehlern für gestoppte Aufgaben angezeigt. Weitere Informationen finden Sie unter Fehler beim Docker API error (500): devmapper in Amazon beheben ECS.
Wichtig
Aufgaben, die angehalten werden, nachdem sie den RUNNING
-Status erreicht haben, starten weder die Drosselungslogik noch die zugehörige Service-Ereignismeldung. Nehmen wir zum Beispiel an, dass fehlgeschlagene Elastic Load Balancing Balancing-Zustandsprüfungen für einen Service dazu führen, dass eine Aufgabe als fehlerhaft gekennzeichnet wird. Amazon hebt die ECS Registrierung auf und beendet die Aufgabe. Zu diesem Zeitpunkt werden die Aufgaben nicht gedrosselt. Auch wenn ein Container-Befehl einer Aufgabe sofort mit einem Beendigungscode ungleich Null beendet wird, erhält die Aufgabe bereits den RUNNING
-Status. Aufgaben, die sofort fehlschlagen, weil Befehlsfehler nicht die Drosselung oder die Serviceereignismeldung verursachen.