Statusänderungen für eine Spot-Anforderung
Das folgende Diagramm zeigt die Pfade, denen Ihre Spot-Anfrage während ihres Lebenszyklus folgen kann, von der Übermittlung bis zur Beendigung. Die einzelnen Schritte werden durch Knoten dargestellt und der Statuscode für die einzelnen Knoten beschreibt den Status der Spot-Anfrage und der Spot-Instance.
Evaluierung ausstehend
Sobald Sie eine Spot-Instance-Anforderung erstellen, wird diese in den Status pending-evaluation versetzt – allerdings nur, wenn keine ungültigen Anforderungsparameter vorliegen (bad-parameters).
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
pending-evaluation |
open |
Nicht zutreffend |
bad-parameters |
closed |
Nicht zutreffend |
Wartestatus
Wenn eine oder mehrere Anforderungsbedingungen gültig sind, jedoch noch nicht erfüllt werden können oder wenn nicht genügend Kapazität vorhanden ist, geht die Anforderung in einem Wartestatus über, bis die Bedingungen erfüllt werden. Die Anforderungsoptionen wirken sich auf die Wahrscheinlichkeit aus, dass die Anforderung erfüllt wird. Wenn beispielsweise keine Kapazität vorhanden ist, bleibt Ihre Anforderung so lange im Wartestatus, bis Kapazität verfügbar ist. Wenn Sie eine Gruppe von Availability Zones angeben, bleibt die Anforderung so lange im Wartestatus, bis die Bedingung der Availability Zone erfüllt wird.
Bei einem Ausfall in einer Availability Zone besteht die Möglichkeit, dass sich dies auf die freie EC2-Kapazität auswirkt, die für Spot-Instance-Anforderungen in anderen Availability Zones verfügbar ist.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
capacity-not-available |
open |
Nicht zutreffend |
price-too-low |
open |
Nicht zutreffend |
not-scheduled-yet |
open |
Nicht zutreffend |
launch-group-constraint |
open |
Nicht zutreffend |
az-group-constraint |
open |
Nicht zutreffend |
placement-group-constraint
|
open
|
Nicht zutreffend |
constraint-not-fulfillable
|
open
|
Nicht zutreffend |
Evaluierung/Erfüllung ausstehend – Terminal
Ihre Spot-Instance-Anforderung kann den Status terminal annehmen, wenn Sie eine Anforderung erstellen, die nur während eines bestimmten Zeitraums gültig ist und dieser Zeitraum abläuft, bevor Ihre Anforderung die Phase der ausstehenden Erfüllung erreicht. Dies kann auch vorkommen, wenn Sie die Anforderung abbrechen oder wenn ein Systemfehler auftritt.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
schedule-expired
|
cancelled
|
Nicht zutreffend |
canceled-before-fulfillment ¹ |
cancelled
|
Nicht zutreffend |
bad-parameters
|
failed
|
Nicht zutreffend |
system-error
|
closed
|
Nicht zutreffend |
¹ Wenn Sie die Anforderung abbrechen.
Ausstehende Erfüllung
Wenn die von Ihnen angegebenen Bedingungen (sofern vorhanden) erfüllt werden, geht Ihre Spot-Anforderung in den pending-fulfillment-Zustand.
Zu diesem Zeitpunkt wird Amazon EC2 für die Bereitstellung der angeforderten Instances vorbereitet. Wenn der Prozess zu diesem Zeitpunkt beendet wird, liegt dies wahrscheinlich daran, dass er durch den Benutzer abgebrochen wurde, bevor eine Spot-Instance gestartet wurde. Dies kann auch daran liegen, dass ein unerwarteter Systemfehler aufgetreten ist.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
pending-fulfillment
|
open
|
Nicht zutreffend |
Erfüllt
Wenn alle Spezifikationen für Ihre Spot Instances erfüllt sind, wird Ihre Spot-Anforderung erfüllt. Amazon EC2 startet die Spot Instances, was einige Minuten dauern kann. Wenn eine Spot-Instance bei einer Unterbrechung in den Ruhezustand versetzt oder angehalten wird, verbleibt sie in diesem Zustand, bis die Anforderung wieder erfüllt werden kann oder abgebrochen wird.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
fulfilled
|
active
|
pending → running
|
fulfilled
|
active
|
stopped → running
|
Wenn Sie eine Spot-Instance stoppen, wird Ihre Spot-Anforderung in den Status marked-for-stop oder instance-stopped-by-user versetzt, bis die Spot-Instance erneut gestartet werden kann oder die Anforderung storniert wird.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
marked-for-stop
|
active |
stopping
|
instance-stopped-by-user ¹ |
disabled oder cancelled² |
stopped
|
¹ Eine Spot Instance geht in den instance-stopped-by-user-Zustand über, wenn Sie die Instance anhalten oder den Shutdown-Befehl von der Instance aus ausführen. Wenn Sie die Instance angehalten haben, können Sie sie erneut starten. Beim Neustart wird die Spot-Instance-Anforderung in den Status pending-evaluation zurückversetzt und dann startet Amazon EC2 eine neue Spot-Instance, wenn die Beschränkungen erfüllt sind.
² Der Status der Spot-Anforderung lautet disabled, wenn Sie die Spot Instance beenden, aber die Anforderung nicht abbrechen. Der Anforderungsstatus lautet cancelled, wenn Ihre Spot-Instance gestoppt wird und die Anforderung abläuft.
Erfüllt – Terminal
Ihre Spot Instance laufen weiter, solange die Kapazität für Ihren Instance-Typ verfügbar ist und Sie die Instance nicht beenden. Wenn Amazon EC2 Ihre Spot Instances beenden muss, geht die Spot-Anforderung in einen Terminal-Status über. Eine Anforderung geht auch in den Terminal-Status über, wenn Sie die Spot-Anforderung abbrechen oder die Spot Instances beenden.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
request-canceled-and-instance-running
|
cancelled
|
running
|
marked-for-stop
|
active
|
running
|
marked-for-termination
|
active
|
running
|
instance-stopped-by-price
|
disabled
|
stopped
|
instance-stopped-by-user
|
disabled
|
stopped
|
instance-stopped-no-capacity
|
disabled
|
stopped
|
instance-terminated-by-price
|
closed (einmalig), open (persistent) |
terminated
|
instance-terminated-by-schedule
|
closed
|
terminated
|
instance-terminated-by-service
|
cancelled
|
terminated
|
instance-terminated-by-user
|
closed oder cancelled¹ |
terminated
|
instance-terminated-no-capacity
|
closed (einmalig), open (persistent) |
running †
|
instance-terminated-no-capacity
|
closed (einmalig), open (persistent) |
terminated
|
instance-terminated-launch-group-constraint
|
closed (einmalig), open (persistent) |
terminated
|
¹ Der Anforderungsstatus lautet closed, wenn Sie die Instance beenden, die Anforderung jedoch nicht abbrechen. Der Anforderungsstatus lautet cancelled, wenn Sie die Instance beenden und die Anforderung abbrechen. Selbst wenn Sie eine Spot-Instance beenden, bevor Sie die zugehörige Anforderung abbrechen, kann es zu einer Verzögerung kommen, bis Amazon EC2 feststellt, dass Ihre Spot-Instance beendet wurde. In diesem Fall kann der Anforderungsstatus entweder closed oder cancelled lauten.
† Wenn Amazon EC2 eine Spot-Instance unterbricht, weil es die Kapazität wieder benötigt, und die Instance so konfiguriert ist, dass sie bei Unterbrechung beendet wird, wird der Status sofort auf instance-terminated-no-capacity gesetzt (wenn er nicht auf marked-for-termination eingestellt ist). Die Instance bleibt jedoch 2 Minuten lang im Status running, um den 2-Minuten-Zeitraum widerzuspiegeln, in dem die Instance die Unterbrechungsmitteilung für die Spot-Instance erhält. Nach 2 Minuten wird der Instance-Status auf festgelegt terminated.
Unterbrechungsversuche
Sie können AWS Fault Injection Service verwenden, um eine Spot-Instance-Unterbrechung initiieren, um zu testen, wie die Anwendungen auf Ihren Spot Instances reagieren. Wenn AWS FIS eine Spot Instance anhält, wechselt Ihre Spot-Anfrage in den marked-for-stop-by-experiment-Status und dann in den instance-stopped-by-experiment-Status. Wenn AWS FIS eine Spot Instance beendet, geht Ihre Spot-Anfrage in den Zustand instance-terminated-by-experiment über. Weitere Informationen finden Sie unter Initiieren einer Spot-Instance-Unterbrechung.
| Statuscode | Anforderungsstatus | Instance-Status |
|---|---|---|
marked-for-stop-by-experiment |
active |
running |
instance-stopped-by-experiment |
disabled |
stopped |
instance-terminated-by-experiment |
closed |
terminated |
Persistente Anforderungen
Wenn Ihre Spot Instances (entweder durch Sie oder durch Amazon EC2) beendet werden und es sich bei der Spot-Anforderung um eine persistente Anforderung handelt, wird diese in den Status pending-evaluation zurückversetzt und Amazon EC2 kann eine neue Spot Instance starten, wenn die Beschränkungen erfüllt sind.