

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.

# 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. 