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.
So erkennt der Amazon ECS Deployment Circuit Breaker Ausfälle
Beim Bereitstellungsschutzschalter handelt es sich um einen Mechanismus zur fortlaufenden Aktualisierung, der feststellt, ob die Aufgaben einen stabilen Status erreichen. Der Bereitstellungsschutzschalter verfügt über eine Option, mit der eine fehlgeschlagene Bereitstellung automatisch auf die Bereitstellung zurückgesetzt wird, die sich im Status COMPLETED
befindet.
Wenn sich der Status einer Servicebereitstellung ändert, ECS sendet Amazon ein Ereignis zur Änderung des Status der Servicebereitstellung an EventBridge. Dies bietet eine programmgesteuerte Möglichkeit, den Status Ihrer Servicebereitstellungen zu überwachen. Weitere Informationen finden Sie unter Ereignisse zur Änderung des Bereitstellungsstatus von Amazon ECS Service. Wir empfehlen Ihnen, eine EventBridge Regel mit dem Wert eventName
von zu erstellen und zu überwachen, SERVICE_DEPLOYMENT_FAILED
sodass Sie manuelle Maßnahmen ergreifen können, um Ihre Bereitstellung zu starten. Weitere Informationen finden Sie unter Erste Schritte mit EventBridge im EventBridge Amazon-Benutzerhandbuch.
Wenn der Bereitstellungsschutzschalter feststellt, dass eine Bereitstellung fehlgeschlagen ist, sucht er nach der letzten Bereitstellung, die sich im Status COMPLETED
befindet. Dies ist die Bereitstellung, die als Rollback-Bereitstellung verwendet wird. Wenn das Rollback beginnt, ändert sich die Bereitstellung von COMPLETED
zu IN_PROGRESS
. Das bedeutet, dass die Bereitstellung erst dann für einen weiteren Rollback in Frage kommt, wenn sie einen bestimmten COMPLETED
Status erreicht hat. Wenn der Bereitstellungsschutzschalter keine Bereitstellung findet, die sich in im Status COMPLETED
befindet, startet der Schutzschalter keine neuen Aufgaben und die Bereitstellung wird angehalten.
Wenn Sie einen Dienst erstellen, verfolgt der Scheduler die Aufgaben, die nicht gestartet werden konnten, in zwei Phasen.
-
Phase 1: Der Scheduler überwacht die Aufgaben, um festzustellen, ob sie in den RUNNING Status übergehen.
-
Erfolgreich — Bei der Bereitstellung besteht die Möglichkeit, in den COMPLETED Status überzugehen, da mehr als eine Aufgabe in diesen Status übergegangen ist. RUNNING Die Fehlerkriterien werden übersprungen und der Schutzschalter geht zur Stufe 2 über.
-
Fehler — Es gibt aufeinanderfolgende Aufgaben, die nicht in den RUNNING Status übergegangen sind, und die Bereitstellung könnte in diesen FAILED Status übergehen.
-
-
Phase 2 — Die Bereitstellung geht in diese Phase über, wenn sich mindestens eine Aufgabe im RUNNING Status befindet. Der Schutzschalter überprüft die Integritätsprüfungen für die Aufgaben in der aktuellen Bereitstellung, die gerade ausgewertet werden. Bei den validierten Zustandsprüfungen handelt es sich um Elastic Load Balancing, AWS Cloud Map Service Health Checks und Container Health Checks.
-
Erfolgreich — Es gibt mindestens eine Aufgabe im Status Running, deren Integritätsprüfungen bestanden wurden.
-
Fehlgeschlagen — Die Aufgaben, die aufgrund fehlgeschlagener Integritätsprüfungen ersetzt wurden, haben den Schwellenwert für Fehler erreicht.
-
Beachten Sie Folgendes, wenn Sie die Deployment Circuit Breaker-Methode für einen Dienst verwenden. EventBridge generiert die Regel.
-
Die
DescribeServices
-Antwort bietet Einblick in den Status einer Bereitstellung, denrolloutState
undrolloutStateReason
. Wenn eine neue Bereitstellung gestartet wird, beginnt der Rollout-Status in einemIN_PROGRESS
-Zustand. Wenn der Service einen stabilen Zustand erreicht, wechselt der Rollout-Status zuCOMPLETED
. Wenn der Service keinen stabilen Status erreicht und der Schutzschalter aktiviert wird, wechselt die Bereitstellung in einenFAILED
-Status. Eine Bereitstellung in einemFAILED
-Status startet keine neuen Aufgaben. -
Zusätzlich zu den Ereignissen zur Änderung des Status der Servicebereitstellung, die Amazon für Bereitstellungen ECS sendet, die gestartet und abgeschlossen wurden, sendet Amazon ECS auch ein Ereignis, wenn eine Bereitstellung mit eingeschaltetem Schutzschalter fehlschlägt. Diese Ereignisse enthalten Details dazu, warum eine Bereitstellung fehlgeschlagen ist oder ob eine Bereitstellung aufgrund eines Rollbacks gestartet wurde. Weitere Informationen finden Sie unter Ereignisse zur Änderung des Bereitstellungsstatus von Amazon ECS Service.
-
Wenn eine neue Bereitstellung gestartet wird, weil eine vorherige Bereitstellung fehlgeschlagen ist und ein Rollback aufgetreten ist, zeigt das
reason
-Feld des Ereignisses für die Statusänderung der Service-Bereitstellung an, dass die Bereitstellung aufgrund eines Rollbacks gestartet wurde. -
Der Deployment Circuit Breaker wird nur für ECS Amazon-Services unterstützt, die den Rolling Update (
ECS
) Deployment Controller verwenden. -
Sie müssen die ECS Amazon-Konsole verwenden, oder AWS CLI wenn Sie den Deployment Circuit Breaker mit der CloudWatch Option verwenden. Weitere Informationen finden Sie unter Erstellen eines Services mit definierten Parametern und create-service in der AWS Command Line Interface -Referenz.
Das folgende create-service
AWS CLI Beispiel zeigt, wie ein Linux-Service erstellt wird, wenn der Deployment Circuit Breaker mit der Rollback-Option verwendet wird.
aws ecs create-service \ --service-name
MyService
\ --deployment-controller type=ECS
\ --desired-count3
\ --deployment-configuration "deploymentCircuitBreaker={enable=true
,rollback=true
}" \ --task-definitionsample-fargate:1
\ --launch-typeFARGATE
\ --platform-familyLINUX
\ --platform-version1.4.0
\ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321
],securityGroups=[sg-12344321
],assignPublicIp=ENABLED
}"
Beispiel:
Bereitstellung 1 befindet sich im Status COMPLETED
.
Bereitstellung 2 kann nicht gestartet werden, sodass der Schutzschalter per Rollback auf Bereitstellung 1 zurückkehrt. Bereitstellung 1 wechselt in den Status IN_PROGRESS
.
Bereitstellung 3 wird gestartet und es gibt keine Bereitstellung im Status COMPLETED
, sodass Bereitstellung 3 kein Rollback oder Starten von Aufgaben durchführen kann.
Fehlerschwellenwert
Der Bereitstellungs-Leistungsschalter berechnet den Schwellenwert und verwendet dann den Wert, um zu bestimmen, wann die Bereitstellung in einen FAILED
-Zustand versetzt werden soll.
Der Auslöseschalter hat einen Mindestschwellenwert von 3 und einen Höchstschwellenwert von 200 und verwendet die Werte in der folgenden Formel, um den Bereitstellungsfehler zu ermitteln.
Minimum threshold <= 0.5 * desired task count
=> maximum threshold
Wenn das Ergebnis der Berechnung größer als der Mindestwert von 3, aber kleiner als der Höchstwert von 200 ist, wird der Ausfallschwellenwert auf den berechneten Schwellenwert (aufgerundet) gesetzt.
Anmerkung
Sie können keinen der Schwellenwerte ändern.
Es gibt zwei Phasen für die Überprüfung des Bereitstellungsstatus.
-
Der Bereitstellungs-Leistungsschalter überwacht Aufgaben, die Teil der Bereitstellung sind und sucht nach Aufgaben, die sich im
RUNNING
-Zustand befinden. Der Scheduler ignoriert die Fehlerkriterien, wenn sich eine Aufgabe in der aktuellen Bereitstellung imRUNNING
-Zustand befindet und fährt mit der nächsten Stufe fort. Wenn Aufgaben denRUNNING
-Zustand nicht erreichen, erhöht der Bereitstellungs-Leistungsschalter die Fehleranzahl um eins. Wenn die Fehleranzahl dem Schwellenwert entspricht, wird die Bereitstellung alsFAILED
markiert. -
Diese Phase tritt ein, wenn der
RUNNING
Status eine oder mehrere Aufgaben enthält. Der Bereitstellungs-Leistungsschalter führt Zustandsprüfungen der folgenden Ressourcen für die Aufgaben in der aktuellen Bereitstellung durch:-
Elastic Load Balancing-Load Balancer
-
AWS Cloud Map Dienst
-
Zustandsprüfungen von ECS Amazon-Containern
Wenn eine Zustandsprüfung für die Aufgabe fehlschlägt, erhöht der Bereitstellungs-Leistungsschalter die Fehleranzahl um eins. Wenn die Fehleranzahl dem Schwellenwert entspricht, wird die Bereitstellung als
FAILED
markiert. -
Die folgende Tabelle bietet einige Beispiele.
Gewünschte Aufgabenanzahl | Berechnung | Threshold |
---|---|---|
1 |
|
3 (der berechnete Wert liegt unter dem Mindestwert) |
25 |
|
13 (Der Wert wird aufgerundet) |
400 |
|
200 |
800 |
|
200 (Der berechnete Wert ist größer als das Maximum) |
Wenn der Schwellenwert beispielsweise 3 ist, startet der Schutzschalter mit der Fehleranzahl, die auf 0 gesetzt ist. Wenn eine Aufgabe den RUNNING
Status nicht erreicht, erhöht der Auslöseschutzschalter die Anzahl der Fehler um eins. Wenn die Anzahl der Fehler gleich 3 ist, wird die Bereitstellung als FAILED
markiert.
Weitere Beispiele zur Verwendung der Rollback-Option finden Sie unter Ankündigung des Amazon ECS Deployment Circuit