Usare Azure Spot Virtual Machines

Si applica a: ✔️ Macchine virtuali ✔️ Linux Macchine virtuali ✔️ Windows Set di scalabilità flessibili Set ✔️ di scalabilità uniformi

L'uso di Azure Spot Macchine virtuali consente di sfruttare la capacità inutilizzata con un notevole risparmio sui costi. Ogni volta che Azure necessita di nuovo di capacità, l'infrastruttura di Azure eliminerà le macchine virtuali di Azure Spot Virtual Machines. Le macchine virtuali di Azure Spot Virtual Machines sono pertanto ideali per i carichi di lavoro in grado di gestire le interruzioni, come i processi di elaborazione batch, gli ambienti di sviluppo/test, i carichi di lavoro di calcolo di grandi dimensioni e altro ancora.

La quantità di capacità disponibile dipende dalle dimensioni, dall'area, dal momento della giornata e da altri fattori. Quando si distribuisce Azure Spot Macchine virtuali, Azure allocherà le macchine virtuali se è disponibile la capacità, ma non esiste alcun contratto di servizio per queste macchine virtuali. Una macchina virtuale di Azure Spot Virtual Machines non offre garanzie di disponibilità elevata. In qualsiasi momento in cui Azure richiede di nuovo la capacità, l'infrastruttura di Azure rimuoverà Azure Spot Macchine virtuali con preavviso di 30 secondi.

YouTube video about Spot VMs and reducing operational costs of stateless workloads.

Criteri di rimozione

Le macchine virtuali possono essere eliminate in base alla capacità o al prezzo massimo impostato. Quando si crea una macchina virtuale spot di Azure, è possibile impostare i criteri di rimozione su Deallocare (impostazione predefinita) o Eliminare.

Il criterio Deallocate sposta la macchina virtuale nello stato di arresto deallocato, consentendo di ridistribuirla in un secondo momento. Tuttavia, non esiste alcuna garanzia che l'allocazione avrà esito positivo. Le macchine virtuali deallocate verranno conteggiate in base alla quota e verranno addebitati i costi di archiviazione per i dischi sottostanti.

Se si vuole eliminare la macchina virtuale quando viene rimossa, è possibile impostare i criteri di rimozione da eliminare. Le macchine virtuali rimosse vengono eliminate insieme ai dischi sottostanti, quindi non si continuerà a essere addebitati i costi per l'archiviazione.

È possibile acconsentire esplicitamente alla ricezione di notifiche in-VM tramite eventi pianificati di Azure. In questo modo riceveranno una notifica se le macchine virtuali vengono eliminate e avranno a disposizione 30 secondi per completare i processi ed eseguire le attività di arresto prima dell'eliminazione.

Opzione Risultato
Il prezzo massimo è impostato su >= il prezzo corrente. La macchina virtuale viene distribuita se la capacità e la quota sono disponibili.
Il prezzo massimo è impostato sul < prezzo corrente. La macchina virtuale non viene distribuita. Verrà visualizzato un messaggio di errore che indica che il prezzo massimo deve essere >= prezzo corrente.
Riavvio di una macchina virtuale arrestata/deallocata se il prezzo massimo è >= il prezzo corrente Se è presente capacità e quota, la macchina virtuale viene distribuita.
Riavvio di una macchina virtuale arrestata/deallocata se il prezzo massimo è < il prezzo corrente Verrà visualizzato un messaggio di errore che indica che il prezzo massimo deve essere >= prezzo corrente.
Il prezzo per la macchina virtuale è salito ed è ora > il prezzo massimo. La macchina virtuale viene eliminata. Si riceve una notifica 30 secondi prima dell'eliminazione effettiva.
Dopo la rimozione, il prezzo della macchina virtuale torna a essere < il prezzo massimo. La macchina virtuale non verrà riavviata automaticamente. L'utente può riavviare la macchina virtuale autonomamente e verrà addebitato il prezzo corrente.
Se il prezzo massimo è impostato su -1 La macchina virtuale non verrà rimossa per motivi di prezzo. Il prezzo massimo corrisponderà al prezzo corrente, fino al prezzo per le macchine virtuali standard. Non verrà mai addebitato al di sopra del prezzo standard.
Modifica del prezzo massimo È necessario deallocare la VM per modificare il prezzo massimo. Deallocare la VM, impostare un nuovo prezzo massimo, quindi aggiornare la VM.

Suggerimento

Vedere la guida alla rimozione spot di macchine virtuali di Azure per informazioni su come creare un carico di lavoro interrompibile affidabile in Azure.

Limiti

Le dimensioni della macchina virtuale seguenti non sono supportate per l'Macchine virtuali Spot di Azure:

  • Serie B
  • Versioni promo di qualsiasi dimensione (ad esempio, dimensioni promo Dv2, NV, NC, H)

Azure Spot Macchine virtuali può essere distribuito in qualsiasi area, ad eccezione di Microsoft Azure gestito da 21Vianet.

Sono attualmente supportati i tipi di offerta seguenti:

  • Enterprise Agreement
  • Codice dell'offerta con pagamento in base al consumo (003P)
  • Sponsorizzato (0036P e 0136P)
  • Per Cloud Service Provider (CSP), vedere il Centro per i partner o contattare direttamente il partner.

Prezzi

I prezzi di Azure Spot Macchine virtuali sono variabili, in base all'area e alla SKU. Per altre informazioni, vedere i prezzi delle macchine virtuali per Linux e Windows.

È anche possibile eseguire query sulle informazioni sui prezzi usando l'API prezzi al dettaglio di Azure per ottenere informazioni sui prezzi Spot. meterName e skuName conterrà Spotentrambi .

Con i prezzi variabili, è possibile impostare un prezzo massimo, in dollari USA (USD), usando fino a cinque cifre decimali. Ad esempio, il valore 0.98765sarebbe un prezzo massimo di 0,98765 USD all'ora. Se si imposta il prezzo massimo su -1, la macchina virtuale non verrà eliminata in base al prezzo. Il prezzo per la macchina virtuale sarà il prezzo corrente per spot o il prezzo per una macchina virtuale standard, che è mai minore, purché sia disponibile capacità e quota.

Prezzi e cronologia di rimozione

Portale

È possibile visualizzare i prezzi cronologici e le tariffe di rimozione per dimensione in un'area nel portale durante la creazione della macchina virtuale. Dopo aver selezionato la casella di controllo Esegui con sconto spot di Azure, verrà visualizzato un collegamento sotto la selezione delle dimensioni della macchina virtuale denominata Visualizza cronologia prezzi e confrontare i prezzi nelle aree vicine. Selezionando il collegamento sarà possibile visualizzare una tabella o un grafico dei prezzi spot per le dimensioni della macchina virtuale specificate. I prezzi e le tariffe di rimozione nelle immagini seguenti sono solo esempi.

Suggerimento

I tassi di rimozione vengono quotati all'ora. Ad esempio, una percentuale di rimozione del 10% indica che una macchina virtuale ha una probabilità del 10% di essere rimossa entro l'ora successiva, in base ai dati cronologici di rimozione degli ultimi 28 giorni.

Grafico:

Screenshot of the region options with the difference in pricing and eviction rates as a chart.

Table:

Screenshot of the region options with the difference in pricing and eviction rates as a table.

Azure Resource Graph

È possibile accedere a livello di codice ai dati pertinenti dello SKU di macchine virtuali spot tramite Azure Resource Graph. Ottenere la cronologia dei prezzi negli ultimi 90 giorni e le tariffe di rimozione per gli ultimi 28 giorni finali per identificare gli SKU che soddisfano meglio le esigenze specifiche.

Vantaggi principali:

  • Eseguire query sui tassi di rimozione spot e gli ultimi mesi di prezzi Spot a livello di codice tramite ARM o ARG Explorer in portale di Azure
  • Creare una query personalizzata per estrarre i dati specifici rilevanti per lo scenario con la possibilità di filtrare in diversi parametri, ad esempio SKU e area
  • Confrontare facilmente i dati tra più aree e SKU
  • Trovare uno SKU o un'area spot diversa con un prezzo inferiore e/o una tariffa di rimozione

Provare le query di esempio seguenti per la cronologia dei prezzi Spot e le tariffe di rimozione usando ARG Explorer in portale di Azure. I dati relativi alla cronologia dei prezzi spot e alle tariffe di rimozione sono disponibili nella SpotResources tabella. 

Query di esempio sulla cronologia dei prezzi spot:

SpotResources 
| where type =~ 'microsoft.compute/skuspotpricehistory/ostype/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where properties.osType =~ 'linux' 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), osType = tostring(properties.osType), location, latestSpotPriceUSD = todouble(properties.spotPrices[0].priceUSD) 
| order by latestSpotPriceUSD asc 

Query di esempio di frequenza di rimozione spot:

SpotResources 
| where type =~ 'microsoft.compute/skuspotevictionrate/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), location, spotEvictionRate = tostring(properties.evictionRate) 
| order by skuName asc, location asc

In alternativa, provare l'API REST ARG per ottenere la cronologia dei prezzi e i dati della cronologia delle velocità di rimozione.

Domande frequenti

D: Una volta creata, una macchina virtuale spot di Azure è la stessa della normale macchina virtuale standard?

R: Sì, tranne che non esiste alcun contratto di servizio per Azure Spot Macchine virtuali e possono essere rimossi in qualsiasi momento.

D: Cosa fare quando si elimina, ma è comunque necessaria capacità?

R: È consigliabile usare macchine virtuali standard invece di Azure Spot Macchine virtuali se è necessaria immediatamente la capacità.

D: Come viene gestita la quota per l'Macchine virtuali spot di Azure?

R: Azure Spot Macchine virtuali avrà un pool di quote separato. La quota spot verrà condivisa tra le macchine virtuali e le istanze del set di scalabilità. Per altre informazioni, vedere Sottoscrizione di Azure e limiti, quote e vincoli dei servizi.

D: È possibile richiedere una quota aggiuntiva per l'Macchine virtuali Spot di Azure?

R: Sì, sarà possibile inviare la richiesta di aumentare la quota per Azure Spot Macchine virtuali tramite il processo di richiesta di quota standard.

D: Dove posso pubblicare domande?

R: È possibile pubblicare e contrassegnare la domanda con azure-spot all'indirizzo Q&A.

D: Come è possibile modificare il prezzo massimo per una macchina virtuale spot?

R: Prima di poter modificare il prezzo massimo, è necessario deallocare la macchina virtuale. È quindi possibile modificare il prezzo massimo nel portale, dalla sezione Configurazione per la macchina virtuale.

Passaggi successivi

Usare l'interfaccia della riga di comando, il portale, il modello di Resource Manager o PowerShell per distribuire l'Macchine virtuali Spot di Azure.

È anche possibile distribuire un set di scalabilità con istanze di macchina virtuale spot di Azure.

Se si verifica un errore, vedere Codici di errore.