Direkt zum Inhalt

Wie behebe ich den Fehler "the closest matching container-instance container-instance-id encountered error 'AGENT'" für meinen Service in Amazon ECS?

Lesedauer: 2 Minute
0

Wenn ich eine EC2-Aufgabe in Amazon Elastic Container Service (Amazon ECS) starte, erhalte ich die folgende Fehlermeldung: "[AWS service] was unable to place a task because no container instance met all of its requirements. The closest matching container-instance container-instance-id encountered error 'AGENT'."

Lösung

Dieser Fehler tritt auf, wenn der Amazon ECS-Container-Agent, der auf der Container-Instance ausgeführt wird, die für die Aufgabenplatzierung vorgesehen ist, getrennt wird.

Um diesen Fehler zu beheben, überprüfe die Agentenprotokolle und stelle sicher, dass der Agent auf der Instance ausgeführt wird. Starte anschließend den Agenten erneut. 

Die Agentenprotokolle prüfen

Führe die folgenden Schritte aus:

  1. Verwende SSH, um eine Verbindung zur Container-Instance herzustellen.
  2. Prüfe die Agentenprotokolle unter /var/log/ecs/ecs-agent.log.YYYY-MM-DD-HH.
    Hinweis: Ersetze den Beispiel-Zeitstempel durch den Zeitstempel für die Protokolle.
  3. Aktiviere vorübergehend die DEBUG-Protokolle für den ECS-Agenten mit dem Flag ECS_LOGLEVEL in der Datei /etc/ecs/ecs.config.
  4. Führe den entsprechenden Befehl aus, um den Agenten neu zu starten.

Wenn das Problem nach dem Neustart des Agenten nicht behoben ist, verwende die Debug-Protokolle, um das Problem zu beheben.

Sicherstellen, dass der Agent auf der Instance ausgeführt wird

  1. Verwende SSH, um eine Verbindung zu deiner EC2-Instance herzustellen.

  2. Führe den folgenden Befehl aus, um eine Liste der Container zurückzugeben:

    docker ps
  3. Suche nach einem Container mit dem Namen ecs-agent, der ausgeführt wird. Weitere Informationen findest du unter Warum sind meine Amazon-ECS-Container-Instances mit Amazon-Linux-1-AMIs nicht verbunden?

Agenten neu starten

Für ein Amazon ECS-optimiertes Amazon Machine Image (AMI) beende den Agenten und starte ihn mit dem entsprechenden Befehl neu.
Führe für Amazon ECS-optimierte Amazon Linux 2-AMIs den folgenden Befehl aus:

sudo systemctl restart ecs

Führe für Amazon ECS-optimierte Amazon Linux-AMIs den folgenden Befehl aus:

sudo stop ecs && sudo start ecs

Ähnliche Informationen

Wie behebe ich den Fehler in Amazon ECS?"[AWS service] was unable to place a task because no container instance met all of its requirements"

Wie behebe ich einen Fehler in Amazon ECS?"the closest matching container-instance container-instance-id has insufficient CPU units available"

Verwenden eines HTTP-Proxys für Amazon ECS Linux-Container-Instances

Aktualisieren des Amazon ECS-Container-Agenten auf einem Amazon ECS-optimierten AMI

Manuelles Aktualisieren des Amazon ECS-Container-Agenten (für nicht für Amazon ECS optimierte AMIs)

AWS OFFICIALAktualisiert vor 2 Jahren