Entleeren von ECS Amazon-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 ECS Amazon-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 eingestellt istDRAINING, ECS verhindert Amazon, dass neue Aufgaben für die Platzierung auf der Container-Instance geplant werden.

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 erhalten Sie unter ECSAmazon-Dienste und Parameter der ECS Amazon-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 wird die Container-Instance dann erneut für die Aufgabenplatzierung in Betracht ziehen.

Verfahren

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

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

AWS Management Console
  1. Öffnen Sie die Konsole auf https://console.aws.amazon.com/ecs/Version 2.

  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 name Seite Cluster: die Registerkarte Infrastruktur aus. 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.