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.
Lebenszyklus-Hooks für Amazon-ECS-Servicebereitstellungen
Wenn eine Bereitstellung beginnt, durchläuft sie Lebenszyklusphasen. Diese Phasen können sich z. B. im Status IN_PROGRESS oder SUCCESSFUL befinden. Sie können Lebenszyklus-Hooks verwenden. Dabei handelt es sich um Lambda-Funktionen, die Amazon ECS in Ihrem Namen in bestimmten Lebenszyklusphasen ausführt. Diese Funktionen können eine der Folgenden sein:
-
Eine asynchrone API, die die Zustandsprüfung innerhalb von 15 Minuten validiert.
-
Eine Abfrage-API, die einen weiteren asynchronen Prozess einleitet, der den Abschluss des Lebenszyklus-Hook bewertet.
Nachdem die Funktion die Ausführung abgeschlossen hat, muss sie einen hookStatus zurückgeben, damit die Bereitstellung fortgesetzt werden kann. Wenn ein hookStatus nicht zurückgegeben wird oder wenn die Funktion fehlschlägt, wird die Bereitstellung zurückgesetzt. Im Folgenden sehen Sie Werte für hookStatus:
-
SUCCEEDED– Die Bereitstellung wird bis zur nächsten Lebenszyklusphase fortgesetzt -
FAILED– Die Bereitstellung wird auf die letzte erfolgreiche Bereitstellung zurückgesetzt. -
IN_PROGRESS– Amazon ECS führt die Funktion nach kurzer Zeit erneut aus. Standardmäßig ist dies ein 30-Sekunden-Intervall. Dieser Wert kann jedoch angepasst werden, indem eincallBackDelayneben demhookStatuszurückgegeben wird.
Das folgende Beispiel zeigt, wie ein hookStatus mit einer benutzerdefinierten Callback-Verzögerung zurückgegeben wird. In diesem Beispiel würde Amazon ECS diesen Hook in 60 Sekunden statt in den standardmäßigen 30 Sekunden wiederholen:
{ "hookStatus": "IN_PROGRESS", "callBackDelay": 60 }
Wenn ein Rollback stattfindet, führt Amazon ECS die Lebenszyklus-Hooks für die folgenden Lebenszyklusphasen aus:
-
PRODUCTION_TRAFFIC_SHIFT
-
TEST_TRAFFIC_SHIFT
Lebenszyklus-Nutzdaten
Wenn Sie Lebenszyklus-Hooks für Ihre ECS-Servicebereitstellungen konfigurieren, ruft Amazon ECS diese Hooks in bestimmten Phasen des Bereitstellungsprozesses auf. Jede Lebenszyklusphase stellt JSON-Nutzdaten mit Informationen zum aktuellen Status der Bereitstellung bereit. In diesem Dokument wird die Nutzdatenstruktur für jede Lebenszyklusphase beschrieben.
Gängige Nutzdatenstruktur
Alle Nutzdaten in der Lebenszyklusphase enthalten die folgenden gemeinsamen Felder:
-
serviceArn– Der Amazon-Ressourcenname (ARN) des Service. -
targetServiceRevisionArn– Der ARN der Ziel-Service-Revision, die bereitgestellt wird. -
testTrafficWeights- Eine Übersicht der Service-Revisionen ARNs zu den entsprechenden Prozentwerten des Testverkehrs in Prozent. -
productionTrafficWeights- Eine Übersicht über die Änderung der Dienste im Vergleich ARNs zu den entsprechenden prozentualen Gewichtsanteilen für den Produktionsverkehr.
Lebenszyklusphasen-Nutzdaten
RECONCILE_SERVICE
Diese Phase findet zu Beginn des Bereitstellungsprozesses statt, wenn der Service abgeglichen wird. Im Folgenden wird ein Beispiel für Nutzdaten für diese Lebenszyklusphase gezeigt.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": { "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892": 100, "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/78652123": 0 }, "productionTrafficWeights": { "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892": 100, "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/78652123": 0 } }
Erwartungen in dieser Phase:
-
Der primäre Aufgabensatz ist auf 0 % skaliert
PRE_SCALE_UP
Diese Phase findet statt, bevor die neuen Aufgaben hochskaliert werden. Im Folgenden wird ein Beispiel für Nutzdaten für diese Lebenszyklusphase gezeigt.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": {}, "productionTrafficWeights": {} }
Erwartungen in dieser Phase:
-
Die Aufgaben der grünen Service-Revision sind auf 0 % skaliert
POST_SCALE_UP
Diese Phase tritt ein, nachdem die neuen Aufgaben hochskaliert wurden und fehlerfrei sind. Im Folgenden wird ein Beispiel für Nutzdaten für diese Lebenszyklusphase gezeigt.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": {}, "productionTrafficWeights": {} }
Erwartungen in dieser Phase:
-
Die Aufgaben der grünen Service-Revision sind auf 100 % skaliert
-
Aufgaben der grünen Service-Revision sind fehlerfrei
TEST_TRAFFIC_SHIFT
Diese Phase tritt auf, wenn der Test-Datenverkehr auf Aufgaben der grünen Service-Revision umgestellt wird.
Im Folgenden wird ein Beispiel für Nutzdaten für diese Lebenszyklusphase gezeigt.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": { "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892": 100, "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/78652123": 0 }, "productionTrafficWeights": {} }
Erwartungen in dieser Phase:
-
Der Test-Datenverkehr wird derzeit auf die Aufgaben der grünen Service-Revision umgestellt.
POST_TEST_TRAFFIC_SHIFT
Diese Phase tritt ein, nachdem der Test-Datenverkehr vollständig auf die neuen Aufgaben umgestellt wurde.
Im Folgenden wird ein Beispiel für Nutzdaten für diese Lebenszyklusphase gezeigt.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": {}, "productionTrafficWeights": {} }
Erwartungen in dieser Phase:
-
100 % des Test-Datenverkehrs wurden auf die Aufgaben der grünen Service-Revision umgestellt.
PRODUCTION_TRAFFIC_SHIFT
Diese Phase tritt ein, wenn der Produktionsdatenverkehr auf die Aufgaben der grünen Service-Revision umgestellt wird.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": {}, "productionTrafficWeights": { "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892": 100, "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/78652123": 0 } }
Erwartungen in dieser Phase:
-
Der Produktionsdatenverkehr wird derzeit auf die neue grüne Service-Revision umgestellt.
POST_PRODUCTION_TRAFFIC_SHIFT
Diese Phase tritt ein, wenn der Produktionsdatenverkehr vollständig auf die Aufgaben der grünen Service-Revision umgestellt wurde.
{ "serviceArn": "arn:aws:ecs:us-west-2:1234567890:service/myCluster/myService", "targetServiceRevisionArn": "arn:aws:ecs:us-west-2:1234567890:service-revision/myCluster/myService/01275892", "testTrafficWeights": {}, "productionTrafficWeights": {} }
Erwartungen in dieser Phase:
-
100 % des Produktionsdatenverkehrs wurden auf die Aufgaben der grünen Service-Revision umgestellt.
Kategorien von Lebenszyklusphasen
Lebenszyklusphasen gliedern sich in zwei Kategorien:
-
Einzelne Aufrufphasen – Diese Phasen werden während einer Servicebereitstellung nur einmal aufgerufen:
PRE_SCALE_UP
POST_SCALE_UP
POST_TEST_TRAFFIC_SHIFT
POST_PRODUCTION_TRAFFIC_SHIFT
-
Wiederkehrende Aufrufphasen – Diese Phasen können während einer Servicebereitstellung mehrfach aufgerufen werden, beispielsweise wenn ein Rollback-Vorgang stattfindet:
TEST_TRAFFIC_SHIFT
PRODUCTION_TRAFFIC_SHIFT
Bereitstellungsstatus während Lebenszyklus-Hooks
Während der Ausführung von Lebenszyklus-Hooks ist der Bereitstellungsstatus IN_PROGRESS für alle Lebenszyklusphasen.
| Lebenszyklusphase | Bereitstellungsstatus |
|---|---|
| RECONCILE_SERVICE | IN_PROGRESS |
| PRE_SCALE_UP | IN_PROGRESS |
| POST_SCALE_UP | IN_PROGRESS |
| TEST_TRAFFIC_SHIFT | IN_PROGRESS |
| POST_TEST_TRAFFIC_SHIFT | IN_PROGRESS |
| PRODUCTION_TRAFFIC_SHIFT | IN_PROGRESS |
| POST_PRODUCTION_TRAFFIC_SHIFT | IN_PROGRESS |