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.
Amazon-ECS-Workloads, die auf EC2-Instances ausgeführt werden, sicher anhalten
Managed Instance Draining ermöglicht die ordnungsgemäße Beeindigung von Amazon-EC2-Instances. Auf diese Weise können Ihre Workloads sicher angehalten und auf Instances ohne Beendigung verschoben werden. Wartung und Aktualisierung der Infrastruktur werden durchgeführt, ohne dass Sie sich Gedanken über Unterbrechungen der Workloads machen müssen. Durch die Verwendung von Managed Instance Draining vereinfachen Sie Ihre Workflows zur Infrastrukturverwaltung, die den Austausch von Amazon-EC2-Instances erfordern, und sorgen gleichzeitig für Stabilität und Verfügbarkeit Ihrer Anwendungen.
Amazon ECS Managed Instance Draining funktioniert mit dem Ersatz von Auto-Scaling-Gruppen-Instances. 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 Amazon-ECS-Kapazitätsanbietern verwendet werden. Sie können Managed Instance Draining aktivieren, wenn Sie Ihre Auto Scaling Scaling-Gruppenkapazitätsanbieter mithilfe der Amazon ECS-Konsole oder des SDK erstellen oder aktualisieren. AWS CLI
Die folgenden Ereignisse werden durch Amazon ECS Managed Instance Draining abgedeckt.
-
Instance-Aktualisierung für Auto-Scaling-Gruppen – Verwenden Sie die Instance-Aktualisierung, um die Amazon-EC2-Instances in Ihrer Auto-Scaling-Gruppe fortlaufend zu ersetzen, anstatt dies manuell stapelweise durchzuführen. Diese Methode ist besonders nützlich, wenn Sie eine große Anzahl von Instances ersetzen müssen. Eine Instance-Aktualisierung wird über die Amazon-EC2-Konsole oder die
StartInstanceRefresh-API eingeleitet. Wenn Sie den verwalteten Beendigungsschutz verwenden, stellen Sie sicher, dassReplacefür den Abskalierungsschutz auswählen, wenn SieStartInstanceRefreshaufrufen. -
Maximale Instance-Lebensdauer – Sie können eine maximale Lebensdauer definieren, wenn es darum geht, die Instances von Auto-Scaling-Gruppen zu ersetzen. Dies ist hilfreich für die Planung von Ersatz-Instances auf der Grundlage interner Sicherheitsrichtlinien oder der Compliance.
-
Abskalieren von Auto-Scaling-Gruppen – Basierend auf Skalierungsrichtlinien und geplanten Skalierungsaktionen unterstützt die Auto-Scaling-Gruppe die automatische Skalierung von Instances. Durch die Verwendung einer Auto-Scaling-Gruppe als Amazon-ECS-Kapazitätsanbieter können Sie Instances von Auto-Scaling-Gruppen abskalieren, wenn auf ihnen keine Aufgaben ausgeführt werden.
-
Zustandsprüfungen für Auto-Scaling-Gruppen – Auto-Scaling-Gruppen unterstützen viele Zustandsprüfungen, um die Beendigung fehlerhafter Instances zu verwalten.
-
CloudFormation Stack-Updates — Sie können Ihrem CloudFormation Stack ein
UpdatePolicyAttribut hinzufügen, um fortlaufende Aktualisierungen durchzuführen, wenn sich die Gruppe ändert. -
Neuausgleich der Spot-Kapazität – Die Auto-Scaling-Gruppe versucht, Spot-Instances, bei denen ein höheres Ausfallrisiko besteht, proaktiv zu ersetzen, basierend auf der Amazon-EC2-Mitteilung zum Neuausgleich der Kapazität. Die Auto-Scaling-Gruppe beendet die alte Instance, wenn die Ersatz-Instance gestartet und fehlerfrei ist. Mit Amazon ECS Managed Instance Draining wird die Spot-Instance genauso ausgeglichen wie eine Nicht-Spot-Instance.
-
Spot-Unterbrechung – Spot Instances werden mit einer Frist von zwei Minuten beendet. Amazon ECS Managed Instance Draining versetzt die Instance daraufhin in den Ausgleichsstatus.
Lebenszyklus-Hooks für Amazon EC2 Auto Scaling mit Managed Instance Draining.
Auto-Scaling-Gruppen-Lebenszyklus-Hooks ermöglichen es Kunden, Lösungen zu erstellen, die durch bestimmte Ereignisse im Instance-Lebenszyklus ausgelöst werden, und eine benutzerdefinierte Aktion auszuführen, wenn dieses bestimmte Ereignis eintritt. Eine Auto-Scaling-Gruppe erlaubt bis zu 50 Hooks. Es können mehrere Beendigungs-Hooks existieren, die parallel ausgeführt werden, und die Auto-Scaling-Gruppe wartet, bis alle Hooks abgeschlossen sind, bevor sie eine Instance beenden.
Neben der von Amazon ECS managed Hook-Beendigung können Sie auch Ihre eigenen Lebenszyklus-Beendigungs-Hooks konfigurieren. Lebenszyklus-Hooks haben eine default action, und wir empfehlen, continue als Standard festzulegen, um sicherzustellen, dass andere Hooks, wie der von Amazon ECS Managed Hook, nicht von Fehlern durch benutzerdefinierte Hooks beeinträchtigt werden.
Wenn Sie bereits einen Lebenszyklus-Hook zur Beendigung von Auto-Scaling-Gruppen konfiguriert und auch Amazon ECS Managed Instance Draining aktiviert haben, werden beide Lebenszyklus-Hooks ausgeführt. Die jeweiligen Zeitpunkte können jedoch nicht garantiert werden. Lebenszyklus-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, continue als Standardergebnis in Ihrem benutzerdefinierten Hook zu verwenden. Dadurch wird sichergestellt, dass andere Hooks, insbesondere die von Amazon ECS Managed Hooks, nicht durch Fehler in Ihrem benutzerdefinierten Lebenszyklus-Hook beeinträchtigt werden. Das alternative Ergebnis von abandon führt dazu, dass alle anderen Hooks übersprungen werden und vermieden werden sollten. Weitere Informationen über Lebenszyklus-Hooks von Auto-Scaling-Gruppen finden Sie unter Lebenszyklus-Hooks in Amazon EC2 Auto Scaling im Benutzerhandbuch für Amazon EC2 Auto Scaling.
Entlastung von Aufgaben und verwalteten Instances
Amazon ECS Managed Instance Draining verwendet das vorhandene Entlastungs-Feature, das in Container-Instances zu finden ist. Das Feature zur Entlastung von Container-Instances führt den Austausch durch und stoppt bei Replikataufgaben, die zu einem Amazon-ECS-Service gehören. Eine eigenständige Aufgabe, z. B. eine von RunTask aufgerufene, die sich im Status PENDING oder RUNNING befindet, bleibt davon unberührt. Sie müssen entweder warten, bis diese abgeschlossen sind, oder sie manuell anhalten. 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 gestoppt wurden.
Managed Instance Draining und verwalteter Beendigungsschutz
Managed Instance Draining funktioniert auch dann, wenn die verwaltete Beendigung deaktiviert ist. Weitere Informationen zum verwalteten Beendigungsschutz finden Sie unter Die Instances steuern, die Amazon ECS beendet.
In der folgenden Tabelle ist das Verhalten der verschiedenen Kombinationen aus verwalteter Beendigung und verwalteter Entlastung zusammengefasst.
| Verwaltete Beendigung | Verwaltete Entlastung | Ergebnis |
|---|---|---|
|
Aktiviert |
Aktiviert | Amazon ECS schützt Amazon-EC2-Instances, auf denen Aufgaben ausgeführt werden, davor, durch Abskalierungsereignisse beendet zu werden. Alle Instances, die beendet werden, z. B. solche, für die kein Beendigungsschutz aktiviert ist, bei denen Spot-Unterbrechungen aufgetreten sind oder die durch eine Instance-Aktualisierung erzwungen wurden, werden ordnungsgemäß ausgeglichen. |
|
Disabled |
Aktiviert | Amazon ECS schützt Amazon-EC2-Instances, auf denen Aufgaben ausgeführt werden, nicht vor dem Abskalieren. Alle Instances, die beendet werden, werden jedoch ordnungsgemäß ausgeglichen. |
|
Enabled |
Disabled | Amazon ECS schützt Amazon-EC2-Instances, auf denen Aufgaben ausgeführt werden, davor, durch Abskalierungsereignisse 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 ECS führt für diese Instances keine ordnungsgemäße Entlastung durch und startet Ersatz-Service-Aufgaben, nachdem sie beendet wurden. |
|
Disabled |
Disabled | Amazon-EC2-Instances können jederzeit abskaliert oder beendet werden, auch wenn sie Amazon-ECS-Aufgaben ausführen. Amazon ECS startet Ersatz-Service-Aufgaben, nachdem sie beendet wurden. |
Entlastung verwalteter Instances und Entlastung von Spot Instances
Mit Spot Instance Draining können Sie eine Umgebungsvariable ECS_ENABLE_SPOT_INSTANCE_DRAINING auf dem Amazon-ECS-Agenten einrichten, die es Amazon ECS ermöglicht, eine Instance als Reaktion auf die zweiminütige Spot-Unterbrechung in den Entlastungsstatus zu versetzen. Amazon ECS Managed Instance Draining ermöglicht das reibungslose Herunterfahren von Amazon-EC2-Instances, die aus vielen Gründen beendet werden, nicht nur wegen Spot-Unterbrechungen. Sie können beispielsweise den Kapazitäts-Neuausgleich von Amazon EC2 Auto Scaling verwenden, um Spot-Instances mit erhöhtem Unterbrechungsrisiko proaktiv zu ersetzen, und die verwaltete Instance-Entlastung sorgt dafür, 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 den Benutzerdaten von Auto-Scaling-Gruppen redundant ist. Weitere Informationen zur Entlastung 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 das Managed Instance Draining zu unterstützen. Sie können diese Ereignisse nach anderen AWS Diensten wie Lambda, Amazon SNS und Amazon SQS filtern, 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 Amazon ECS-Konsole und abrufen können APIs.
-
EventBridge verfügt über integrierte Wiederholungsmechanismen, um vorübergehende Ausfälle zu vermeiden.
Fehlerbehebung bei Amazon ECS Managed Instance Draining
Möglicherweise müssen Sie Probleme mit Managed Instance Draining beheben. Im Folgenden finden Sie ein Beispiel für die Lösung eines Problems, auf das Sie bei der Verwendung stoßen können.
Bei Verwendung von Auto Scaling werden Instances nicht beendet, wenn sie die maximale Instance-Lebensdauer überschritten haben.
Wenn Sie eine Auto-Scaling-Gruppe verwenden und Instances nicht beendet werden, auch nachdem sie die maximalen Instance-Lebensdauer erreicht bzw. überschritten haben, kann das daran liegen, dass sie vor Abskalierung geschützt sind. Sie können die verwaltete Beendigung deaktivieren und die verwaltete Entlastung erlauben, das Instance-Recycling zu übernehmen.
Entlastungsverhalten für Amazon ECS Managed Instances
Die Kündigung von Amazon ECS Managed Instances gewährleistet reibungslose Arbeitslastübergänge bei gleichzeitiger Kostenoptimierung und Aufrechterhaltung der Systemintegrität. Das Beendigungssystem bietet drei unterschiedliche Entscheidungspfade für die Beendigung von Instances, die jeweils unterschiedliche zeitliche Merkmale und Kundenauswirkungsprofile aufweisen.
Entscheidungspfade zur Beendigung
- Vom Kunden initiierte Beendigung
-
Bietet direkte Kontrolle über das Entfernen von Instances, wenn Sie Container-Instances sofort außer Betrieb nehmen müssen. Sie rufen die DeregisterContainerInstance API auf, wobei das Force-Flag auf true gesetzt ist, was darauf hinweist, dass trotz laufender Workloads eine sofortige Kündigung erforderlich ist.
- Vom System initiierte Beendigung im Leerlauf
-
Amazon ECS Managed Instances überwacht und optimiert die Kosten kontinuierlich und proaktiv, indem inaktive Amazon ECS-Container-Instances beendet werden, auf denen keine Aufgaben ausgeführt werden. ECS verwendet eine heuristische Verzögerung, um Container-Instances die Möglichkeit zu geben, neu gestartete Aufgaben zu übernehmen, bevor sie beendet werden. Dies kann mit dem Konfigurationsparameter des Kapazitätsanbieters
scaleInAfterAmazon ECS Managed Instances angepasst werden. - Beendigung der Aktualisierung der Infrastruktur
-
Amazon ECS Managed Instances verwaltet und aktualisiert automatisch Software auf verwalteten Container-Instances, um Sicherheit und Compliance zu gewährleisten und gleichzeitig die Workload-Verfügbarkeit aufrechtzuerhalten. Weitere Informationen finden Sie unter Patchen in Amazon ECS Managed Instances.
Ordnungsgemäße Entlastung und Workload-Migration
Das ordnungsgemäße Entlastungssystem sorgt für eine ausgeklügelte Abstimmung mit dem Amazon-ECS-Servicemanagement, um sicherzustellen, dass serviceverwaltete Aufgaben ordnungsgemäß von den Instances entfernt werden, für die eine Beendigung geplant ist.
Koordination der Entlastung von Serviceaufgaben
Wenn eine Instance in den Status DRAINING übergeht, stoppt der Amazon ECS Scheduler automatisch das Platzieren neuer Aufgaben auf der Instance und implementiert gleichzeitig Verfahren zum ordnungsgemäßen Herunterfahren vorhandener Serviceaufgaben. Die Entlastung der Serviceaufgaben umfasst die Koordination mit den Strategien zur Servicebereitstellung, den Anforderungen an die Zustandsprüfungen und Ihren Präferenzen für den Ausgleich, um einen optimalen Zeitpunkt und optimale Erfolgsquoten für die Migration zu gewährleisten.
Eigenständige Bearbeitung von Aufgaben
Eigenständige Aufgaben müssen unterschiedlich bearbeitet werden, da sie nicht vom automatischen Servicemanagement profitieren. Das System bewertet Merkmale eigenständiger Aufgaben, einschließlich Schätzungen der Aufgabendauer, Analysen der Abschlusswahrscheinlichkeit und Bewertung der Auswirkungen auf den Kunden. Die Strategie des ordnungsgemäßen Abschlusses ermöglicht die automatische Ausführung eigenständiger Aufgaben innerhalb eines längeren Übergangszeitraums. Gleichzeitig stellt die erzwungene Beendigung sicher, dass die Infrastruktur innerhalb akzeptabler Zeiträume aktualisiert wird, wenn Aufgaben nicht automatisch abgeschlossen wurden.
Zweiphasige Abschlussstrategie
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 problemlos gelöscht, eigenständige Aufgaben werden weiterhin ausgeführt und können auf natürliche Weise abgeschlossen werden, und 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 den automatischen Aufruf von Verfahren zur erzwungenen Abmeldung und die sofortige Beendigung aller verbleibenden Aufgaben, unabhängig vom Abschluss-Status.