Fehlerbehebung bei Service-Load Balancers - Amazon ECS

Fehlerbehebung bei Service-Load Balancers

Amazon-ECS-Services können Aufgaben bei einer Elastic Load Balancing-Lastenverteilung registrieren. Fehler bei der Konfiguration von Load Balancers sind häufig die Ursache für gestoppte Aufgaben. Wenn Ihre gestoppten Aufgaben von Services gestartet wurden, die einen Load Balancer verwenden, ziehen Sie folgende mögliche Ursachen in Betracht.

Wichtig

Container-Zustandsprüfungen werden nicht für Aufgaben unterstützt, die Teil eines Services sind, der für die Nutzung eines Classic Load Balancers konfiguriert ist. Der Amazon ECS-Service-Scheduler ignoriert Aufgaben in einem UNHEALTHY-Status, die hinter einem Classic Load Balancer liegen.

Container-Instance-Sicherheitsgruppe

Wenn Ihr Container dem Port 80 auf Ihrer Container-Instance zugewiesen ist, muss Ihre Container-Instance-Sicherheitsgruppe eingehenden Datenverkehr auf Port 80 für die Zustandsprüfungen des Load Balancer erlauben.

Elastic Load Balancing-Load Balancer nicht für alle Availability Zones konfiguriert

Ihr Load Balancer sollte so konfiguriert sein, dass er alle Availability Zones in einer Region verwenden kann, oder zumindest alle Availability Zones, in denen sich Ihre Container-Instances befinden. Wenn ein Service einen Load Balancer verwendet und eine Aufgabe auf einer Container-Instance startet, die sich in einer Availability Zone befindet, die zu verwenden der Load Balancer nicht konfiguriert wurde, besteht die Aufgabe nie die Zustandsprüfung und wird abgebrochen.

Elastic Load Balancing Load Balancer-Zustandsprüfung fehlkonfiguriert

Die Parameter der Zustandsprüfung des Load Balancer können übermäßig restriktiv sein oder auf Ressourcen zeigen, die nicht existieren. Wenn festgestellt wird, dass eine Container-Instance fehlerhaft ist, wird sie vom Load Balancer entfernt. Stellen Sie sicher, dass die folgenden Parameter korrekt für Ihren Service-Load Balancer konfiguriert sind.

Ping-Port

Der Wert Ping-Port für eine Load Balancer-Zustandsprüfung ist der Port auf den Container-Instances, den der Load Balancer prüft, um festzustellen, ob er fehlerfrei ist. Wenn dieser Port falsch konfiguriert ist, meldet der Load Balancer Ihre Container-Instance wahrscheinlich von sich ab. Dieser Port sollte so konfiguriert sein, dass er den Wert hostPort für den Container in der Aufgabendefinition Ihres Services verwendet, die Sie bei der Zustandsprüfung verwenden.

Ping-Pfad

Dieser Wert wird oft auf index.html festgelegt, aber wenn Ihr Service auf diese Anfrage nicht antwortet, schlägt die Zustandsprüfung fehl. Wenn Ihr Container keine Datei index.html hat, können Sie dies auf / festlegen, um so auf die Basis-URL für die Container-Instance abzuzielen.

Reaktions-Timeout

Dies ist die Zeitdauer, innerhalb derer Ihr Container eine Antwort auf den Ping der Zustandsprüfung zurücksenden muss. Wenn dieser Wert niedriger ist als die Zeitdauer, die für eine Antwort erforderlich ist, schlägt die Zustandsprüfung fehl.

Zustandsprüfungsintervall

Dies ist die Zeitdauer zwischen Zustandsprüfungs-Pings. Je kürzer Ihre Zustandsprüfungsintervalle sind, desto schneller kann Ihre Container-Instance den Unhealthy Threshold erreichen.

Unhealthy Threshold (Schwellenwert für anormalen Zustand)

Dies ist die Anzahl der Male, die Ihre Zustandsprüfung fehlschlagen kann, bevor Ihre Container-Instance als fehlerhaft betrachtet wird. Wenn Sie einen Unhealthy Threshold von 2 und ein Zustandsprüfungsintervall von 30 Sekunden haben, dann hat Ihre Aufgabe 60 Sekunden Zeit, um auf den Zustandsprüfungs-Ping zu antworten, bevor sie als fehlerhaft gilt. Sie können den Unhealthy Threshold oder das Zustandsprüfungsintervall erhöhen, um Ihren Aufgaben mehr Zeit zum Antworten zu geben.

Der Service Servicename konnte nicht aktualisiert werden: Load Balancer-Containername oder -port wurde in der Aufgabendefinition geändert

Wenn Ihr Service einen Load Balancer verwendet, kann die Konfiguration des Load Balancer, die für Ihren Service bei seiner Erstellung definiert wurde, nicht geändert werden. Wenn Sie die Aufgabendefinition für den Service aktualisieren, müssen der Containername und der Container-Port, die bei der Erstellung des Services angegeben wurden, in der Aufgabendefinition bleiben.

Um den Load Balancer-Namen, den Containernamen oder den Containerport, die der Load Balancer-Konfiguration eines Service zugeordnet sind, zu ändern, müssen Sie einen neuen Service erstellen.

Sie haben das Limit für die Anzahl der Aufgaben erreicht, die Sie gleichzeitig ausführen können.

Für ein neues Konto sind Ihre Kontingente möglicherweise niedriger als die Service Quotas. Das Servicekontingent für Ihr Konto kann in der Service-Quotas-Konsole angezeigt werden. Informationen zum Anfordern einer Kontingenterhöhung finden Sie unter Beantragen einer Kontingenterhöhung im Benutzerhandbuch zu Service Quotas.