Utilizzo delle Istanze spot - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle Istanze spot

Per utilizzare istanze spot, viene creata una richiesta di istanza spot che include il numero desiderato di istanze, il tipo di istanza e la zona di disponibilità. Se la capacità è disponibile, Amazon EC2 soddisferà immediatamente la tua richiesta. Altrimenti, Amazon EC2 attende che la tua richiesta venga soddisfatta o che tu non la annulli.

La figura seguente mostra come funzionano le richieste delle istanze spot. Tieni presente che il tipo di richiesta (una tantum o persistente) determina se la richiesta viene riaperta quando Amazon EC2 interrompe un'istanza Spot o se interrompi un'istanza Spot. Se la richiesta è persistente, viene riaperta dopo che l'istanza spot viene interrotta. Se la richiesta è persistente e si arresta l'istanza spot, la richiesta si apre solo dopo aver avviato l'istanza spot.

Come funzionano le richieste di istanza spot.

Stati della richiesta di istanza spot

Una richiesta di istanza spot può avere uno dei seguenti stati:

  • open - La richiesta è in attesa di essere soddisfatta.

  • active - La richiesta è stata soddisfatta e ha un'istanza spot associata.

  • failed - La richiesta ha uno o più parametri errati.

  • closed - L'istanza spot è stata interrotta o terminata.

  • disabled - L'istanza spot è stata interrotta.

  • cancelled - La richiesta è stata annullata o è scaduta.

La figura che segue rappresenta le transizioni tra gli stati della richiesta. Le transizioni dipendono dal tipo di richiesta (una tantum o persistente).

Stati della richiesta di istanza spot.

Una richiesta di istanza Spot una tantum rimane attiva fino a quando Amazon non EC2 avvia l'istanza Spot, la richiesta scade o non annulli la richiesta. Se non è disponibile capacità, l'istanza spot viene terminata e la richiesta di istanza spot viene chiusa.

Una richiesta di istanza spot persistente rimane attiva fino a quando non scade o non viene annullata, anche se la richiesta viene soddisfatta. Se non è disponibile capacità, l'istanza spot viene interrotta. Dopo l'interruzione dell'istanza, quando diventa nuovamente disponibile capacità, l'istanza spot viene avviata, se era stata arrestata, o viene ripresa, se era stata ibernata. Puoi arrestare un'istanza spot e riavviarla se è disponibile capacità. Se l'istanza Spot viene terminata (indipendentemente dal fatto che l'istanza Spot sia interrotta o in esecuzione), la richiesta dell'istanza Spot viene riaperta e Amazon EC2 lancia una nuova istanza Spot. Per ulteriori informazioni, consulta Arrestare un'istanza spot, Avviare un'istanza spot e Terminare un'istanza spot.

È possibile monitorare lo stato delle richieste di istanza spot così come lo stato delle istanze spot avviate attraverso lo stato. Per ulteriori informazioni, consulta Stato della richiesta Spot.

Specificare una tenancy per le Istanze spot

È possibile eseguire un'istanza spot su hardware a tenant singolo. Le istanze Spot dedicate sono fisicamente isolate dalle istanze che appartengono ad altri account. AWS Per ulteriori informazioni, consulta Istanze EC2 dedicate Amazon la pagina del prodotto Amazon EC2 Dedicated Instances.

Per eseguire un'istanza spot dedicata, procedere in uno dei seguenti modi:

Tutte le famiglie di istanze supportano Istanze spot dedicato fatta eccezione per le istanze T Per ogni famiglia di istanze supportata, solo la dimensione di istanza più grande o la dimensione del metallo supporta le Istanze spot dedicate.

Ruolo collegato ai servizi per le richieste di istanza spot

Amazon EC2 utilizza ruoli collegati ai servizi per le autorizzazioni necessarie per chiamare altri AWS servizi per tuo conto. Un ruolo collegato al servizio è un tipo unico di IAM ruolo collegato direttamente a un servizio. AWS I ruoli collegati ai servizi forniscono un modo sicuro per delegare le autorizzazioni ai AWS servizi perché solo il servizio collegato può assumere un ruolo collegato al servizio. Per ulteriori informazioni, vedere Using Service-Linked Roles nella Guida per l'utente. IAM

Amazon EC2 utilizza il ruolo collegato ai servizi denominato AWSServiceRoleForEC2Spotper avviare e gestire le istanze Spot per tuo conto.

Autorizzazioni concesse da AWSServiceRoleForEC2Spot

Amazon EC2 utilizza AWSServiceRoleForEC2Spotper completare le seguenti azioni:

  • ec2:DescribeInstances - Descrive le istanze spot

  • ec2:StopInstances - Arresta istanze spot

  • ec2:StartInstances - Avvia istanze spot

Creazione del ruolo collegato ai servizi

In gran parte dei casi, non è necessario creare manualmente un ruolo collegato ai servizi. Amazon EC2 crea il ruolo AWSServiceRoleForEC2Spotcollegato al servizio la prima volta che richiedi un'istanza Spot utilizzando la console.

Se hai ricevuto una richiesta di istanza Spot attiva prima di ottobre 2017, quando Amazon EC2 ha iniziato a supportare questo ruolo collegato ai servizi, Amazon EC2 ha creato il AWSServiceRoleForEC2Spotruolo nel tuo AWS account. Per ulteriori informazioni, consulta la sezione Un nuovo ruolo è apparso nel mio account nella Guida per l'IAMutente.

Se utilizzi AWS CLI o an API per richiedere un'istanza Spot, devi prima assicurarti che questo ruolo esista.

Per creare AWSServiceRoleForEC2Spot utilizzando la console
  1. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Roles (Ruoli).

  3. Selezionare Create role (Crea ruolo).

  4. Nella pagina Seleziona il tipo di entità affidabile, scegli EC2, EC2- Spot Instances, Avanti: Autorizzazioni.

  5. Nella pagina successiva, scegliere Next: Review (Successivo: Revisione).

  6. Nella pagina Review (Revisione), scegliere Create Role (Crea ruolo).

Per creare utilizzando AWSServiceRoleForEC2SpotAWS CLI

Utilizza il comando create-service-linked-role come riportato di seguito.

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

Se non hai più bisogno di utilizzare le istanze Spot, ti consigliamo di eliminare il AWSServiceRoleForEC2Spotruolo. Dopo l'eliminazione di questo ruolo dal tuo account, Amazon EC2 lo creerà nuovamente se richiedi istanze Spot.

Concedi l'accesso alle chiavi gestite dal cliente da utilizzare con copie crittografate AMIs e istantanee EBS

Se specifichi uno EBS snapshot Amazon crittografato AMI o crittografato per le tue istanze Spot e utilizzi una chiave gestita dal cliente per la crittografia, devi concedere al AWSServiceRoleForEC2Spotruolo l'autorizzazione a utilizzare la chiave gestita dal cliente in modo che Amazon EC2 possa avviare le istanze Spot per tuo conto. Per farlo, occorre aggiungere una concessione alla chiave gestita dal cliente, come mostrato nella procedura seguente.

Nel processo di assegnazione delle autorizzazioni, le concessioni rappresentano un'alternativa alle policy delle chiavi. Per ulteriori informazioni, consulta Utilizzo delle concessioni e Utilizzo delle policy delle chiavi in AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service .

Per concedere al ruolo AWSServiceRoleForEC2Spot l'autorizzazione a utilizzare la chiave gestita dal cliente
  • Utilizza il comando create-grant per aggiungere una concessione alla chiave gestita dal cliente e per specificare il principale (il ruolo AWSServiceRoleForEC2Spotcollegato al servizio) a cui viene concessa l'autorizzazione per eseguire le operazioni consentite dalla concessione. La chiave gestita dal cliente è specificata dal key-id parametro e dalla chiave gestita dal ARN cliente. Il principale è specificato dal grantee-principal parametro e dal ARN ruolo AWSServiceRoleForEC2Spotcollegato al servizio.

    aws kms create-grant \ --region us-east-1 \ --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"

Creare una richiesta di istanza spot

Puoi utilizzare la procedura guidata di avvio dell'istanza nella EC2 console Amazon o il AWS CLI comando run-instances per richiedere un'istanza Spot nello stesso modo in cui puoi avviare un'istanza On-Demand. Questo metodo è consigliato solo per i seguenti motivi:

  • Stai già utilizzando la procedura guidata di avvio o il comando run-instances per avviare istanze on demand e vuoi semplicemente passare all'avvio delle istanze spot modificando un singolo parametro.

  • Non sono necessarie più istanze con diversi tipi di istanza.

Questo metodo generalmente non è raccomandato per l'avvio di istanze spot perché non è possibile specificare più tipi di istanza e non è possibile avviare istanze spot e on demand nella stessa richiesta. Per i metodi preferiti per l'avvio di istanze spot, che includono l'avvio di un parco istanze che include istanze spot e istanze on demand con più tipi di istanze, consulta Qual è il metodo di richiesta Spot migliore da utilizzare?

Se richiedi più istanze Spot contemporaneamente, Amazon EC2 crea richieste di istanze Spot separate in modo da poter monitorare lo stato di ogni richiesta separatamente. Per ulteriori informazioni sul monitoraggio delle richieste di istanza spot, consulta Stato della richiesta Spot.

New console
Per creare una richiesta di istanza spot utilizzando la procedura guidata per l'avvio delle istanze

I passaggi da 1 a 9 sono gli stessi passaggi da utilizzare per avviare un'istanza on demand. Al passaggio 10, configuri la richiesta di istanza spot.

  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione nella parte superiore della schermata seleziona la regione.

  3. Dalla dashboard della EC2 console Amazon, scegli Launch instance.

  4. (Facoltativo) In )Name and tags (Nome e tag), puoi assegnare un nome all'istanza e aggiungere un tag alla richiesta di istanza spot, all'istanza, ai volumi e alla grafica elastica. Per ulteriori informazioni sui tag, consulta Etichetta le tue EC2 risorse Amazon.

    1. Per Name (Nome), inserisci un nome descrittivo per l'istanza.

      Il nome dell'istanza è un tag, dove la chiave è Name (Nome) e il valore è il nome specificato. Se non si specifica un nome, l'istanza può essere identificata dal relativo ID, che viene generato automaticamente all'avvio dell'istanza.

    2. Per aggiungere tag alla richiesta di istanza spot, all'istanza, ai volumi e alla grafica elastica, scegli Add additional tags (Aggiungi altri tag). Scegliere Add tag (Aggiungi tag), quindi immettere una chiave e un valore e selezionare il tipo di risorsa da taggare. Scegliere Add tag (Aggiungi tag) per ogni tag aggiuntivo.

  5. In Immagini dell'applicazione e del sistema operativo (Amazon Machine Image), scegli il sistema operativo (OS) per la tua istanza, quindi seleziona unAMI. Per ulteriori informazioni, consulta Immagini di applicazioni e sistema operativo (Amazon Machine Image).

  6. In Instance type (Tipo di istanza), seleziona il tipo di istanza che soddisfa i requisiti per la configurazione hardware e le dimensioni dell'istanza. Per ulteriori informazioni, consulta Tipo di istanza.

  7. In Key pair (login) (Coppia di chiavi [login]), scegli una coppia di chiavi esistente oppure scegli Create new key pair (Crea nuova coppia di chiavi) per creane una nuova. Per ulteriori informazioni, consulta Coppie di EC2 chiavi Amazon e EC2 istanze Amazon.

    Importante

    Se scegli l'opzione Procedi senza key pair (non consigliato), non sarai in grado di connetterti all'istanza a meno AMI che non scegli un'istanza configurata per consentire agli utenti un altro modo di accedere.

  8. In Network settings (Impostazioni di rete), utilizza le impostazioni predefinite o scegli Edit (Modifica) per configurare le impostazioni di rete come necessario.

    I gruppi di sicurezza fanno parte delle impostazioni di rete e definiscono le regole del firewall per l'istanza. Tali regole specificano quale traffico di rete in entrata deve viene distribuito sulla tua istanza.

    Per ulteriori informazioni, consulta Impostazioni di rete.

  9. Quello AMI selezionato include uno o più volumi di archiviazione, incluso il volume del dispositivo principale. In Configure storage (Configura archiviazione), è possibile specificare altri volumi da collegare all'istanza scegliendo Add New Volume (Aggiungi nuovo volume). Per ulteriori informazioni, consulta Per configurare l'archiviazione.

  10. In Advanced details (Dettagli avanzati), configura la richiesta di istanza spot nel modo seguente:

    1. In Purchasing option (Opzione di acquisto), seleziona la casella di spunta Request Spot Instances (Richiedi istanze spot).

    2. È possibile mantenere la configurazione predefinita per la richiesta dell'istanza spot o scegliere Customize (Personalizza) (a destra) per specificare impostazioni personalizzate per la richiesta di istanza spot.

      Quando scegli Customize (Personalizza) vengono visualizzati i seguenti campi.

      1. Maximum price (Prezzo massimo): puoi richiedere istanze spot al prezzo Spot, con limite massimo pari al prezzo on demand, oppure specificare l'importo massimo che intendi pagare.

        avvertimento

        Se specifichi un prezzo massimo, le tue istanze verranno interrotte con maggiore frequenza rispetto a quando scegli Nessun prezzo massimo.

        • No maximum price (Nessun prezzo massimo): l'istanza spot verrà avviata al prezzo Spot corrente. Il prezzo non supererà mai il prezzo on demand. (Consigliato)

        • Set your maximum price (per instance/hour) (Imposta il prezzo massimo [per istanza/ora]): puoi specificare l'importo massimo che intendi pagare.

          • Se specifichi un prezzo massimo inferiore al prezzo Spot corrente, l'istanza spot non viene avviata.

          • Se specifichi un prezzo massimo superiore al prezzo Spot corrente, la tua istanza spot viene avviata e viene addebitato il prezzo Spot corrente. Dopo l'esecuzione dell'istanza Spot, se il prezzo Spot supera il prezzo massimo, Amazon EC2 interrompe l'istanza Spot.

          • Indipendentemente dal prezzo massimo specificato, ti verrà sempre addebitato il prezzo spot corrente.

          Per esaminare le tendenze del prezzo Spot, consultare Cronologia dei prezzi dell'istanza spot.

      2. Request type (Tipo richiesta): il tipo di richiesta di istanza spot scelto determina cosa succede se l'istanza spot viene interrotta.

        • Una tantum: Amazon EC2 effettua una richiesta una tantum per la tua istanza Spot. Se l'istanza spot viene interrotta, la richiesta non viene inviata di nuovo.

        • Richiesta persistente: Amazon EC2 invia una richiesta persistente per la tua istanza Spot. Se l'istanza spot viene interrotta, la richiesta viene nuovamente inviata per ricostituire l'istanza spot interrotta.

        Se non specifichi un valore, il valore predefinito è una richiesta una tantum.

      3. Valid to (Valido per): la data di scadenza di una richiesta di istanza spot persistente.

        Questo campo non è supportato per le richieste una tantum. Una richiesta una tantum rimane attiva fino a quando tutte le istanze nella richiesta non vengono avviate o non si annulla la richiesta.

        • No request expiry date (Nessuna data di scadenza della richiesta): la richiesta rimane attiva fino a quando non viene annullata.

        • Set your request expiry date (Imposta la data di scadenza della richiesta): la richiesta persistente rimane attiva fino alla data specificata o fino alla cancellazione.

      4. Interruption behavior (Comportamento di interruzione): il comportamento scelto determina cosa succede quando un'istanza spot viene interrotta.

        • Per le richieste persistenti, i valori validi sono Stop (Arresta) e Hibernate (Iberna). Quando un'istanza viene interrotta, vengono addebitati i costi per lo storage di EBS grandi volumi.

          Nota

          Le istanze spot ora utilizzano la stessa funzionalità di ibernazione delle istanze on demand. Per abilitare l'ibernazione, puoi scegliere Iberna qui oppure puoi scegliere Abilita dal campo Comportamento di interruzione/ibernazione che appare più in basso nella procedura guidata di avvio dell'istanza. Per i prerequisiti di ibernazione, consulta la pagina Prerequisiti per l'ibernazione delle EC2 istanze Amazon.

        • Per richieste una tantum, è valido solo il valore Terminate (Termina).

        Se non specifichi un valore, il valore predefinito è Terminate (Termina), che non è valido per una richiesta di istanza spot persistente. Se mantieni il valore predefinito e provi a lanciare una richiesta di istanza spot persistente, riceverai un errore.

        Per ulteriori informazioni, consulta Comportamento delle interruzioni delle istanze Spot.

  11. Nel pannello Summary (Riepilogo), per Number of instances (Numero di istanze), inserisci il numero di istanze da avviare.

    Nota

    Amazon EC2 crea una richiesta separata per ogni istanza Spot.

  12. Nel pannello Summary (Riepilogo), rivedi i dettagli della tua istanza e apporta tutte le modifiche necessarie. Dopo aver inviato la richiesta di istanza spot, non è più possibile modificare i parametri della richiesta. È possibile passare direttamente a una sezione nella procedura guidata di avvio delle istanze scegliendo il relativo collegamento nel pannello Summary (Riepilogo). Per ulteriori informazioni, consulta Riepilogo.

  13. Quando si è pronti per avviare l'istanza, scegliere Launch instance (Avvia istanza).

    Se l'istanza non riesce ad avviarsi o lo stato passa immediatamente a terminated anziché running, consultare Risolvi i problemi di avvio delle EC2 istanze Amazon.

Old console
Per creare una richiesta di istanza spot utilizzando la procedura guidata per l'avvio delle istanze
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione nella parte superiore della schermata seleziona la regione.

  3. Dalla dashboard della EC2 console Amazon, scegli Launch Instance.

  4. Nella pagina Choose an Amazon Machine Image (AMI), scegli unAMI. Per ulteriori informazioni, consulta Fase 1: Scegli l'immagine di una macchina Amazon (AMI).

  5. Nella pagina Choose an Instance Type (Scegli un tipo di istanza), seleziona la configurazione hardware e le dimensioni dell'istanza da avviare, quindi scegli Next: Configure Instance Details (Successivo: Configura i dettagli dell'istanza). Per ulteriori informazioni, consulta Fase 2: scegliere un tipo di istanza.

  6. Nella pagina Configure Instance Details (Configura i dettagli dell'istanza) configura la richiesta di istanza spot nel modo seguente:

    • Number of instances (Numero di istanze): immettere il numero di istanze da avviare.

      Nota

      Amazon EC2 crea una richiesta separata per ogni istanza Spot.

    • (Opzionale) Per assicurarsi di disporre del numero corretto di istanze per la gestione del carico di richieste dell'applicazione, è possibile scegliere Launch into Auto Scaling Group (Avvio nel gruppo Auto Scaling) per creare una configurazione di avvio e un gruppo Auto Scaling. La funzionalità Auto Scaling dimensiona il numero di istanze nel gruppo in base alle specifiche. Per ulteriori informazioni, consulta la Amazon EC2 Auto Scaling User Guide.

    • Purchasing option (Opzioni di acquisto): selezionare Request Spot Instances (Richiedi istanze spot) per avviare un'istanza spot. Quando scegli questa opzione vengono visualizzati i seguenti campi.

    • Prezzo corrente: il prezzo Spot corrente in ogni zona di disponibilità viene visualizzato per il tipo di istanza selezionato.

    • (Opzionale) Prezzo massimo: puoi lasciare vuoto il campo oppure specificare l'importo massimo che sei disposto a pagare.

      avvertimento

      Se specifichi un prezzo massimo, le tue istanze verranno interrotte con maggiore frequenza rispetto a quando lasci il campo vuoto.

      • Se specifichi un prezzo massimo inferiore al prezzo spot corrente, l'istanza spot non verrà avviata.

      • Se specifichi un prezzo massimo superiore al prezzo Spot corrente, la tua istanza spot viene avviata e viene addebitato il prezzo Spot corrente. Dopo l'esecuzione dell'istanza Spot, se il prezzo Spot supera il prezzo massimo, Amazon EC2 interrompe l'istanza Spot.

      • Indipendentemente dal prezzo massimo specificato, ti verrà sempre addebitato il prezzo spot corrente.

      • Se lasci vuoto il campo, pagherai il prezzo spot corrente.

    • Persistent request (Richiesta persistente): scegli Richiesta persistente per inviare nuovamente la richiesta di istanza spot nel caso in cui la richiesta venga interrotta.

    • Interruption behavior (Comportamento di interruzione): per impostazione predefinita, il servizio Spot termina un'istanza spot quando viene interrotta. Se scegli Richiesta persistente, puoi specificare che il servizio Spot si arresti o si iberni quando la tua istanza spot viene interrotta. Per ulteriori informazioni, consulta Comportamento delle interruzioni delle istanze Spot.

    • (Opzionale) Request valid to (Richiesta valida fino a): scegli Modifica (Edit) per specificare quando scade la richiesta di istanza spot.

    Per ulteriori informazioni sulla configurazione di una istanza spot, consulta Fase 3: configurare i dettagli dell'istanza.

  7. Quello AMI selezionato include uno o più volumi di storage, incluso il volume del dispositivo root. Nella pagina Add Storage (Aggiungi storage), è possibile specificare altri volumi da collegare all'istanza scegliendo Add New Volume (Aggiungi nuovo volume). Per ulteriori informazioni, consulta Fase 4: aggiungere archiviazione.

  8. Nella pagina Add Tags (Aggiungi tag), specificare i tag immettendo le combinazioni di chiave e valore. Per ulteriori informazioni, consulta Fase 5: aggiungi i tag.

  9. Nella pagina Configure Security Group (Configura il gruppo di sicurezza), selezionare un gruppo di sicurezza per definire le regole del firewall per l'istanza. Tali regole specificano quale traffico di rete in entrata deve viene distribuito sulla tua istanza. Tutto il traffico rimanente verrà ignorato. Per ulteriori informazioni sui gruppi di sicurezza, consulta Gruppi EC2 di sicurezza Amazon per le tue EC2 istanze. Seleziona o crea un gruppo di sicurezza e scegli Analizza e avvia. Per ulteriori informazioni, consulta Fase 6: configura il gruppo di sicurezza.

  10. Nella pagina Review Instance Launch (Rivedi l'avvio dell'istanza), controllare i dettagli dell'istanza e apportare le modifiche necessarie scegliendo il collegamento Edit (Modifica) appropriato. Al termine, scegliere Launch (Avvia). Per ulteriori informazioni, consulta Fase 7: rivedere l'avvio dell'istanza e selezionare la coppia di chiavi.

  11. Nella finestra di dialogo Select an existing key pair or create a new key pair (Seleziona una coppia di chiavi esistente o crea una nuova coppia di chiavi), è possibile scegliere una coppia di chiavi esistenti o crearne una nuova. Ad esempio, seleziona Scegli una coppia di chiavi esistente, quindi scegli la coppia di chiavi creata durante la configurazione. Per ulteriori informazioni, consulta Coppie di EC2 chiavi Amazon e EC2 istanze Amazon.

    Importante

    Se scegli l'opzione Procedi senza key pair, non sarai in grado di connetterti all'istanza a meno AMI che non scegli un'istanza configurata per consentire agli utenti un altro modo di accedere.

  12. Per avviare l'istanza, selezionare la casella di controllo di conferma, quindi scegliere Launch Instances (Avvia istanze).

    Se l'istanza non riesce ad avviarsi o lo stato passa immediatamente a terminated anziché running, consultare Risolvi i problemi di avvio delle EC2 istanze Amazon.

AWS CLI
Per creare una richiesta di istanza spot utilizzando run-instances

Utilizza il comando run-instances e specifica le opzioni dell'istanza spot nel parametro --instance-market-options.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t2.micro \ --count 5 \ --subnet-id subnet-08fc749671b2d077c \ --key-name MyKeyPair \ --security-group-ids sg-0b0384b66d7d692f9 \ --instance-market-options file://spot-options.json

Di seguito è riportata la struttura dei dati da specificare nel JSON file--instance-market-options. Puoi inoltre specificare ValidUntil e InstanceInterruptionBehavior. Se non specifichi un campo nella struttura dati viene utilizzato il valore predefinito.

Nell'esempio seguente viene creata una richiesta persistent.

{ "MarketType": "spot", "SpotOptions": { "SpotInstanceType": "persistent" } }

 

Per creare una richiesta di istanza Spot utilizzando request-spot-instances

Nota

Sconsigliamo vivamente di utilizzare il request-spot-instancescomando per richiedere un'istanza Spot perché si tratta di un'istanza legacy API senza investimenti pianificati. Per ulteriori informazioni, consulta Qual è il metodo di richiesta Spot migliore da utilizzare?

Utilizza il request-spot-instancescomando per creare una richiesta una tantum.

aws ec2 request-spot-instances \ --instance-count 5 \ --type "one-time" \ --launch-specification file://specification.json

Usa il request-spot-instancescomando per creare una richiesta persistente.

aws ec2 request-spot-instances \ --instance-count 5 \ --type "persistent" \ --launch-specification file://specification.json

Per i file di esempio delle specifiche di lancio da utilizzare con questi comandi, consultare Esempio delle specifiche di avvio di una richiesta di istanza spot. Se scarichi un file delle specifiche di avvio dalla console Spot Requests, devi invece utilizzare il request-spot-fleetcomando (la console Spot Requests specifica una richiesta di istanza Spot utilizzando una flotta Spot).

Trova le tue istanze Spot

Amazon EC2 lancia un'istanza Spot quando la capacità è disponibile. Un'istanza spot viene eseguita fino a quando non viene interrotta o fino a quando non la si termina.

Un'istanza Spot viene visualizzata nella pagina Istanze della console, insieme alle istanze On-Demand. Utilizza la seguente procedura per trovare le tue istanze Spot.

Console
Per trovare le tue istanze Spot utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Per trovare tutte le istanze Spot, nel riquadro di ricerca, scegli Instance lifecycle=spot.

  4. Per verificare che un'istanza sia un'istanza Spot, seleziona l'istanza, scegli la scheda Dettagli e controlla il valore di Lifecycle. Il valore per un'istanza Spot è spot e il valore per un'istanza On-Demand è. normal

AWS CLI
Per trovare le tue istanze Spot, utilizza AWS CLI

Usa il comando describe-instances con l'opzione. --filters

aws ec2 describe-instances \ --filters "Name=instance-lifecycle,Values=spot"
Per determinare se un'istanza è un'istanza Spot

Utilizzate il comando describe-instances, utilizzando l'--queryopzione per controllare il valore del ciclo di vita.

aws ec2 describe-instances \ --instance-ids i-0123a456700123456 \ --query "Reservations[*].Instances[*].InstanceLifecycle" \ --output text

Se l'output è, l'istanza è un'spotistanza Spot. Se non è presente alcun output, l'istanza è un'istanza On-Demand.

Utilizza la seguente procedura per trovare le istanze Spot lanciate da una richiesta specifica di istanza Spot o Fleet Spot.

Console
Per trovare le istanze Spot per una richiesta utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, selezionare Spot Requests (Richieste Spot). L'elenco contiene sia le richieste di istanze Spot che le richieste Spot Fleet.

  3. Se una richiesta di istanza Spot viene soddisfatta, Capacity è l'ID dell'istanza Spot. Per un Parco istanze spot, Capacity (Capacità) indica quanta capacità richiesta è stata soddisfatta. Per visualizzare le IDs istanze in un parco istanze Spot, scegli la freccia di espansione oppure seleziona il parco istanze e scegli Istanze.

  4. Per un parco veicoli Spot, Capacity indica quanta parte della capacità richiesta è soddisfatta. Per visualizzare le istanze IDs di un parco istanze Spot, scegli l'ID del parco istanze per aprire la relativa pagina dei dettagli e individuare il riquadro Istanze.

AWS CLI
Per trovare le istanze Spot per una richiesta, utilizza il AWS CLI

Usa il describe-spot-instance-requestscomando con l'--queryopzione.

aws ec2 describe-spot-instance-requests \ --query "SpotInstanceRequests[*].{ID:InstanceId}"

Di seguito è riportato un output di esempio:

[ { "ID": "i-1234567890abcdef0" }, { "ID": "i-0598c7d356eba48d7" } ]

Assegnare tag alle richieste di istanza spot

Per categorizzare e gestire le richieste di istanza spot, è possibile contrassegnarle con tag contenenti metadati personalizzati. È possibile assegnare un tag a una richiesta di istanza spot alla sua creazione o successivamente. Puoi assegnare i tag utilizzando la EC2 console Amazon o uno strumento da riga di comando.

Quando applichi un tag a una richiesta di istanza spot, alle istanze e ai volumi che vengono avviati dalla richiesta di istanza spot non viene automaticamente applicato il tag. È necessario applicare esplicitamente il tag alle istanze e ai volumi avviati dalla richiesta di istanza spot. Puoi assegnare un tag a un'istanza spot e ai volumi durante l'avvio o successivamente.

Per ulteriori informazioni sul funzionamento dei tag, consultare Etichetta le tue EC2 risorse Amazon.

Prerequisiti

Concedi all'utente l'autorizzazione per taggare le risorse. Per ulteriori informazioni sulle IAM politiche e sulle politiche di esempio, consultaEsempio: aggiunta di tag alle risorse.

La IAM politica creata è determinata dal metodo utilizzato per creare una richiesta di istanza Spot.

Per concedere a un utente l'autorizzazione ad applicare un tag alle risorse quando usa la procedura guidata per l'avvio dell'istanza o run-instances

Crea una IAM politica che includa quanto segue:

  • L'operazione ec2:RunInstances. Ciò concede all'utente l'autorizzazione per avviare un'istanza.

  • Per Resource, specificare spot-instances-request. Ciò consente agli utenti di creare richieste di istanze spot che richiedono istanze spot.

  • L'operazione ec2:CreateTags. Ciò concede all'utente l'autorizzazione per creare tag.

  • Per Resource, specificare *. Ciò consente agli utenti di applicare un tag a tutte le risorse create durante l'avvio dell'istanza.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLaunchInstances", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "TagSpotInstanceRequests", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

Quando utilizzi l' RunInstances azione per creare richieste di istanze Spot e tagghi le richieste di istanze Spot al momento della creazione, devi essere consapevole di come Amazon EC2 valuta la spot-instances-request risorsa nella RunInstances dichiarazione in cui viene valutata nella IAM politica, come segue:

  • Se non tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 non valuta la spot-instances-request risorsa nell' RunInstancesistruzione.

  • Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la spot-instances-request risorsa nell' RunInstancesistruzione.

Pertanto, per la spot-instances-request risorsa, alla IAM policy si applicano le seguenti regole:

  • Se utilizzi RunInstances per creare una richiesta di istanza Spot e non intendi taggare la richiesta di istanza Spot al momento della creazione, non è necessario consentire esplicitamente la spot-instances-request risorsa; la chiamata avrà esito positivo.

  • Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi taggare la richiesta di istanza Spot al momento della creazione, devi includere la spot-instances-request risorsa nell'istruzione RunInstances allow, altrimenti la chiamata avrà esito negativo.

  • Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi contrassegnare la richiesta di istanza Spot al momento della creazione, devi specificare la spot-instances-request risorsa o includere un * carattere jolly nell'istruzione CreateTags allow, altrimenti la chiamata avrà esito negativo.

Ad esempio, IAM le politiche, incluse le politiche non supportate per le richieste di istanze Spot, consultaUtilizzo delle Istanze spot.

Per concedere a un utente l'autorizzazione a taggare le risorse durante l'utilizzo request-spot-instances

Crea una IAM politica che includa quanto segue:

  • L'operazione ec2:RequestSpotInstances. Ciò concede all'utente l'autorizzazione per creare una richiesta di istanza spot.

  • L'operazione ec2:CreateTags. Ciò concede all'utente l'autorizzazione per creare tag.

  • Per Resource, specificare spot-instances-request. Ciò consente agli utenti di applicare il tag solo alla richiesta di istanza spot.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotInstanceRequest", "Effect": "Allow", "Action": [ "ec2:RequestSpotInstances", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-instances-request/*" }

Assegnare tag a una nuova richiesta di istanza spot

Console
Per assegnare tag a una nuova richiesta di istanza spot utilizzando la console
  1. Seguire la procedura Creare una richiesta di istanza spot.

  2. Per aggiungere un tag, scegli Aggiungi tag nella pagina Aggiungi tag e immetti la chiave e il valore per il tag. Scegli Aggiungi un altro tag per ogni tag aggiuntivo.

    Per ogni tag, è possibile assegnare lo stesso tag alla richiesta di istanza spot, alle istanze spot e ai volumi. Per applicare tag a tutti e tre, assicurarsi che Instances (Istanze), Volumes (Volumi) e Requests (Richieste) siano selezionati. Per applicare solo uno o due tag, assicurati che le risorse a cui vuoi applicare il tag siano selezionate e che le altre risorse siano cancellate.

  3. Completare i campi obbligatori per creare una richiesta di istanza spot, quindi scegliere Launch (Avvia). Per ulteriori informazioni, consulta Creare una richiesta di istanza spot.

AWS CLI
Per etichettare una nuova richiesta di istanza Spot utilizzando il AWS CLI

Per assegnare tag a una richiesta di istanza spot al momento della creazione, configurare la richiesta di istanza spot nel modo seguente:

  • Specifica i tag per la richiesta di istanza spot utilizzando il parametro --tag-specification.

  • Per ResourceType, specificare spot-instances-request. Indicando un altro valore, la richiesta di istanza spot non riesce.

  • Per Tags, specificare la coppia chiave-valore. È possibile specificare più coppie chiave-valore.

Nel seguente esempio, alla richiesta di istanza spot sono assegnati due tag: Key=Environment e Value=Production, e Key=Cost-Center e Value=123.

aws ec2 request-spot-instances \ --instance-count 5 \ --type "one-time" \ --launch-specification file://specification.json \ --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment,Value=Production},{Key=Cost-Center,Value=123}]'

Assegnare tag a una richiesta di istanza spot esistente

Console
Per assegnare tag a una richiesta di istanza spot esistente utilizzando la console

Dopo aver creato una richiesta di istanza spot, è possibile aggiungere tag alla richiesta del parco istanze spot utilizzando la console.

  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, selezionare Spot Requests (Richieste Spot).

  3. Seleziona la richiesta di istanza spot.

  4. Scegliere la scheda Tags e scegliere Create Tag (Crea tag).

Per assegnare tag a un'istanza spot esistente utilizzando la console

Dopo che la richiesta di istanza spot ha avviato l'istanza spot, puoi aggiungere i tag all'istanza utilizzando la console. Per ulteriori informazioni, consulta Aggiungi e rimuovi tag utilizzando la console.

AWS CLI
Per etichettare una richiesta di istanza Spot o un'istanza Spot esistente utilizzando il AWS CLI

Utilizzare il comando create-tags per aggiungere un tag alle risorse esistenti. Nell'esempio seguente, la richiesta di istanza spot esistente e l'istanza spot includono il tag Key=purpose e Value=test.

aws ec2 create-tags \ --resources sir-08b93456 i-1234567890abcdef0 \ --tags Key=purpose,Value=test

Visualizzare i tag della richiesta di istanza spot

Console
Per visualizzare i tag di una richiesta di istanza spot utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, selezionare Spot Requests (Richieste Spot).

  3. Selezionare la richiesta di istanza spot e scegliere la scheda Tags.

AWS CLI
Per descrivere i tag della richiesta di istanza spot

Puoi visualizzare i tag di una richiesta di istanza Spot descrivendo la richiesta di istanza Spot. Utilizza il describe-spot-instance-requestscomando per visualizzare la configurazione della richiesta di istanza Spot specificata, che include tutti i tag specificati per la richiesta.

aws ec2 describe-spot-instance-requests \ --spot-instance-request-ids sir-EXAMPLE1 \ --query "SpotInstanceRequests[*].Tags"

Di seguito è riportato un output di esempio.

[ [ { "Key": "Environment", "Value": "Production" }, { "Key": "Department", "Value": "101" } ] ]

Annulla una richiesta di istanza spot

È possibile annullare la richiesta di istanza spot se non la si desidera più. È possibile annullare solo le richieste di istanza spot che risultano open, active o disabled.

  • La richiesta di istanza spot risulta open quando la richiesta non è stata ancora soddisfatta e non è stata avviata alcuna istanza.

  • La richiesta di istanza spot risulta active quando la richiesta è stata soddisfatta e, di conseguenza, sono state avviate le istanze spot.

  • La richiesta di istanza spot risulta disabled quando si arresta l'istanza spot.

Se la richiesta di istanza spot risulta active e ha un'istanza spot associata in esecuzione, l'annullamento della richiesta non termina l'istanza. Per ulteriori informazioni sulla terminazione delle istanze spot, consulta Terminare un'istanza spot.

Console
Per annullare una richiesta di istanza Spot utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, selezionare Spot Requests (Richieste Spot).

  3. Seleziona la richiesta di istanza Spot.

  4. Scegli Operazioni e Annulla richiesta.

  5. (Facoltativo) Se si è finito con le Istanze spot associate, è possibile terminarle. Nella finestra di dialogo Elimina richiesta Spot seleziona Termina istanze, quindi scegli Conferma.

AWS CLI
Per annullare una richiesta di istanza Spot utilizzando il AWS CLI

Utilizza il cancel-spot-instance-requestscomando per annullare la richiesta di istanza Spot specificata.

aws ec2 cancel-spot-instance-requests --spot-instance-request-ids sir-08b93456

Arrestare un'istanza spot

Se non hai bisogno delle tue istanze Spot ora, ma desideri riavviarle in un secondo momento senza perdere i dati persistenti nel EBS volume Amazon, puoi interromperle. I passaggi per arrestare un'istanza spot sono simili a quelli richiesti per arrestare un'istanza on demand.

Nota

Durante l'arresto di un'istanza spot, è possibile modificare alcuni attributi dell'istanza, ma non il tipo di istanza.

Non addebitiamo l'utilizzo per un'istanza Spot interrotta o i costi di trasferimento dei dati, ma addebitiamo lo spazio di archiviazione per qualsiasi EBS volume Amazon.

Limitazioni
  • È possibile arrestare un'istanza spot solo se l'istanza spot è stata avviata da una richiesta Spot persistent.

  • Non è possibile arrestare un'istanza spot se la richiesta Spot associata è stata annullata. Se la richiesta dell'istanza spot viene annullata, è possibile solo terminare l'istanza spot.

  • Non è possibile interrompere un'istanza spot se fa parte di un parco istanze o un gruppo di avvio o di un gruppo di zone di disponibilità.

Console
Per interrompere un'istanza Spot utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Seleziona l'istanza Spot. Se non hai salvato l'ID dell'istanza Spot, vediTrova le tue istanze Spot.

  4. Scegli Instance state (Stato istanza), Stop instance (Arresta istanza).

  5. Quando viene richiesta la conferma, selezionare Stop (Arresta).

AWS CLI
Per interrompere un'istanza Spot utilizzando AWS CLI

Utilizza il comando stop-instances per arrestare manualmente le tue istanze Spot.

aws ec2 stop-instances --instance-ids i-1234567890abcdef0

Avviare un'istanza spot

È possibile avviare un'istanza spot che hai arrestato in precedenza.

Prerequisiti

È possibile avviare un'istanza spot solo se:

  • L'istanza spot è stata arrestata manualmente.

  • L'istanza Spot è un'istanza supportata. EBS

  • La capacità dell'istanza spot è disponibile.

  • Il prezzo Spot è inferiore al prezzo massimo.

Limitazioni
  • Non è possibile avviare un'istanza spot se fa parte del parco istanze o del gruppo di avvio o di un gruppo di zone di disponibilità.

I passaggi per avviare un'istanza spot sono simili a quelli richiesti per avviare un'istanza on demand.

Console
Per avviare un'istanza Spot utilizzando la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Seleziona l'istanza Spot. Se non hai salvato l'ID dell'istanza Spot, vediTrova le tue istanze Spot.

  4. Scegli Instance state (Stato istanza), Start instance (Avvia istanza).

AWS CLI
Per avviare un'istanza Spot AWS CLI

Utilizza il comando start-instances per avviare manualmente le tue istanze Spot.

aws ec2 start-instances --instance-ids i-1234567890abcdef0

Terminare un'istanza spot

Se si termina un'istanza spot in esecuzione o arrestata che era stata avviata da una richiesta Spot persistente, la richiesta dell'istanza spot passa allo stato open per consentire che venga avviata una nuova istanza spot. Per garantire che non venga avviata una nuova istanza spot, è necessario annullare prima la richiesta Spot.

Se si annulla una richiesta dell'istanza spot active che ha un'istanza spot in esecuzione, l'istanza spot in esecuzione non viene terminata automaticamente ma sarà necessario terminarla manualmente.

Se annulli una richiesta di istanza disabled Spot che ha un'istanza Spot interrotta, l'istanza Spot interrotta viene automaticamente interrotta dal servizio Amazon EC2 Spot. Potrebbe verificarsi un breve ritardo tra l'annullamento della richiesta dell'istanza spot e il momento in cui il servizio Spot termina l'istanza spot.

Per ulteriori informazioni, consulta Annulla una richiesta di istanza spot.

Console
Per terminare manualmente un'istanza spot utilizzando la console
  1. Prima di terminare un'istanza, verifica di non perdere alcun dato controllando che i EBS volumi Amazon non vengano eliminati al momento della chiusura e di aver copiato tutti i dati necessari dai volumi di Instance Store su uno storage persistente, come Amazon o Amazon EBS S3.

  2. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  3. Nel pannello di navigazione, seleziona Instances (Istanze).

  4. Seleziona l'istanza Spot. Se non hai salvato l'ID dell'istanza Spot, vediTrova le tue istanze Spot.

  5. Scegli Instance state (Stato istanza), Terminate instance (Termina istanza).

  6. Quando viene richiesta la conferma, seleziona Terminate (Interrompi).

AWS CLI
Per terminare manualmente un'istanza Spot utilizzando il AWS CLI

Utilizza il comando terminate-instances per terminare manualmente le tue istanze Spot.

aws ec2 terminate-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7