

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.

# Überprüfen des Amazon-ECS-Container-Agenten
<a name="ecs-agent-update"></a>

Sie müssen den Amazon-ECS-Container-Agent möglicherweise gelegentlich aktualisieren, um Fehlerbehebungen und neue Features darin aufzunehmen. Durch die Aktualisierung des Amazon-ECS-Container-Agenten werden laufende Aufgaben oder Services auf der Container-Instance nicht unterbrochen. Der Aktualisierungsprozess hängt davon ab, ob Ihre Container-Instance mit dem Amazon-ECS-optimierten AMI oder mit einem anderen Betriebssystem gestartet wurde.

**Anmerkung**  
Agent-Updates gelten nicht für Windows-Container-Instances. Wir empfehlen, dass Sie die neuen Container-Instances starten, um die Agent-Version in Ihren Windows-Clustern zu aktualisieren.

## Überprüfen der Amazon-ECS-Container-Agent-Version
<a name="checking_agent_version"></a>

Sie können die Version des Container-Agenten, der auf Ihren Container-Instances ausgeführt wird prüfen, um festzustellen, ob eine Aktualisierung erforderlich ist. Sie finden die Agenten-Version in der Container-Instance-Ansicht der Amazon-ECS-Konsole. Gehen Sie zum Prüfen Ihrer Agenten-Version wie folgt vor:

------
#### [ Amazon ECS console ]

1. Öffnen Sie die Konsole auf [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Wählen Sie auf der Navigationsleiste die Region aus, in der Ihre externe Instance registriert ist.

1. Wählen Sie im Navigationsbereich **Clusters** und danach den Cluster aus, der Ihre externe Instance hostet.

1. Wählen Sie auf der *name* Seite **Cluster:** die Registerkarte **Infrastruktur** aus.

1. Beachten Sie unter **Container instances** (Container-Instances) die Spalte **Agent version** (Agent-Version) für Ihre Container-Instances. Wenn die Container-Instance nicht die neueste Container-Agent-Version enthält, erhalten Sie von der Konsole eine Nachricht, die Sie auf die veraltete Version des Agenten hinweist.

   Wenn die Agentenversion veraltet ist, können Sie den Container-Agenten wie folgt aktualisieren:
   + Wenn Ihre Container-Instance das Amazon-ECS-optimierte AMI ausführt, gehen Sie zu [Aktualisieren des Amazon-ECS-Container-Agenten auf einem Amazon-ECS-optimierten AMI](agent-update-ecs-ami.md).
   + Wenn Ihre Container-Instance das Amazon-ECS-optimierte AMI nicht ausführt, gehen Sie zu [Manuelles Aktualisieren des Amazon ECS-Container-Agenten (für nicht für Amazon AMIs ECS optimierte Systeme)](manually_update_agent.md).
**Wichtig**  
Für die Aktualisierung der Amazon-ECS-Agenten-Version mit Versionen vor 1.0.0 auf Ihrem Amazon-ECS-optimierten AMI empfehlen wir Ihnen, zunächst die aktuelle Container-Instance zu beenden und dann eine Instance mit dem aktuellen AMI zu starten. Alle Container-Instances, die eine Vorversion verwenden, sollten durch die aktuelle AMI-Version ersetzt werden. Weitere Informationen finden Sie unter [Starten einer Amazon ECS Linux-Container-Instance](launch_container_instance.md).

------
#### [ Amazon ECS container agent introspection API  ]

Sie können auch den Agenten verwenden, um die Version der Introspektions-API des Amazon-ECS-Container-Agenten in der Container-Instance selbst abzurufen. Weitere Informationen finden Sie unter [Amazon-ECS-Container-Introspektion](ecs-agent-introspection.md).

**So prüfen Sie, ob Ihr Amazon-ECS-Container-Agent die neueste Version in der Introspektions-API verwendet**

1. Melden Sie sich bei Ihrer Container-Instance über SSH an.

1. Fragen Sie die Introspektions-API ab.

   ```
   [ec2-user ~]$ curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```
**Anmerkung**  
Die Introspektions-API hat `Version`-Informationen zur Version 1.0.0 des Amazon-ECS-Container-Agenten hinzugefügt. Wenn `Version` beim Abfragen der Introspektions-API nicht, bzw. die Introspektions-API überhaupt nicht in Ihrem Agenten vorhanden ist, dann bedeutet das, dass die von Ihnen verwendete Version v.0.03 oder älter ist. Sie sollten Ihre Version aktualisieren.

------

# Aktualisieren des Amazon-ECS-Container-Agenten auf einem Amazon-ECS-optimierten AMI
<a name="agent-update-ecs-ami"></a>

Wenn Sie das Amazon-ECS-optimierte AMI verwenden, stehen Ihnen die folgenden Optionen für die Aktualisierung des Amazon-ECS-Container-Agenten zur Verfügung (Auflistung nach Empfehlungsreihenfolge):
+ Beenden Sie Ihre aktuellen Container-Instances und starten Sie die aktuelle Version des Amazon-ECS-optimierten Amazon Linux 2-AMI (entweder manuell oder durch Aktualisierung Ihrer Auto Scaling-Startkonfiguration mit dem neuesten AMI). So erhalten Sie eine neue Container-Instance mit den aktuellen getesteten und validierten Versionen von Amazon Linux, Docker, `ecs-init` und Amazon-ECS-Container-Agent. Weitere Informationen finden Sie unter [Amazon ECS-optimiertes Linux AMIs](ecs-optimized_AMI.md).
+ Verbinden Sie sich über SSH mit der Instance und aktualisieren Sie das `ecs-init`-Paket (sowie seine Abhängigkeiten) auf die neueste Version. Dieser Vorgang liefert die aktuellsten getesteten und validierten Versionen von Docker und `ecs-init`, die in den Amazon Linux-Repositories verfügbar sind, sowie die neueste Version des Amazon-ECS-Container-Agenten. Weitere Informationen finden Sie unter [So aktualisieren Sie das `ecs-init`-Paket auf dem Amazon-ECS-optimierten AMI](#procedure_update_ecs-init).
+ Aktualisieren Sie den Container-Agenten mit dem `UpdateContainerAgent` API-Vorgang, entweder über die Konsole oder mit dem AWS CLI oder AWS SDKs. Weitere Informationen finden Sie unter [Aktualisieren des Amazon-ECS-Container-Agenten mit der `UpdateContainerAgent`-API-Operation](#agent-update-api).

**Anmerkung**  
Agent-Updates gelten nicht für Windows-Container-Instances. Wir empfehlen, dass Sie die neuen Container-Instances starten, um die Agent-Version in Ihren Windows-Clustern zu aktualisieren.<a name="procedure_update_ecs-init"></a>

**So aktualisieren Sie das `ecs-init`-Paket auf dem Amazon-ECS-optimierten AMI**

1. Melden Sie sich bei Ihrer Container-Instance über SSH an.

1. Aktualisieren Sie das `ecs-init`-Paket mit dem folgenden Befehl.

   ```
   sudo yum update -y ecs-init
   ```
**Anmerkung**  
Das `ecs-init`-Paket und der Amazon-ECS-Container-Agent werden sofort aktualisiert. Neuere Versionen von Docker werden jedoch nicht geladen, bis der Docker-Daemon neu gestartet wird. Machen Sie einen Neustart, indem Sie entweder die Instance neu starten oder die folgenden Befehle auf Ihrer Instance ausführen:  
Amazon-ECS-optimiertes Amazon Linux 2-AMI:  

     ```
     sudo systemctl restart docker
     ```
Amazon-ECS-optimiertes Amazon Linux AMI:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## Aktualisieren des Amazon-ECS-Container-Agenten mit der `UpdateContainerAgent`-API-Operation
<a name="agent-update-api"></a>

**Wichtig**  
Die `UpdateContainerAgent`-API wird nur auf Linux-Varianten des Amazon-ECS-optimierten AMI unterstützt, mit Ausnahme des Amazon-ECS-optimierten Amazon Linux 2 (arm64) AMI. Für Container-Instances, die das Amazon-ECS-optimierte Amazon Linux 2 (arm64) -AAMI verwenden, aktualisieren Sie das `ecs-init`-Paket, um den Agenten zu aktualisieren. Informationen zu Container-Instances, die auf anderen Betriebssystemen laufen, finden Sie unter [Manuelles Aktualisieren des Amazon ECS-Container-Agenten (für nicht für Amazon AMIs ECS optimierte Systeme)](manually_update_agent.md). Sollten Sie Windows-Container-Instances nutzen, empfehlen wir, dass Sie die neuen Container-Instances starten, um die Agent-Version in Ihren Windows-Clustern zu aktualisieren.

Der `UpdateContainerAgent` API-Prozess beginnt, wenn Sie ein Agent-Update anfordern, entweder über die Konsole oder mit dem AWS CLI oder AWS SDKs. Amazon ECS prüft, ob Ihre derzeitige Agent-Version der neuesten verfügbaren Agent-Version entspricht und ob eine Aktualisierung verfügbar ist. Wenn keine Aktualisierung verfügbar ist, beispielsweise, wenn der Agent bereits mit der neuesten Version läuft, wird eine `NoUpdateAvailableException` zurückgegeben.

Der oben genannte Aktualisierungsprozess umfasst folgende Schritte:

`PENDING`  
Ein Agent-Aktualisierung ist verfügbar und der Aktualisierungsprozess wurde gestartet.

`STAGING`  
Der Agent hat mit dem Herunterladen der Agent-Aktualisierung begonnen. Wenn der Agent die Aktualisierung nicht herunterladen kann oder wenn der Inhalt der Aktualisierung falsch oder korrupt ist, sendet der Agent eine Benachrichtigung des Fehlers und die Aktualisierung geht in den `FAILED`-Status über.

`STAGED`  
Das Herunterladen des Agent ist abgeschlossen und die Agent-Inhalte wurden bestätigt.

`UPDATING`  
Der `ecs-init`-Service wird mit der neuen Agenten-Version neu gestartet. Wenn der Agent nicht neu starten kann, geht die Aktualisierung in den `FAILED`-Status über. Andernfalls zeigt der Agent Amazon ECS an, dass die Aktualisierung nicht abgeschlossen wurde.

**Anmerkung**  
Agent-Updates gelten nicht für Windows-Container-Instances. Wir empfehlen, dass Sie die neuen Container-Instances starten, um die Agent-Version in Ihren Windows-Clustern zu aktualisieren.

**So aktualisieren Sie im Amazon-ECS-optimierten AMI in der Konsole den Amazon-ECS-Container-Agenten**

1. Öffnen Sie die Konsole auf [https://console.aws.amazon.com/ecs/Version](https://console.aws.amazon.com/ecs/v2) 2.

1. Wählen Sie auf der Navigationsleiste die Region aus, in der Ihre externe Instance registriert ist.

1. Wählen Sie im Navigationsbereich **Clusters** und dann den Cluster aus.

1. Wählen Sie auf der *name* Seite **Cluster:** die Registerkarte **Infrastruktur** aus.

1. Wählen Sie unter **Container-Instances** die zu aktualisierenden Instances aus, und wählen Sie dann **Aktionen**, **Agent aktualisieren**.

# Manuelles Aktualisieren des Amazon ECS-Container-Agenten (für nicht für Amazon AMIs ECS optimierte Systeme)
<a name="manually_update_agent"></a>

Sie müssen den Amazon-ECS-Container-Agent möglicherweise gelegentlich aktualisieren, um Fehlerbehebungen und neue Features darin aufzunehmen. Durch die Aktualisierung des Amazon-ECS-Container-Agenten werden laufende Aufgaben oder Services auf der Container-Instance nicht unterbrochen.
**Anmerkung**  
Agent-Updates gelten nicht für Windows-Container-Instances. Wir empfehlen, dass Sie die neuen Container-Instances starten, um die Agent-Version in Ihren Windows-Clustern zu aktualisieren.

1. Melden Sie sich bei Ihrer Container-Instance über SSH an.

1. Überprüfen Sie, ob ihr Agent die Umgebungsvariable `ECS_DATADIR` nutzt, um seinen Status zu speichern.

   ```
   ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Ausgabe:

   ```
   "ECS_DATADIR=/data",
   ```
**Wichtig**  
Wenn der vorherige Befehl die Umgebungsvariable `ECS_DATADIR` nicht zurücksendet, müssen Sie sämtliche Aufgaben, die auf dieser Container-Instance ausgeführt werden, abbrechen, bevor Sie Ihren Agenten aktualisieren. Neuere Agenten mit der Umgebungsvariable `ECS_DATADIR` speichern ihren Status und Sie können sie aktualisieren, während Aufgaben problemlos ausgeführt werden.

1. Halten Sie den Amazon-ECS-Container-Agent an.

   ```
   ubuntu:~$ docker stop ecs-agent
   ```

1. Löschen Sie den Agent-Container.

   ```
   ubuntu:~$ docker rm ecs-agent
   ```

1. Stellen Sie sicher, dass das `/etc/ecs`-Verzeichnis und die Konfigurationsdatei für den Amazon-ECS-Container-Agenten unter `/etc/ecs/ecs.config` vorhanden sind.

   ```
   ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
   ```

1. Bearbeiten Sie die Datei `/etc/ecs/ecs.config` und stellen Sie sicher, dass sie mindestens die folgenden Variablendeklarationen enthält. Wenn Sie nicht möchten, dass Ihre Container-Instance im Default-Cluster registriert wird, legen Sie Ihren Cluster-Namen als einen Wert für `ECS_CLUSTER` fest.

   ```
   ECS_DATADIR=/data
   ECS_ENABLE_TASK_IAM_ROLE=true
   ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
   ECS_LOGFILE=/log/ecs-agent.log
   ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
   ECS_LOGLEVEL=info
   ECS_CLUSTER=default
   ```

   Weitere Informationen zu diesen und anderen Agenten-Laufzeitoptionen erhalten Sie unter[Konfiguration des Amazon-ECS-Container-Agenten](ecs-agent-config.md).
**Anmerkung**  
Sie können Ihre Agenten-Umgebungsvariablen optional in Amazon S3 speichern (diese können in Ihren Container-Instances zum Startzeitpunkt mithilfe von Amazon EC2-Benutzerdaten heruntergeladen werden). Dies empfiehlt sich für sensible Daten, wie beispielsweise Authentifizierungs-Anmeldeinformationen für private Repositorys. Weitere Informationen erhalten Sie unter [Speichern der Konfiguration von Amazon-ECS-Container-Instances in Amazon S3](ecs-config-s3.md) und [Verwenden von AWS Nicht-Container-Images in Amazon ECS](private-auth.md).

1. Rufen Sie das neueste Image für den Amazon-ECS-Container-Agent von Amazon-Elastic-Container-Registry-Public ab.

   ```
   ubuntu:~$ docker pull public.ecr.aws/ecs/amazon-ecs-agent:latest
   ```

   Ausgabe:

   ```
   Pulling repository amazon/amazon-ecs-agent
   a5a56a5e13dc: Download complete
   511136ea3c5a: Download complete
   9950b5d678a1: Download complete
   c48ddcf21b63: Download complete
   Status: Image is up to date for amazon/amazon-ecs-agent:latest
   ```

1. Führen Sie den neuesten Amazon-ECS-Container-Agenten in Ihrer Container-Instance aus.
**Anmerkung**  
Verwenden Sie Docker-Neustartrichtlinien oder einen Prozessmanager (wie **upstart** oder **systemd**), um den Container-Agenten als Service oder Daemon zu behandeln und sicherzustellen, dass dieser nach dem Beenden wieder gestartet wird. Das Amazon ECS-optimierte AMI verwendet das `ecs-init` RPM für diesen Zweck, und Sie können den [Quellcode für dieses RPM](https://github.com/aws/amazon-ecs-init) unter einsehen. GitHub 

   Das folgende Beispiel des Agenten-Ausführungsbefehls ist auf mehrere Zeilen verteilt, um die Optionen deutlicher darzustellen. Weitere Informationen zu diesen und anderen Agenten-Laufzeitoptionen erhalten Sie unter[Konfiguration des Amazon-ECS-Container-Agenten](ecs-agent-config.md).
**Wichtig**  
Für Betriebssysteme mit SELinux aktivierter Option ist die `--privileged` Option in Ihrem **docker run** Befehl erforderlich. Darüber hinaus empfehlen wir für Container-Instances mit SELinux aktivierter Option, die `:Z` Option zu den Volume Mounts `/log` und den `/data` Volume Mounts hinzuzufügen. Die Host-Mounts für diese Volumes müssen jedoch vorhanden sein, bevor Sie den Befehl ausführen. Andernfalls erhalten Sie die Fehlermeldung `no such file or directory`. Gehen Sie wie folgt vor, wenn Sie Schwierigkeiten haben, den Amazon ECS-Agenten auf einer SELinux -fähigen Container-Instance auszuführen:  
Erstellen Sie auf Ihrer Container-Instance Mounting-Punkte für Hoste-Volume.  

     ```
     ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
     ```
Fügen Sie die Option `--privileged` zum unteren Befehl **docker run** hinzu.
Fügen Sie die Option `:Z` zu den Container-Volume-Mounts `/log` und `/data` (z. B. `--volume=/var/log/ecs/:/log:Z`) zum unteren Befehl **docker run** hinzu.

   ```
   ubuntu:~$ sudo docker run --name ecs-agent \
   --detach=true \
   --restart=on-failure:10 \
   --volume=/var/run:/var/run \
   --volume=/var/log/ecs/:/log \
   --volume=/var/lib/ecs/data:/data \
   --volume=/etc/ecs:/etc/ecs \
   --volume=/etc/ecs:/etc/ecs/pki \
   --net=host \
   --env-file=/etc/ecs/ecs.config \
   amazon/amazon-ecs-agent:latest
   ```
**Anmerkung**  
Wenn Sie die Meldung `Error response from daemon: Cannot start container` erhalten, können Sie den fehlerhaften Container mit dem Befehl **sudo docker rm ecs-agent** löschen und den Agenten neu starten. 