Entleeren von Amazon ECS-Container-Instances - Amazon Elastic Container Service

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.

Entleeren von Amazon ECS-Container-Instances

Es kann vorkommen, dass Sie eine Container-Instance aus Ihrem Cluster entfernen müssen, um beispielsweise Systemaktualisierungen durchzuführen oder die Clusterkapazität zu reduzieren. Amazon ECS bietet die Möglichkeit, eine Container-Instance in einen DRAINING-Status zu überführen. Dies wird Container-Instance-Ausgleich genannt. Wenn eine Container-Instance auf DRAINING festgelegt wird, lässt es Amazon ECS nicht zu, dass die Platzierung neuer Aufgaben in der Container-Instance geplant wird.

Ausgleichsverhalten für Services

Alle Aufgaben, die Teil eines Dienstes sind, die sich in einem PENDING-Zustand befinden, werden sofort gestoppt. Wenn im Cluster verfügbare Kapazität für Container-Instances vorhanden ist, startet der Service-Scheduler Ersetzungsaufgaben. Wenn nicht genügend Kapazität für Container-Instances vorhanden ist, wird eine Service-Ereignismeldung gesendet, die das Problem angibt.

Aufgaben, die Teil eines Dienstes auf der Container-Instance sind, die sich in einem RUNNING-Zustand befinden werden in einen STOPPED-Zustand übertragen. Der Service-Planer versucht, die Aufgaben gemäß dem Bereitstellungstyp und den Konfigurationsparametern minimumHealthyPercent und maximumPercent des Services zu ersetzen. Weitere Informationen finden Sie unter Amazon-ECS-Dienstleistungen und Parameter der Amazon ECS-Servicedefinition.

  • Beträgt der Wert für minimumHealthyPercent weniger als 100 % kann der Scheduler die Angabe desiredCount während des Ersetzens der Aufgabe vorübergehend ignorieren. Beträgt der Wert für desiredCount beispielsweise vier Aufgaben, kann der Scheduler bei einem Minimum von 50 % zwei bestehende Aufgaben stoppen, bevor er zwei neue Aufgaben startet. Bei einem Minimum von 100 % kann der Service-Scheduler keine vorhandenen Aufgaben entfernen, bis die Ersatzaufgaben als fehlerfrei angesehen werden. Wenn Aufgaben für Services, die keinen Load Balancer verwenden, den Status RUNNING aufweisen, werden Sie als fehlerfrei angesehen. Aufgaben für Services, die einen Load Balancer nutzen, gelten als fehlerfrei, wenn Sie den Status RUNNING aufweisen und die Container-Instance, auf der sie gehostet sind, vom Load Balancer als fehlerfrei gemeldet wird.

    Wichtig

    Wenn Sie Spot-Instances verwenden und minimumHealthyPercent größer oder gleich 100 % ist, hat der Service nicht genug Zeit, um die Aufgabe zu ersetzen, bevor die Spot-Instance beendet wird.

  • Der Parameter maximumPercent stellt eine Obergrenze für die Anzahl der laufenden Aufgaben während der Aufgabenersetzung dar, sodass Sie die Größe des Ersatzstapels festlegen können. Bei einem desiredCount von vier Aufgaben beispielsweise werden bei einem Maximum von 200 % vier neue Aufgaben gestartet, bevor die vier auszugleichenden Aufgaben gestoppt werden (sofern die hierfür erforderlichen Cluster-Ressourcen verfügbar sind). Bei einem Maximum von 100 % können keine Ersatzaufgaben gestartet werden, bis die Ausgleichsaufgaben gestoppt wurden.

    Wichtig

    Wenn sowohl minimumHealthyPercent als auch maximumPercent 100 % betragen, kann der Service vorhandene Aufgaben nicht entfernen und auch keine Ersatzaufgaben starten. Dies verhindert einen erfolgreichen Ausgleich von Container-Instances und verhindert neue Bereitstellungen.

Ausgleichsverhalten für eigenständige Aufgaben

Alle eigenständigen Aufgaben im PENDING- oder RUNNING-Status bleiben unberührt. Sie müssen warten, bis sie von alleine stoppen, oder müssen sie manuell stoppen. Die Container-Instance bleibt im Status DRAINING.

Eine Container-Instance hat den Ausgleich abgeschlossen, wenn alle Aufgaben, die auf der Instance ausgeführt werden, zu einem STOPPED-Zustand übergegangen sind. Die Container-Instance verbleibt in einem DRAINING-Zustand, bis sie erneut aktiviert oder gelöscht wird. Sie können den Status der Aufgaben auf der Container-Instance überprüfen, indem Sie den ListTasksVorgang mit dem containerInstance Parameter verwenden, um eine Liste von Aufgaben auf der Instance abzurufen, gefolgt von einem DescribeTasksVorgang mit dem Amazon-Ressourcennamen (ARN) oder der ID jeder Aufgabe, um den Aufgabenstatus zu überprüfen.

Wenn Sie bereit sind, dass die Container-Instance erneut mit dem Hosten von Tasks beginnen kann, ändern Sie den Status der Container-Instance von DRAINING auf ACTIVE. Der Amazon-ECS-Service Scheduler berücksichtigt dann die Container-Instance für die Aufgabenplatzierung erneut.

Verfahren

Die folgenden Schritte können verwendet werden, um eine Container-Instance mit der neuen AWS Management Console zum Ausgleich einzustellen.

Sie können auch die UpdateContainerInstancesStateAPI-Aktion oder den Befehl update-container-instances-state verwenden, um den Status einer Container-Instance auf zu ändern. DRAINING

AWS Management Console
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Klicken Sie im Navigationsbereich auf Cluster.

  3. Wählen Sie auf der Seite Clusters einen Cluster aus, der Ihre Instances hostet.

  4. Wählen Sie auf der Seite Cluster : Name die Registerkarte Infrastructure (Infrastruktur). Aktivieren Sie dann unter Container instances (Container-Instances) das Kontrollkästchen für jede Container-Instance, die Sie ausgleichen möchten.

  5. Wählen Sie Aktionen, Entleeren.