Wie behebe ich Fehler bei Amazon ECS-Aufgaben für Fargate, die im Status „Ausstehend“ hängen bleiben?

Lesedauer: 4 Minute
0

Meine Amazon Elastic Container Service (Amazon ECS)-Aufgabe, die auf AWS Fargate ausgeführt wird, steckt im Status AUSSTEHEND fest.

Lösung

Prüfen Sie, welche Routen zum Internet Ihre Subnetze verwenden

Für Fargate-Aufgaben in einem öffentlichen Subnetz:

Stellen Sie sicher, dass Ihrer Fargate-Aufgabe eine öffentliche IP-Adresse und eine Standardroute (0.0.0.0/0) zu einem Internet-Gateway zugewiesen sind. Aktivieren Sie dazu das Kontrollkästchen Automatische Zuweisung öffentlicher IPv4-Adressen aktivieren, wenn Sie Ihre Aufgabe starten oder einen neuen Dienst erstellen. Weitere Informationen finden Sie unter Öffentliche IPv4-Adressen.

**Hinweis:**Sie können das Kontrollkästchen Automatische Zuweisung öffentlicher IPv4-Adresse aktivieren für bestehende Aufgaben oder Dienste nicht aktivieren.

Für Fargate-Aufgaben in einem privaten Subnetz:

Stellen Sie sicher, dass Ihre Fargate-Aufgabe über eine Standardroute (0.0.0.0/0) zu einem NAT-Gateway, AWS PrivateLink oder einer anderen Quelle der Internetverbindung verfügt.

  • Wenn Sie ein NAT-Gateway verwenden, platzieren Sie Ihr NAT-Gateway in einem öffentlichen Subnetz. Weitere Informationen finden Sie unter Architektur mit einem Internet-Gateway und einem NAT-Gateway.
  • Wenn Sie AWS PrivateLink verwenden, vergewissern Sie sich, dass Ihre Fargate-Infrastruktur Sicherheitsgruppen für Ihre Amazon Virtual Private Cloud (Amazon VPC)-Endpunkte verwenden darf.

Überprüfen Sie Ihre Netzwerkzugriffskontrollliste und Sicherheitsgruppeneinstellungen

Stellen Sie sicher, dass Ihre Netzwerkzugriffskontrollliste (Netzwerk-ACL) und Sicherheitsgruppen den ausgehenden Zugriff auf Port 443 aus dem Subnetz nicht blockieren. Weitere Informationen finden Sie unter Steuern des Datenverkehrs zu Ressourcen mithilfe von Sicherheitsgruppen.

**Hinweis:**Fargate-Aufgaben müssen ausgehenden Zugriff auf Port 443 haben, um ausgehenden Datenverkehr zu aktivieren und Amazon ECS-Endpunkte zu erreichen.

Überprüfen Sie Ihre VPC-Endpunkte

Wenn Sie AWS PrivateLink verwenden, vergewissern Sie sich, dass Sie über die erforderlichen Endpunkte verfügen.

Erforderliche Endpunkte für die Fargate-Plattformversionen 1.3.0 oder früher:

  • com.amazonaws.region.ecr.dkr
  • S3 Gateway-Endpunkt

Erforderliche Endpunkte für die Fargate-Plattformversionen 1.4.0 oder höher:

  • com.amazonaws.region.ecr.dkr
  • com.amazonaws.region.ecr.api
  • S3 Gateway-Endpunkt

**Hinweis:**Wenn Ihre Aufgabendefinition AWS Secrets Manager, SSM-Parameter oder Amazon CloudWatch Logs verwendet, müssen Sie möglicherweise Endpunkte definieren. Weitere Informationen finden Sie unter Verwenden eines AWS Secrets Manager-VPC-Endpunkts und Verwenden von CloudWatch Logs mit Schnittstellen-VPC-Endpunkten.

Stellen Sie bei der Verwendung von PrivateLink sicher, dass die Sicherheitsgruppen für Ihre VPC-Endpunkte es der Fargate-Infrastruktur ermöglichen, diese Sicherheitsgruppen zu verwenden.

Überprüfen Sie Ihre Rollen und Berechtigungen für AWS Identity and Access Management (IAM)

Die Aufgabenausführungsrolle erteilt dem Amazon ECS-Container und den Fargate-Agenten die Erlaubnis, in Ihrem Namen AWS-API-Aufrufe durchzuführen. Diese Rolle wird von Fargate benötigt, wenn Sie:

  • ein Container-Image aus Amazon Elastic Container Registry (Amazon ECR) abrufen
  • den awslogs-Protokoll-Treiber verwenden
  • Verwenden Sie die private Registrierungsauthentifizierung
  • Referenzieren Sie sensible Daten mithilfe von Secrets Manager-Geheimnissen oder AWS Systems Manager Parameter Store-Parametern

Wenn Ihr Anwendungsfall eines der oben genannten Szenarien beinhaltet, stellen Sie sicher, dass Sie in Ihrer Aufgabenausführungsrolle über die richtigen Berechtigungen verfügen. Eine vollständige Liste der erforderlichen Berechtigungen finden Sie unter IAM-Rolle für die Amazon ECS-Aufgabenausführung.

Prüfen Sie, ob Probleme beim Abrufen des Bildes aufgetreten sind

Wenn Sie für Ihre Fargate-Aufgabe den Fehler cannotpullcontainer erhalten, führen Sie die Schritte unter Wie behebe ich den Fehler „cannotpullcontainererror“ für meine Amazon ECS-Aufgaben auf Fargate aus?

VPC im Dual-Stack-Modus

Wenn Sie eine VPC im Dual-Stack-Modus mit Fargate verwenden, können Sie Ihre VPC mit einem Internet-Gateway oder einem ausgehenden Internet-Gateway für Aufgaben konfigurieren, denen eine IPv6-Adresse für den Zugriff auf das Internet zugewiesen ist. Weitere Informationen finden Sie unter Verwenden einer VPC im Dual-Stack-Modus.

**Hinweis:**Zur Behebung Ihres Problems können Sie auch Amazon ECS Exec verwenden, um die Protokolle von der Container-Instance Ihrer Aufgabe oder Ihres Dienstes abzurufen.

Container-Abhängigkeit ist definiert

Eine Container-Abhängigkeit, die in der Aufgabendefinition definiert ist, kann dazu führen, dass sich die Fargate-Aufgabe auf unbestimmte Zeit im Status PENDING befindet. Beispiel: Wenn containerA von einem bestimmten Status von containerB abhängt, wird erwartet, dass containerA im Status AUSSTEHEND bleibt, bis containerB diesen Status erreicht. Wenn containerB jedoch nie den gewünschten Status erreicht, bleibt die Aufgabe auf unbestimmte Zeit im Status AUSSTEHEND. Stellen Sie sicher, dass Sie über die Abhängigkeiten verfügen, oder bewerten Sie die Abhängigkeiten.

Weitere Informationen finden Sie unter Container-Abhängigkeit.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr