Beenden Sie sicher ECS Amazon-Workloads, die auf EC2 Instances ausgeführt werden - 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.

Beenden Sie sicher ECS Amazon-Workloads, die auf EC2 Instances ausgeführt werden

Managed Instance Draining ermöglicht die ordnungsgemäße Kündigung von EC2 Amazon-Instances. Auf diese Weise können Ihre Workloads sicher gestoppt und auf Instances ohne Terminierung verschoben werden. Wartung und Updates der Infrastruktur werden durchgeführt, ohne dass Sie sich Gedanken über Unterbrechungen der Arbeitslast machen müssen. Durch die Verwendung von Managed Instance Draining vereinfachen Sie Ihre Workflows zur Infrastrukturverwaltung, die den Austausch von EC2 Amazon-Instances erfordern, und sorgen gleichzeitig für Stabilität und Verfügbarkeit Ihrer Anwendungen.

Das Draining von Amazon ECS Managed Instances funktioniert mit dem Ersatz von Auto Scaling Scaling-Gruppeninstanzen. Auf der Grundlage der Instance-Aktualisierung und der maximalen Instance-Lebensdauer können Kunden sicherstellen, dass sie die neuesten Betriebssystem- und Sicherheitsvorschriften für ihre Kapazität einhalten.

Managed Instance Draining kann nur mit ECS Amazon-Kapazitätsanbietern verwendet werden. Sie können Managed Instance Draining aktivieren, wenn Sie Ihre Auto Scaling Scaling-Gruppenkapazitätsanbieter mithilfe der ECS Amazon-Konsole erstellen oder aktualisieren AWS CLI, oderSDK.

Die folgenden Ereignisse werden durch Amazon ECS Managed Instance Draining abgedeckt.

  • Auto Scaling Scaling-Gruppen-Instance-Aktualisierung — Verwenden Sie Instance Refresh, um Ihre EC2 Amazon-Instances in Ihrer Auto Scaling Scaling-Gruppe fortlaufend zu ersetzen, anstatt dies manuell stapelweise durchzuführen. Dies ist nützlich, wenn Sie eine große Anzahl von Instances ersetzen müssen. Eine Instance-Aktualisierung wird über die EC2 Amazon-Konsole oder die initiiert StartInstanceRefreshAPI. Stellen Sie sicher, dass Sie beim Telefonieren Scale-in-Schutz auswählenReplace, StartInstanceRefresh wenn Sie den Managed Termination Protection verwenden.

  • Maximale Instance-Lebensdauer ‐ Sie können eine maximale Lebensdauer definieren, wenn es darum geht, Auto Scaling Scaling-Gruppeninstanzen zu ersetzen. Dies ist hilfreich für die Planung von Ersatzinstanzen auf der Grundlage interner Sicherheitsrichtlinien oder der Einhaltung von Vorschriften.

  • Auto Scaling-Gruppenskalierung ‐ Basierend auf Skalierungsrichtlinien und geplanten Skalierungsaktionen unterstützt die Auto Scaling Scaling-Gruppe die Auto Scaling von Instances. Durch die Verwendung einer Auto Scaling Scaling-Gruppe als ECS Amazon-Kapazitätsanbieter können Sie Auto Scaling-Gruppen-Instances skalieren, wenn in ihnen keine Aufgaben ausgeführt werden.

  • Zustandsprüfungen für Auto Scaling Scaling-Gruppen — Die Auto Scaling Scaling-Gruppe unterstützt viele Integritätsprüfungen, um die Kündigung fehlerhafter Instances zu verwalten.

  • AWS CloudFormation Stack-Updates ‐ Sie können Ihrem AWS CloudFormation Stack ein UpdatePolicy Attribut hinzufügen, um fortlaufende Aktualisierungen durchzuführen, wenn sich die Gruppe ändert.

  • Neuausrichtung der Spot-Kapazität — Die Auto Scaling Scaling-Gruppe versucht, Spot-Instances, bei denen ein höheres Ausfallrisiko besteht, proaktiv zu ersetzen, basierend auf der Amazon-Mitteilung zur EC2 Kapazitätsneuverteilung. Die Auto Scaling Scaling-Gruppe beendet die alte Instance, wenn die Ersatzinstanz gestartet und fehlerfrei ist. Durch das Entleeren von Amazon ECS verwalteten Instances wird die Spot-Instance genauso entleert wie eine Nicht-Spot-Instance.

  • Spot-Unterbrechung — Spot-Instances werden mit einer Frist von zwei Minuten beendet. Als Reaktion ECS darauf versetzt Amazon Managed Instance Draining die Instance in den Draining-Status.

Lebenszyklus-Hooks von Amazon EC2 Auto Scaling mit verwaltetem Instance-Draining

Auto Scaling Scaling-Gruppenlebenszyklus-Hooks ermöglichen es Kunden, Lösungen zu erstellen, die durch bestimmte Ereignisse im Instanzlebenszyklus ausgelöst werden, und eine benutzerdefinierte Aktion auszuführen, wenn dieses bestimmte Ereignis eintritt. Eine Auto Scaling Scaling-Gruppe ermöglicht bis zu 50 Hooks. Es können mehrere Terminierungs-Hooks existieren, die parallel ausgeführt werden, und die Auto Scaling Scaling-Gruppe wartet, bis alle Hooks abgeschlossen sind, bevor sie eine Instance beenden.

Zusätzlich zur von Amazon ECS verwalteten Hook-Termination können Sie auch Ihre eigenen Lifecycle-Termination-Hooks konfigurieren. Lifecycle-Hooks haben einedefault action, und wir empfehlen, continue sie als Standard festzulegen, um sicherzustellen, dass andere Hooks, wie der von Amazon ECS verwaltete Hook, nicht von Fehlern durch benutzerdefinierte Hooks beeinträchtigt werden.

Wenn Sie bereits einen Lifecycle-Hook zur Beendigung von Auto Scaling Scaling-Gruppen konfiguriert und auch das Draining von Amazon ECS Managed Instance aktiviert haben, werden beide Lifecycle-Hooks ausgeführt. Die jeweiligen Zeitpunkte können jedoch nicht garantiert werden. Lifecycle-Hooks haben eine default action Einstellung, mit der festgelegt wird, welche Aktion ausgeführt werden soll, wenn das Timeout abgelaufen ist. Im Falle von Fehlern empfehlen wir, dies continue als Standardergebnis in Ihrem benutzerdefinierten Hook zu verwenden. Dadurch wird sichergestellt, dass andere Hooks, insbesondere die von Amazon ECS verwalteten Hooks, nicht durch Fehler in Ihrem benutzerdefinierten Lifecycle-Hook beeinträchtigt werden. Das alternative Ergebnis von abandon führt dazu, dass alle anderen Hooks übersprungen werden und sollten vermieden werden. Weitere Informationen zu Auto Scaling Scaling-Gruppen-Lifecycle-Hooks finden Sie unter Amazon EC2 Auto Scaling Scaling-Lifecycle-Hooks im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.

Aufgaben und Managed Instance Draining

Amazon ECS Managed Instance Draining verwendet die bestehende Draining-Funktion, die in Container-Instances zu finden ist. Die Funktion zum Entleeren von Container-Instances führt den Austausch durch und stoppt bei Replikataufgaben, die zu einem ECS Amazon-Service gehören. Eine eigenständige Aufgabe, z. B. eine von aufgerufeneRunTask, die sich im RUNNING Status PENDING oder befindet, bleibt davon unberührt. Sie müssen warten, bis diese entweder abgeschlossen oder manuell beendet sind. Die Container-Instance bleibt so lange im DRAINING Status, bis entweder alle Aufgaben gestoppt wurden oder 48 Stunden vergangen sind. Daemon-Aufgaben werden als letzte beendet, nachdem alle Replikataufgaben beendet wurden.

Managed Instance Draining und verwalteter Kündigungsschutz

Managed Instance Draining funktioniert auch dann, wenn die verwaltete Kündigung deaktiviert ist. Informationen zum verwalteten Kündigungsschutz finden Sie unterKontrollieren Sie die Instanzen, die Amazon ECS beendet.

In der folgenden Tabelle wird das Verhalten verschiedener Kombinationen aus verwalteter Kündigung und verwaltetem Leerlauf zusammengefasst.

Verwaltete Kündigung

Verwaltete Entleerung

Ergebnis

Aktiviert

Aktiviert Amazon ECS schützt EC2 Amazon-Instances, auf denen Aufgaben ausgeführt werden, davor, durch Scale-In-Ereignisse beendet zu werden. Alle Instances, die beendet werden, z. B. solche, für die kein Kündigungsschutz aktiviert ist, bei denen Spot-Unterbrechungen aufgetreten sind oder die durch eine Instance-Aktualisierung erzwungen wurden, werden ordnungsgemäß gelöscht.

Disabled

Aktiviert Amazon schützt EC2 Amazon-Instances, auf denen Aufgaben ausgeführt werden, ECS nicht davor, skaliert zu werden. Alle Instanzen, die beendet werden, werden jedoch ordnungsgemäß gelöscht.

Enabled

Disabled Amazon ECS schützt EC2 Amazon-Instances, auf denen Aufgaben ausgeführt werden, davor, durch Scale-In-Ereignisse beendet zu werden. Instances können jedoch immer noch durch Spot-Unterbrechungen oder erzwungene Instance-Aktualisierungen beendet werden oder wenn sie keine Aufgaben ausführen. Amazon führt für diese Instances ECS keine ordentliche Entleerung durch und startet Ersatzservice-Aufgaben, nachdem sie beendet wurden.

Disabled

Disabled EC2Amazon-Instances können jederzeit skaliert oder beendet werden, auch wenn sie ECS Amazon-Aufgaben ausführen. Amazon ECS wird Ersatzservice-Aufgaben starten, nachdem sie eingestellt wurden.
Entleerung verwalteter Instances und Entleerung von Spot-Instances

Mit Spot-Instance-Draining können Sie eine Umgebungsvariable ECS_ENABLE_SPOT_INSTANCE_DRAINING auf dem ECS Amazon-Agenten festlegen, die es Amazon ECS ermöglicht, eine Instance als Reaktion auf die zweiminütige Spot-Unterbrechung in den Status Draining zu versetzen. Amazon ECS Managed Instance Draining ermöglicht das reibungslose Herunterfahren von EC2 Amazon-Instances, die aus vielen Gründen beendet werden, nicht nur wegen Spot-Unterbrechungen. Beispielsweise können Sie Amazon EC2 Auto Scaling Capacity Rebalancing verwenden, um Spot-Instances mit erhöhtem Unterbrechungsrisiko proaktiv zu ersetzen, und das Managed Instance Draining führt dazu, dass die zu ersetzende Spot-Instance ordnungsgemäß heruntergefahren wird. Wenn Sie Managed Instance Draining verwenden, müssen Sie Spot-Instance Draining nicht separat aktivieren, sodass ECS_ENABLE_SPOT_INSTANCE_DRAINING in Auto Scaling Gruppenbenutzerdaten redundant sind. Weitere Informationen zum Entladen von Spot-Instances finden Sie unter. Spot Instances

So funktioniert das Managed Instance Draining mit EventBridge

Von Amazon ECS verwaltete Instance-Draining-Ereignisse werden auf Amazon veröffentlicht EventBridge, und Amazon ECS erstellt eine EventBridge verwaltete Regel im Standardbus Ihres Kontos, um Managed Instance Draining zu unterstützen. Sie können diese Ereignisse nach anderen AWS Diensten wie Lambda, Amazon und Amazon SNS filtern, SQS um sie zu überwachen und Fehler zu beheben.

  • Amazon EC2 Auto Scaling sendet ein Ereignis, EventBridge wenn ein Lifecycle-Hook aufgerufen wird.

  • Hinweise zu punktuellen Unterbrechungen werden unter veröffentlicht. EventBridge

  • Amazon ECS generiert Fehlermeldungen, die Sie über die ECS Amazon-Konsole und abrufen könnenAPIs.

  • EventBridge verfügt über integrierte Wiederholungsmechanismen, um vorübergehende Ausfälle zu vermeiden.

Fehlerbehebung beim Entladen von Amazon ECS Managed Instances

Möglicherweise müssen Sie Probleme mit dem Managed Instance Draining beheben. Im Folgenden finden Sie ein Beispiel für ein Problem und eine Lösung, auf die Sie bei der Verwendung stoßen können.

Bei Verwendung von Auto Scaling werden Instances nicht beendet, wenn sie die maximale Instanzlebensdauer überschritten haben.

Wenn Ihre Instances auch nach Erreichen und Überschreitung der maximalen Instance-Lebensdauer bei Verwendung einer Auto Scaling-Gruppe nicht beendet werden, kann das daran liegen, dass sie vor Scale-In geschützt sind. Sie können die verwaltete Kündigung deaktivieren und Managed Draining zulassen, um das Instance-Recycling zu übernehmen.