Entlastung von Amazon-ECS-Container-Instances
Es kann vorkommen, dass Sie eine Container-Instance aus Ihrem Cluster entfernen müssen, beispielsweise, um Systemaktualisierungen durchzuführen oder die Cluster-Kapazität herunterzuskalieren. 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. Service Scheduler versucht, die Aufgaben gemäß dem Bereitstellungstyp und den Konfigurationsparametern minimumHealthyPercent und maximumPercent des Services zu ersetzen. Weitere Informationen erhalten Sie unter Amazon-ECS-Dienstleistungen und Parameter der Amazon-ECS-Servicedefinition.
-
Beträgt der Wert für
minimumHealthyPercentweniger als 100 % kann der Scheduler die AngabedesiredCountwährend des Ersetzens der Aufgabe vorübergehend ignorieren. Beträgt der Wert fürdesiredCountbeispielsweise 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 StatusRUNNINGaufweisen, werden Sie als fehlerfrei angesehen. Aufgaben für Services, die einen Load Balancer nutzen, gelten als fehlerfrei, wenn Sie den StatusRUNNINGaufweisen und die Container-Instance, auf der sie gehostet sind, vom Load Balancer als fehlerfrei gemeldet wird.Wichtig
Wenn Sie Spot-Instances verwenden und
minimumHealthyPercentgrößer oder gleich 100 % ist, hat der Service nicht genug Zeit, um die Aufgabe zu ersetzen, bevor die Spot-Instance beendet wird. -
Der Parameter
maximumPercentstellt 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 einemdesiredCountvon 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
minimumHealthyPercentals auchmaximumPercent100 % 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.
Entlastungsverhalten für Amazon ECS Managed Instances
Beendigungsprozesse für Amazon ECS Managed Instances sorgen für reibungslose Übergänge von Workloads bei gleichzeitiger Kostenoptimierung und Aufrechterhaltung des Systemzustands. Das Beendigungssystem bietet drei unterschiedliche Entscheidungspfade für die Beendigung von Instances, die jeweils unterschiedliche zeitliche Merkmale und Kundenauswirkungsprofile aufweisen.
- Vom Kunden initiierte Beendigung
-
Bietet direkte Kontrolle über das Entfernen von Instances, wenn Sie Container-Instances sofort außer Betrieb nehmen müssen. Bei der Ausführung von
deregister-container-instanceist derforce-Anforderungsparameter auf „true“ gesetzt. Das bedeutet, dass trotz laufender Workloads eine sofortige Beendigung erforderlich ist. - Vom System initiierte Beendigung im Leerlauf
-
Implementiert Kostenoptimierung durch intelligente Leerlauferkennung, die Instances identifiziert, die Workloads nicht mehr bedienen. Der Elastic Workload Service (EWS) implementiert ausgefeilte Algorithmen zur Erkennung von Leerlaufzeiten, die die Instance-Auslastung überwachen und die Beendigung von Instances einleiten, die für konfigurierbare Zeiträume inaktiv bleiben.
- Beendigung der Aktualisierung der Infrastruktur
-
Implementiert eine proaktive Infrastrukturverwaltung mithilfe der Natural-Decay-Richtlinie von Node Manager, bei der Instances regelmäßig aktualisiert werden, um sicherzustellen, dass sie auf den neuesten Plattformversionen laufen und der Sicherheitsstatus gewahrt bleibt. Node Manager implementiert Time-to-Live (TTL)-Richtlinien, die eine ordnungsgemäße Beendigung für Instances einleiten, die ihre maximale Betriebsdauer erreicht haben.
Das Beendingungssystem verfolgt einen zweiphasigen Ansatz, bei dem die Workload-Kontinuität mit den Anforderungen an die Infrastrukturverwaltung in Einklang gebracht wird.
Phase 1: Ordnungsgemäße Abschlusszeit
Während dieser Phase implementiert das System Strategien zur ordnungsgemäßen Entlastung, bei denen die Kontinuität der Workload an erster Stelle steht. Serviceaufgaben werden durch normale Amazon-ECS-Planungsprozesse ordnungsgemäß ausgeglichen. Eigenständige Aufgaben werden weiterhin ausgeführt, da sie möglicherweise auf natürliche Weise abgeschlossen werden. Das System überwacht, ob alle Aufgaben durch natürliche Abschlussprozesse den Status „Angehalten“ erreichen.
Phase 2: Strenge Durchsetzung von Fristen
Wenn durch einen ordnungsgemäßen Abschluss die Beendigungsziele nicht innerhalb eines akzeptablen Zeitrahmens erreicht werden, führt das System eine strikte Durchsetzung der Fristen durch. Die feste Frist wird in der Regel auf die Entlastungs-Initiierungszeit plus sieben Tage festgelegt, sodass ausreichend Zeit für einen ordnungsgemäßen Abschluss unter Wahrung der betrieblichen Anforderungen zur Verfügung steht. Die Durchsetzung umfasst automatische Verfahren zur erzwungenen Abmeldung und die sofortige Beendigung aller verbleibenden Aufgaben, unabhängig vom Abschluss-Status.
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 Tasks auf der Container-Instance überprüfen, indem Sie die ListTasks-Operation mit dem containerInstance-Parameter verwenden, um so eine Liste von Aufgaben für die Instance, gefolgt von einem DescribeTasks-Vorgang mit dem Amazon-Ressourcennamen (ARN) oder der ID jeder Aufgabe, um den Aufgabenstatus zu überprüfen, zu erhalten.
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 the console zum Ausgleich einzustellen.
Sie können die API-Aktion UpdateContainerInstancesState oder den Befehl update-container-instances-state verwenden, um den Status einer Container-Instance in DRAINING zu ändern.
the console
Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2
. -
Klicken Sie im Navigationsbereich auf Cluster.
-
Wählen Sie auf der Seite Clusters einen Cluster aus, der Ihre Instances hostet.
-
Wählen Sie auf der Seite Cluster :
Namedie Registerkarte Infrastructure (Infrastruktur). Aktivieren Sie dann unter Container instances (Container-Instances) das Kontrollkästchen für jede Container-Instance, die Sie ausgleichen möchten. -
Wählen Sie Aktionen, Ausgleichen.