Statusänderungen für eine Spot-Anforderung - Amazon Elastic Compute Cloud

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.

Lebenszyklus einer Spot-Instance-Anforderung.
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 pendingrunning
fulfilled active stoppedrunning

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.