

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
<a name="deployment-lifecycle-hooks"></a>

Wenn eine Bereitstellung beginnt, durchläuft sie Lebenszyklusphasen. Diese Phasen können sich z. B. im Status IN\$1PROGRESS 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 ein `callBackDelay` neben dem `hookStatus` zurü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\$1TRAFFIC\$1SHIFT
+ TEST\$1TRAFFIC\$1SHIFT

## Lebenszyklus-Nutzdaten
<a name="service-deployment-lifecycle-payloads"></a>

 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
<a name="common-payload-structure"></a>

 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
<a name="lifecycle-stage-payloads"></a>

#### RECONCILE\$1SERVICE
<a name="reconcile-service"></a>

 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\$1SCALE\$1UP
<a name="pre-scale-up"></a>

 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\$1SCALE\$1UP
<a name="post-scale-up"></a>

 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\$1TRAFFIC\$1SHIFT
<a name="test-traffic-shift"></a>

 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\$1TEST\$1TRAFFIC\$1SHIFT
<a name="post-test-traffic-shift"></a>

 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\$1TRAFFIC\$1SHIFT
<a name="production-traffic-shift"></a>

 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\$1PRODUCTION\$1TRAFFIC\$1SHIFT
<a name="post-production-traffic-shift"></a>

 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
<a name="lifecycle-stage-categories"></a>

 Lebenszyklusphasen gliedern sich in zwei Kategorien: 

1.  **Einzelne Aufrufphasen** – Diese Phasen werden während einer Servicebereitstellung nur einmal aufgerufen: 
   + PRE\$1SCALE\$1UP
   + POST\$1SCALE\$1UP
   + POST\$1TEST\$1TRAFFIC\$1SHIFT
   + POST\$1PRODUCTION\$1TRAFFIC\$1SHIFT

1.  **Wiederkehrende Aufrufphasen** – Diese Phasen können während einer Servicebereitstellung mehrfach aufgerufen werden, beispielsweise wenn ein Rollback-Vorgang stattfindet: 
   + TEST\$1TRAFFIC\$1SHIFT
   + PRODUCTION\$1TRAFFIC\$1SHIFT

### Bereitstellungsstatus während Lebenszyklus-Hooks
<a name="deployment-status-during-lifecycle-hooks"></a>

 Während der Ausführung von Lebenszyklus-Hooks ist der Bereitstellungsstatus `IN_PROGRESS` für alle Lebenszyklusphasen. 


| Lebenszyklusphase | Bereitstellungsstatus | 
| --- | --- | 
| RECONCILE\$1SERVICE | IN\$1PROGRESS | 
| PRE\$1SCALE\$1UP | IN\$1PROGRESS | 
| POST\$1SCALE\$1UP | IN\$1PROGRESS | 
| TEST\$1TRAFFIC\$1SHIFT | IN\$1PROGRESS | 
| POST\$1TEST\$1TRAFFIC\$1SHIFT | IN\$1PROGRESS | 
| PRODUCTION\$1TRAFFIC\$1SHIFT | IN\$1PROGRESS | 
| POST\$1PRODUCTION\$1TRAFFIC\$1SHIFT | IN\$1PROGRESS | 