Wie behebe ich Fehler bei der Integritätsprüfung für Amazon ECS-Aufgaben auf Fargate?

Lesedauer: 3 Minute
0

Ich erhalte bei meinen Amazon Elastic Container Service (Amazon ECS)-Aufgaben auf AWS Fargate Fehler bei der Integritätsprüfung.

Behebung

Beheben Sie die häufigsten Load Balancer-Fehler

Wenn Sie eine der folgenden Fehlermeldungen erhalten:

  • (Service AWS-Service) (Port 8080) ist fehlerhaft in (target-grouparn:uxyztargetgroup/aws-targetgroup/123456789) aufgrund von (Grund, warum Integritätsprüfungen mit diesen Codes fehlgeschlagen sind: [502]) oder [Anforderungszeitüberschreitung]
  • (Service AWS-Service) (Port 8080) ist in der Zielgruppe tf-20190411170 aufgrund von (Grund: Zustandsprüfung fehlgeschlagen) fehlerhaft

Probieren Sie die folgenden Schritte zur Fehlerbehebung aus:

  • Wenn Ihr Container Port 80 zugeordnet ist, bestätigen Sie, dass Ihre Container-Sicherheitsgruppe eingehenden Datenverkehr auf Port 80 für den Load Balancer zulässt.
  • Bestätigen Sie, dass der Ping-Port-Wert für den Zustand Ihres Lastenausgleichs richtig konfiguriert ist. Wenn dieser Port nicht richtig konfiguriert ist, könnte Ihr Load Balancer die Registrierung des Containers von sich selbst aufheben.
  • Definieren Sie einen Mindestzeitraum für die Zustandsprüfung. Dadurch wird der Dienstplaner angewiesen, die Integritätsprüfungen von Elastic Load Balancing für einen vordefinierten Zeitraum zu ignorieren, nachdem eine Aufgabe instanziiert wurde.
  • Überwachen Sie die CPU- und Speichermetriken des Dienstes. Eine hohe CPU-Auslastung kann beispielsweise dazu führen, dass Ihre Anwendung nicht mehr reagiert und zu einem 502-Fehler führt.
  • Überprüfen Sie Ihre Anwendungsprotokolle auf Anwendungsfehler.
  • Überprüfen Sie, ob der Ping-Port und der Health-Check-Pfad richtig konfiguriert sind.
  • Stellen Sie sicher, dass Ihre Backend-Datenbank erfolgreich verbunden ist. Dies setzt voraus, dass Ihre Anwendung als eine Reihe von Aufgaben ausgeführt wird, die von Amazon Elastic Container Service (Amazon ECS) auf Amazon Elastic Compute Cloud (Amazon EC2)-Instanzen gestartet werden. Es wird außerdem davon ausgegangen, dass Ihre Anwendung nicht mit der Datenbank des Amazon Relational Database Service (Amazon RDS) kommunizieren kann.

Beheben 504-Fehler

Sie können aus einem der folgenden Gründe einen 504-Fehler erhalten:

  • Ihr Load Balancer konnte vor Ablauf des Verbindungszeitlimits (10 Sekunden) keine Verbindung zum Ziel herstellen.
  • Ihr Load Balancer hat eine Verbindung zum Ziel hergestellt, aber das Ziel hat nicht geantwortet, bevor das Leerlauf-Timeout abgelaufen ist.
  • Die Netzwerkzugriffskontrollliste für Ihr Subnetz ließ keinen Datenverkehr von den Zielen zu den Lastausgleichsknoten auf den kurzlebigen Ports zu (1024-65535)

Wenn Sie einen 504-Fehler wie den folgenden erhalten:

  • (Service AWS-Service) (Port 8080) ist in der Zielgruppe aufgrund von (Grund: Integritätsprüfungen sind mit diesen Codes fehlgeschlagen:[504]

Probieren Sie die folgenden Schritte zur Fehlerbehebung aus:

  • Bestätigen Sie, dass unverzüglich eine erfolgreiche Antwort vom Backend erfolgt.
  • Stellen Sie den Antwortzeitüberschreitungswert richtig ein.
    Hinweis: Das Antwort-Timeout ist die Zeitspanne, die Ihr Container benötigt, um eine Antwort auf den Ping der Zustandsprüfung zurückzugeben. Wenn dieser Wert niedriger ist als die für eine Antwort erforderliche Zeit, schlägt die Gesundheitsprüfung fehl.
  • Weitere Informationen zu Fehlern finden Sie in den Zugriffsprotokollen Ihres Load Balancers.

Beheben Sie fehlgeschlagene Container-Zustandsprüfungen

Wenn Sie die folgende Fehlermeldung erhalten, ist Ihr Service nicht in Ihren Load Balancer integriert, aber die Container in Ihrer Aufgabe verwenden Zustandsprüfungen, die Ihr Service nicht bestehen kann:

  • (Dienst AWS-Service) (Aufgabe ff3e71a4-d7e5-428b-9232-2345657889) Container-Zustandsprüfungen fehlgeschlagen

Versuchen Sie die folgenden Schritte zur Fehlerbehebung:

  • Bestätigen Sie, dass der Befehl, den Sie an den Container übergeben, korrekt ist und die richtige Syntax hat.
  • Überprüfen Sie Ihre Anwendungsprotokolle und Amazon CloudWatch-Protokolle, wenn die Aufgabe schon eine Weile ausgeführt wird.

**Hinweis:**Sie können nicht auf den zugrunde liegenden Host zugreifen, da Fargate von AWS verwaltet wird. Zur weiteren Fehlerbehebung starten Sie Ihre Amazon ECS-Aufgaben in Amazon EC2. Stellen Sie mithilfe von SSH eine Verbindung zu Ihren EC2-Instances her.


Verwandte Informationen

Parameter der Servicedefinition

Erweiterte Parameter für die Containerdefinition

Zugriffsprotokollierung aktivieren

Fehlerbehebung bei Ihren Application Load Balancern

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren