

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.

# Ermitteln des Zustands von Amazon-ECS-Aufgaben mithilfe von Container-Zustandsprüfungen
<a name="healthcheck"></a>

Wenn Sie eine Aufgabendefinition erstellen, können Sie eine Zustandsprüfung für Ihre Container konfigurieren. Zustandsprüfung sind Befehle, die lokal in einem Container ausgeführt werden und den Zustand und die Verfügbarkeit von Anwendungen überprüfen. 

Der Amazon-ECS-Container-Agent überwacht die in der Aufgabendefinition angegebenen Zustandsprüfungen und erstellt Berichte darüber. Amazon ECS überwacht keine Docker-Zustandsprüfungen, die in ein Container-Image eingebettet, aber nicht in der Container-Definition angegeben sind. Parameter für die Zustandsprüfung, die in einer Container-Definition angegeben sind, überschreiben Docker-Zustandsprüfungen, die im Container-Image vorhanden sind.

Wenn in einer Aufgabendefinition eine Zustandsprüfung definiert ist, führt der Container die Zustandsprüfung innerhalb des Containers aus und wertet dann den Exit-Code aus, um den Zustand der Anwendung zu ermitteln. 

Die Zustandsprüfung besteht aus den folgenden Parametern:
+ Befehl – Der vom Container ausgeführte Befehl, um zu bestimmen, ob er fehlerfrei ist. Das Zeichenfolge-Array kann mit `CMD` beginnen, um die Befehlsargumente direkt auszuführen, oder mit `CMD-SHELL`, um den Befehl mit der Standard-Shell des Containers auszuführen. Verwenden Sie `CMD-SHELL`, wenn Sie Shell-Features wie Pipes, Umleitungen, Befehlsketten oder die Erweiterung von Umgebungsvariablen benötigen. `CMD-SHELL` ermöglicht es Ihnen beispielsweise, Befehle wie `curl -f http://localhost/ || exit 1` zu verwenden, bei denen die Shell den `||`-Operator interpretiert. Verwenden Sie `CMD` für einfache Befehle, für die keine Shell-Interpretation erforderlich ist.
+ Intervall – Der Zeitraum (in Sekunden) zwischen den Zustandsprüfungen. 
+ Timeout – Der Zeitraum (in Sekunden), der angibt, wie lange gewartet wird, bis eine Zustandsprüfung erfolgreich ist, bevor sie als fehlgeschlagen betrachtet wird.
+ Wiederholungsversuche – Wie oft eine fehlgeschlagene Zustandsprüfung wiederholt werden soll, bevor der Container als fehlerhaft betrachtet wird. 
+ Startzeitraum – Der optionale Übergangszeitraum, der angibt, wie lange der Container Zeit für einen Bootstrap hat, bevor fehlgeschlagene Zustandsprüfungen der maximalen Anzahl an Wiederholungen angerechnet werden.

  Wenn eine Zustandsprüfung innerhalb der `startPeriod` erfolgreich ist, wird die Container als fehlerfrei betrachtet und alle nachfolgenden Ausfälle werden bei der maximal zulässigen Anzahl von Wiederholungen berücksichtigt.

Informationen zur Angabe einer Zustandsprüfung in einer Aufgabendefinition finden Sie unter [Gesundheitscheck](task_definition_parameters.md#container_definition_healthcheck).

Im Folgenden werden die möglichen Zustandwerte für einen Container beschrieben:
+ `HEALTHY` – Die Container-Zustandsprüfung wurde erfolgreich bestanden.
+ `UNHEALTHY` – Die Container-Zustandsprüfung ist fehlgeschlagen.
+ `UNKNOWN` – Die Container-Zustandsprüfung wird ausgewertet, es ist keine Container-Zustandsprüfung definiert oder Amazon ECS verfügt nicht über den Zustandstatus des Containers.

Die Befehle zur Zustandsprüfung werden auf dem Container ausgeführt. Daher müssen Sie die Befehle in das Container-Image aufnehmen. 

Die Zustandsprüfung stellt über die Loopback-Schnittstelle des Containers unter `localhost` oder `127.0.0.1` eine Verbindung zur Anwendung her Der Beendigungscode `0` bedeutet eine erfolgreiche Ausführung, bei einem Beendigungscode ungleich Null ist ein Fehler aufgetreten.

Berücksichtigen Sie bei der Verwendung von Container-Zustandsprüfungen die folgenden Punkte:
+ Container Zustandsprüfungen erfordern Version 1.17.0 oder höher des Amazon-ECS-Container-Agenten. 
+ Container-Zustandsprüfungen werden für Fargate-Aufgaben unterstützt, wenn Sie die Linux-Plattformversion `1.1.0` oder höher oder die Windows-Plattformversion `1.1.0` oder höher verwenden

## So bestimmt Amazon ECS den Zustand von Aufgaben
<a name="task-determination"></a>

Container, die essenziell sind und in der Aufgabendefinition den Befehl zur Zustandsprüfung enthalten, sind die einzigen, die bei der Bestimmung des Aufgabenzustands berücksichtigt werden.

Die folgenden Regeln werden der Reihe nach evaluiert:

1. Wenn der Status eines essenziellen Containers `UNHEALTHY` ist, dann ist der Aufgabenstatus `UNHEALTHY`.

1. Wenn der Status eines essenziellen Containers `UNKNOWN` ist, dann ist der Aufgabenstatus `UNKNOWN`.

1. Wenn der Status aller essenziellen Containers `HEALTHY` ist, dann ist der Aufgabenstatus `HEALTHY`.

Betrachten Sie das folgende Beispiel für den Zustand einer Aufgabe mit zwei essenziellen Containern.


| Zustand von Container 1 | Zustand von Container 2  | Zustand der Aufgabe | 
| --- | --- | --- | 
| UNHEALTHY |  UNKNOWN | UNHEALTHY | 
| UNHEALTHY | HEALTHY | UNHEALTHY | 
| HEALTHY | UNKNOWN | UNKNOWN | 
| HEALTHY | HEALTHY | HEALTHY | 

Betrachten Sie das folgende Beispiel für den Zustand einer Aufgabe mit 3 Containern.


| Zustand von Container 1 | Zustand von Container 2  | Zustand von Container 3 | Zustand der Aufgabe | 
| --- | --- | --- | --- | 
| UNHEALTHY |  UNKNOWN | UNKNOWN | UNHEALTHY | 
| UNHEALTHY | UNKNOWN | HEALTHY | UNHEALTHY | 
| UNHEALTHY | HEALTHY | HEALTHY | UNHEALTHY | 
| HEALTHY | UNKNOWN | HEALTHY | UNKNOWN | 
| HEALTHY | UNKNOWN | UNKNOWN | UNKNOWN | 
| HEALTHY | HEALTHY | HEALTHY | HEALTHY | 

## So sind Zustandsprüfungen von Agent-Verbindungsabbrüchen betroffen
<a name="healthcheck-agent-disconnect"></a>

Wenn der Amazon-ECS-Container-Agent vom Amazon-ECS-Service getrennt wird, führt es nicht dazu, dass ein Container in einen `UNHEALTHY`-Status wechselt. Dies ist beabsichtigt, um sicherzustellen, dass Container auch bei Neustarts der Agenten oder bei vorübergehender Nichtverfügbarkeit weiterhin ausgeführt werden. Der Status der Zustandsprüfung ist die Antwort „zuletzt gehört von“ des Amazon-ECS-Agenten. Wenn der Container also vor dem Trennen als `HEALTHY` berücksichtigt wurde, bleibt dieser Status bestehen, bis der Agent wieder eine Verbindung herstellt und eine weitere Zustandsprüfung erfolgt. Es werden keine Annahmen über den Status der Zustandsprüfungen der Container getroffen.