

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-Amazon ECS-Optimized AMIs)
<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). Wir empfehlen diesen Ansatz für vertrauliche Informationen wie Authentifizierungsdaten 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 [Mit nicht-AWS 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. Der Amazonas ECS-optimized AMI benutzt den `ecs-init` RPM für diesen Zweck, und Sie können sich das ansehen [Quellcode für dieses RPM](https://github.com/aws/amazon-ecs-init) auf 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**  
SELinux-fähige Betriebssysteme erfordern die Option `--privileged` in Ihrem Befehl **docker run**. Darüber hinaus für SELinux-enabled Container-Instances empfehlen wir, dass Sie die hinzufügen `:Z` Option zum `/log` und `/data` Lautstärkeregler. 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 einem auszuführen SELinux-enabled Container-Instance:  
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 das hinzu `--privileged` Option zum **docker run** Befehl, der folgt.
Hängen Sie das an `:Z` Option an die `/log` und `/data` Halterungen für Containervolumen (zum Beispiel `--volume=/var/log/ecs/:/log:Z`) zum **docker run** Befehl, der folgt.

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