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.
Spot-Instance-Unterbrechungsbenachrichtigungen
Eine Benachrichtigung zur Unterbrechung der Spot-Instance ist eine Warnung, die zwei Minuten vor dem EC2 Stopp oder der Kündigung Ihrer Spot-Instance durch Amazon ausgegeben wird. Wenn Sie den Ruhezustand als Verhalten bei Unterbrechungen festlegen, erhalten Sie eine Benachrichtigung über die Unterbrechung. Sie erhalten jedoch eine zweiminütige Warnung, da sofort in den Ruhezustand übergegangen wird.
Der beste Weg, um Spot-Instance-Unterbrechungen ordnungsgemäß zu handhaben, besteht darin, Ihre Anwendung so zu konzipieren, dass sie eine Fehlertoleranz aufweist. Um dies zu erreichen, können Sie die Vorteile von Benachrichtigungen über die Unterbrechung der Spot-Instance nutzen. Wir empfehlen, alle 5 Sekunden zu prüfen, ob derartige Benachrichtigungen über die Unterbrechung vorliegen.
Die Unterbrechungsbenachrichtigungen werden als EventBridge Ereignis und als Elemente in den Instance-Metadaten auf der Spot-Instance verfügbar gemacht. Unterbrechungsmitteilungen werden nach bestem Bemühen ausgegeben.
EC2 Spot Instance Interruption Warning event
Wenn Amazon EC2 Ihre Spot-Instance unterbricht, gibt es zwei Minuten vor der eigentlichen Unterbrechung ein Ereignis aus (mit Ausnahme des Ruhezustands, bei dem die Unterbrechungsbenachrichtigung angezeigt wird, aber nicht zwei Minuten im Voraus, da der Ruhezustand sofort beginnt). Dieses Ereignis kann von Amazon erkannt werden EventBridge. Weitere Informationen zu EventBridge Veranstaltungen finden Sie im EventBridge Amazon-Benutzerhandbuch. Ein ausführliches Beispiel, das Sie Schritt für Schritt durch die Erstellung und Verwendung von Ereignisregeln führt, finden Sie unter Die Vorteile von Amazon EC2 Spot-Instance Interruption Notices
Das folgende Beispiel zeigt ein Ereignis für eine Spot-Instance-Unterbrechung. Die möglichen Werte für instance-action
sind hibernate
, stop
und terminate
.
{
"version": "0",
"id": "12345678-1234-1234-1234-123456789012
",
"detail-type": "EC2 Spot Instance Interruption Warning",
"source": "aws.ec2",
"account": "123456789012
",
"time": "yyyy
-mm
-dd
Thh
:mm
:ss
Z",
"region": "us-east-2
",
"resources": ["arn:aws:ec2:us-east-2a
:instance/i-1234567890abcdef0
"],
"detail": {
"instance-id": "i-1234567890abcdef0
",
"instance-action": "action
"
}
}
Anmerkung
Das ARN Format des Unterbrechungsereignisses für die Spot-Instance istarn:aws:ec2:
. Dieses Format unterscheidet sich vom EC2ARNRessourcenformat.availability-zone
:instance/instance-id
instance-action
Das instance-action
Element gibt die Aktion und den ungefähren Zeitpunkt anUTC, zu dem die Aktion ausgeführt wird.
Wenn Ihre Spot-Instance von Amazon als gestoppt oder beendet gekennzeichnet istEC2, ist das instance-action
Element in Ihren Instance-Metadaten enthalten. Andernfalls ist es nicht vorhanden. Sie können die Version 2 (IMDSv2) des instance-action
Using Instance Metadata Service wie folgt abrufen.
Die folgende Beispielausgabe zeigt den Zeitpunkt an, an dem diese Instance angehalten wird.
{"action": "stop", "time": "2017-09-18T08:22:00Z"}
Die folgende Beispielausgabe zeigt den Zeitpunkt an, an dem diese Instance beendet wird.
{"action": "terminate", "time": "2017-09-18T08:22:00Z"}
Wenn Amazon EC2 sich nicht darauf vorbereitet, die Instance zu stoppen oder zu beenden, oder wenn Sie die Instance selbst beendet haben, instance-action
ist dies nicht in den Instance-Metadaten enthalten und Sie erhalten einen HTTP 404-Fehler, wenn Sie versuchen, sie abzurufen.
termination-time
Der termination-time
Artikel gibt die ungefähre UTC Zeit an, zu der die Instance das Shutdown-Signal empfängt.
Anmerkung
Dieses Element wird nur beibehalten, um die Abwärtskompatibilität zu gewährleisten. Sie sollten stattdessen instance-action
verwenden.
Wenn Ihre Spot-Instance von Amazon zur Kündigung markiert ist EC2 (entweder aufgrund einer Spot-Instance-Unterbrechung, auf die das Unterbrechungsverhalten eingestellt istterminate
, oder aufgrund der Stornierung einer persistenten Spot-Instance-Anfrage), ist das termination-time
Element in Ihren Instance-Metadaten vorhanden. Andernfalls ist es nicht vorhanden. Sie können die termination-time
Verwendung IMDSv2 wie folgt abrufen.
Es folgt eine Beispielausgabe.
2015-01-05T18:02:00Z
Wenn Amazon EC2 sich nicht darauf vorbereitet, die Instance zu beenden (entweder weil es keine Spot-Instance-Unterbrechung gibt oder weil Ihr Unterbrechungsverhalten auf stop
oder eingestellt isthibernate
), oder wenn Sie die Spot-Instance selbst beendet haben, ist das termination-time
Element entweder nicht in den Instance-Metadaten vorhanden (Sie erhalten also einen HTTP 404-Fehler) oder enthält einen Wert, der kein Zeitwert ist.
Wenn Amazon die Instance EC2 nicht beenden kann, wird der Anforderungsstatus auf gesetztfulfilled
. Beachten Sie, dass der termination-time
-Wert mit der ursprünglichen ungefähren Zeit, die jetzt in der Vergangenheit liegt, in den Instance-Metadaten verbleibt.