Modifiche dello stato per una richiesta spot
Il diagramma seguente mostra i percorsi che la richiesta Spot può seguire durante tutto il suo ciclo di vita, dall'invio alla terminazione. Ogni fase è rappresentata come un nodo e il codice di stato per ogni nodo descrive lo stato della richiesta Spot e dell'istanza spot.
Valutazione in attesa
Appena creata, una richiesta di istanza spot passa allo stato pending-evaluation, a meno che uno o più parametri di richiesta non risultino non validi (bad-parameters).
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
pending-evaluation |
open |
Non applicabile |
bad-parameters |
closed |
Non applicabile |
Sospensione
Se uno o più vincoli di richiesta sono validi ma non possono ancora essere soddisfatti o se non c'è sufficiente capacità, la richiesta va in uno stato di sospensione in attesa che i vincoli vengano soddisfatti. Le opzioni di richiesta influiscono sulla probabilità che la richiesta venga soddisfatta. In assenza di capacità, ad esempio, la richiesta rimane in stato di attesa fino a quando è disponibile capacità. Se si specifica un gruppo di zona di disponibilità, la richiesta rimane in uno stato di sospensione finché il vincolo della zona di disponibilità non viene soddisfatto.
Nel caso si verifichi un'interruzione di una delle zone di disponibilità, è possibile che la capacità EC2 inutilizzata disponibile per le richieste di istanza spot in altre zone di disponibilità possa essere interessata.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
capacity-not-available |
open |
Non applicabile |
price-too-low |
open |
Non applicabile |
not-scheduled-yet |
open |
Non applicabile |
launch-group-constraint |
open |
Non applicabile |
az-group-constraint |
open |
Non applicabile |
placement-group-constraint
|
open
|
Non applicabile |
constraint-not-fulfillable
|
open
|
Non applicabile |
Valutazione/adempimento-terminale in sospeso
La richiesta di istanza spot può passare allo stato terminal se si crea una richiesta valida solo durante un determinato periodo di tempo, che scade prima che la richiesta raggiunga la fase di evasione in sospeso. se si annulla la richiesta o se si verifica un errore di sistema.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
schedule-expired
|
cancelled
|
Non applicabile |
canceled-before-fulfillment¹ |
cancelled
|
Non applicabile |
bad-parameters
|
failed
|
Non applicabile |
system-error
|
closed
|
Non applicabile |
¹ Se annulli la richiesta.
Adempimento in sospeso
Quando vengono soddisfatti eventuali vincoli specificati, la richiesta spot passa allo stato pending-fulfillment.
A questo punto, Amazon EC2 è quasi pronto ad assegnare le istanze richieste. Se il processo si arresta in questo momento, probabilmente è stato annullato dall'utente prima dell'avvio dell'istanza spot. o si è verificato un errore di sistema imprevisto.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
pending-fulfillment
|
open
|
Non applicabile |
Soddisfatta
Quando tutte le specifiche delle istanze spot vengono soddisfatte, la richiesta Spot viene soddisfatta. Amazon EC2 avvia le istanze spot; ciò può richiedere alcuni minuti. Se un'istanza spot viene ibernata o arrestata durante la sua interruzione, resta in questo stato finché la richiesta non può essere soddisfatta nuovamente o non viene annullata.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
fulfilled
|
active
|
pending → running
|
fulfilled
|
active
|
stopped → running
|
Se arresti un'istanza spot, la richiesta Spot passa allo stato marked-for-stop o instance-stopped-by-user fino a quando l'istanza spot può essere riavviata o la richiesta viene annullata.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
marked-for-stop
|
active |
stopping
|
instance-stopped-by-user¹ |
disabled o cancelled ² |
stopped
|
¹ Un'istanza spot passa allo stato instance-stopped-by-user se arresti l'istanza o esegui il comando di arresto dall'istanza. Dopo aver arrestato l'istanza, è possibile riavviarla. Al riavvio, la richiesta di istanza spot ritorna allo stato pending-evaluation e quindi Amazon EC2 avvia una nuova istanza spot quando vengono soddisfatti i vincoli.
² Lo stato della richiesta spot è disabled se l'istanza spot viene arrestata ma la richiesta non viene annullata. Lo stato della richiesta è cancelled se l'istanza spot viene arrestata e la richiesta scade.
Soddisfatta-terminale
Le istanze spot continuano l'esecuzione fino a quando è disponibile capacità per il tuo tipo di istanza e non termini l'istanza. Se Amazon EC2 deve terminare le istanze spot, la richiesta spot passa a uno stato terminale. Una richiesta passa allo stato terminale anche se si annulla la richiesta Spot o si terminano le Istanze spot.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
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 (una tantum), open (persistente) |
terminated
|
instance-terminated-by-schedule
|
closed
|
terminated
|
instance-terminated-by-service
|
cancelled
|
terminated
|
instance-terminated-by-user
|
closed o cancelled ¹ |
terminated
|
instance-terminated-no-capacity
|
closed (una tantum), open (persistente) |
running †
|
instance-terminated-no-capacity
|
closed (una tantum), open (persistente) |
terminated
|
instance-terminated-launch-group-constraint
|
closed (una tantum), open (persistente) |
terminated
|
¹ Lo stato della richiesta è closed se termini l'istanza ma non annulli la richiesta. Lo stato della richiesta è cancelled se si termina l'istanza e si annulla la richiesta. Anche se si termina un'istanza spot prima di annullarne la richiesta, potrebbe verificarsi un ritardo prima che Amazon EC2 rilevi che l'istanza spot è stata terminata. In tal caso, lo stato della richiesta può essere closed o cancelled.
† Quando Amazon EC2 interrompe un'istanza spot se ha bisogno di ripristinare la capacitàe l'istanza è configurata per essere terminata in caso di interruzione, lo stato viene impostato immediatamente su instance-terminated-no-capacity (non è impostato su marked-for-termination). Tuttavia, l'istanza rimane nella stato running per 2 minuti per riflettere il periodo di 2 minuti quando riceve l'avviso di interruzione dell'istanza spot. Dopo 2 minuti, lo stato dell'istanza è impostato su terminated.
Esperimenti di interruzione
Puoi utilizzare AWS Fault Injection Service per avviare un'interruzione dell'istanza spot e testare come rispondono le applicazioni sulle tue istanze spot. Se AWS FIS interrompe un'istanza spot, la richiesta spot entra prima nello stato marked-for-stop-by-experiment e poi in instance-stopped-by-experiment. Se AWS FIS termina un'istanza spot, la richiesta spot entra nello stato instance-terminated-by-experiment. Per ulteriori informazioni, consulta Avvio dell'interruzione di un'istanza spot.
| Codice di stato | Stato della richiesta | Stato istanza |
|---|---|---|
marked-for-stop-by-experiment |
active |
running |
instance-stopped-by-experiment |
disabled |
stopped |
instance-terminated-by-experiment |
closed |
terminated |
Richieste persistenti
Quando le istanze spot vengono terminate (dall'utente o da Amazon EC2), se la richiesta Spot è di tipo persistente, essa torna allo stato pending-evaluation e Amazon EC2 può avviare una nuova istanza spot quando vengono soddisfatti i vincoli.