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 über die Unterbrechung der Spot-Instance ist eine Warnung, die zwei Minuten vor dem Anhalten oder Beenden einer Spot-Instance durch Amazon EC2 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 zur Verfügung gestellt. Unterbrechungsmitteilungen werden nach bestem Bemühen ausgegeben.
EC2 Spot Instance Interruption Warning event
Wenn Amazon EC2 Ihre Spot-Instance unterbrechen wird, gibt es zwei Minuten vor der eigentlichen Unterbrechung ein Ereignis aus (außer für den Ruhezustand, der die Benachrichtigung über die Unterbrechung erhält, aber nicht zwei Minuten im Voraus, weil der Ruhezustand sofort beginnt). Dieses Ereignis kann von Amazon erkannt werden EventBridge. Weitere Informationen zu EventBridge Veranstaltungen finden Sie im EventBridge Amazon-Benutzerhandbuch. Ein detailliertes Beispiel, das Sie durch das Erstellen und Verwenden von Ereignisregeln führt, finden Sie unter Taking AdvanTage of 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-ddThh:mm:ssZ",
"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 Spot-Instance-Unterbrechungsereignisses ist arn:aws:ec2:. Dieses Format unterscheidet sich vom ARN-Format der EC2-Ressource.availability-zone:instance/instance-id
instance-action
Das Element instance-action gibt die Aktion sowie den ungefähren Zeitpunkt in UTC an, an dem die Aktion ausgeführt wird.
Wenn Ihre Spot-Instance durch Amazon EC2 für das Anhalten oder Beenden markiert wird, ist das instance-action-Element in den Instance-Metadaten vorhanden. Andernfalls ist es nicht vorhanden. Sie können den instance-action Using Instance Metadata Service Version 2 (IMDSv2) 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 keine Vorbereitungen vornimmt, die Instance anzuhalten oder zu beenden oder wenn Sie die Instance selbst beendet haben, ist das Element instance-action nicht in den Instance-Metadaten vorhanden und es wird ein HTTP-Fehler 404 gemeldet, wenn Sie versuchen, es abzurufen.
termination-time
Das Element termination-time gibt den ungefähren Zeitpunkt in UTC an, an dem die Instance das Signal für das Herunterfahren 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 EC2 zur Beendigung gekennzeichnet ist (entweder aufgrund einer Spot-Instance-Unterbrechung, auf der das Unterbrechungsverhalten auf terminate eingestellt ist, 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 das termination-time mithilfe der folgenden IMDSv2 Methode abrufen.
Es folgt eine Beispielausgabe.
2015-01-05T18:02:00Z
Wenn Amazon EC2 die Beendigung der Instance nicht vorbereitet (entweder weil es keine Unterbrechung der Spot Instance gibt oder weil Ihr Unterbrechungsverhalten auf stop oder hibernate eingestellt ist) oder wenn Sie die Spot Instance selbst beendet haben, ist das Element termination-time entweder nicht in den Metadaten der Instance vorhanden (so dass Sie einen HTTP 404-Fehler erhalten) oder enthält einen Wert, der kein Zeitwert ist.
Wenn Amazon EC2 die Instance nicht beenden kann, wird der Anforderungsstatus auf fulfilled gesetzt. 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.