Condividi tramite


Macchine virtuali spot di Azure per set di scalabilità di macchine virtuali

L'uso di Azure Spot Macchine virtuali nei set di scalabilità consente di sfruttare la capacità inutilizzata con un notevole risparmio sui costi. In qualsiasi momento in cui Azure richiede di nuovo la capacità, l'infrastruttura di Azure rimuove le istanze di macchine virtuali spot di Azure. Di conseguenza, le istanze di macchine virtuali spot di Azure sono ideali per i carichi di lavoro che possono gestire interruzioni come processi di elaborazione batch, ambienti di sviluppo/test, 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 distribuiscono istanze di macchine virtuali spot di Azure nei set di scalabilità, Azure alloca l'istanza solo se è disponibile la capacità, ma non esiste alcun contratto di servizio per queste istanze. Un set di scalabilità di macchine virtuali spot di Azure viene distribuito in un singolo dominio di errore e non offre garanzie di disponibilità elevata.

Limiti

Le dimensioni 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)

La macchina virtuale spot di Azure può essere distribuita in qualsiasi area, ad eccezione di Microsoft Azure gestita 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 i provider di servizi cloud, fare riferimento al Centro per i partner o contattare direttamente il partner.

Prezzi

I prezzi per le istanze di macchine virtuali spot di Azure sono variabili, in base all'area e alla SKU. Per altre informazioni, vedere Prezzi per Linux e Windows.

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

Criteri di rimozione

Quando si crea un set di scalabilità usando l'Macchine virtuali spot di Azure, è possibile impostare i criteri di rimozione su Deallocare (impostazione predefinita) o Eliminare.

Il criterio Deallocate sposta le istanze rimosse nello stato arrestato-deallocato consentendo di ridistribuire le istanze rimosse. Tuttavia, non è garantito che l'allocazione avrà esito positivo. Le macchine virtuali deallocate vengono conteggiate rispetto alla quota dell'istanza del set di scalabilità e vengono addebitati i costi per i dischi sottostanti.

Se si desidera eliminare le istanze quando vengono rimosse, è possibile impostare i criteri di rimozione da eliminare. Con i criteri di rimozione impostati per l'eliminazione è quindi possibile creare nuove macchine virtuali aumentando il valore della proprietà del numero di istanze di set di scalabilità. Le macchine virtuali rimosse vengono eliminate insieme ai dischi sottostanti e pertanto non verrà addebitato alcun costo per l'archiviazione. È anche possibile usare la funzionalità di scalabilità automatica dei set di scalabilità per provare e compensare automaticamente le macchine virtuali rimosse, ma non esiste alcuna garanzia che l'allocazione abbia esito positivo. È consigliabile usare la funzionalità di scalabilità automatica solo in Azure Spot set di scalabilità di macchine virtuali quando si impostano i criteri di rimozione da eliminare per evitare il costo dei dischi e raggiungere i limiti di quota.

Gli utenti possono acconsentire esplicitamente alla ricezione di notifiche in-VM tramite eventi pianificati di Azure. In questo modo viene visualizzato un messaggio di notifica se le macchine virtuali vengono rimosse e si hanno 30 secondi per completare i processi ed eseguire attività di arresto prima della rimozione.

Cronologia di rimozione

È possibile visualizzare prezzi cronologici e tariffe di rimozione per dimensione in un'area nel portale. Selezionare Visualizza cronologia prezzi e confrontare i prezzi nelle aree vicine per visualizzare una tabella o un grafico dei prezzi per una dimensione specifica. I prezzi e le percentuali di rimozione nelle immagini seguenti sono solo esempi.

Grafico:

Screenshot delle opzioni dell'area con la differenza a livello di prezzi e percentuali di rimozione sotto forma di grafo.

Table:

Screenshot delle opzioni dell'area con la differenza a livello di prezzi e percentuali di rimozione sotto forma di tabella.

Prova e ripristina

Questa funzionalità a livello di piattaforma usa l'intelligenza artificiale per provare automaticamente a ripristinare le istanze di macchine virtuali Spot di Azure rimosse all'interno di un set di scalabilità per mantenere il numero di istanze di destinazione.

Vantaggi di prova e ripristino:

  • Tenta di ripristinare Azure Spot Macchine virtuali rimosso a causa della capacità.
  • È previsto che Azure Spot Macchine virtuali venga eseguito per un periodo di tempo più lungo con una probabilità inferiore di una rimozione attivata dalla capacità.
  • Migliora la durata di una macchina virtuale spot di Azure, in modo che i carichi di lavoro vengano eseguiti per una durata più lunga.
  • Aiuta set di scalabilità di macchine virtuali a mantenere il numero di destinazione per le Macchine virtuali spot di Azure, in modo analogo a mantenere la funzionalità conteggio di destinazione già esistente per le macchine virtuali con pagamento in base al consumo.

Try &restore è disabilitato nei set di scalabilità che usano la scalabilità automatica. Il numero di macchine virtuali nel set di scalabilità è basato sulle regole di scalabilità automatica.

Gruppi di posizionamento

Il gruppo di posizionamento è un costrutto simile a un set di disponibilità di Azure, con domini di errore e domini di aggiornamento specifici. Per impostazione predefinita, un set di scalabilità è costituito da un singolo gruppo di posizionamento con una dimensione massima di 100 VM. Se la proprietà del set di scalabilità chiamata è impostata singlePlacementGroup su false, il set di scalabilità può essere composto da più gruppi di posizionamento e ha un intervallo di 0-1.000 macchine virtuali.

Importante

A meno che non si usi Infiniband con HPC, è consigliabile impostare la proprietà singlePlacementGroup del set di scalabilità su false per abilitare più gruppi di posizionamento per una migliore scalabilità nell'area o nella zona.

Distribuzione di Macchine virtuali Spot di Azure nei set di scalabilità

Per distribuire Azure Spot Macchine virtuali nei set di scalabilità, è possibile impostare il nuovo flag Priorità su Spot. Tutte le macchine virtuali nel set di scalabilità verranno impostate su Spot. Per creare un set di scalabilità con Azure Spot Macchine virtuali, usare uno dei metodi seguenti:

Portale

Il processo per creare un set di scalabilità che usa Azure Spot Macchine virtuali è identico a quello descritto nell'articolo introduttivo. Quando si distribuisce un set di scalabilità, è possibile scegliere di impostare il flag Spot, il tipo di rimozione, i criteri di rimozione e se si vuole provare a ripristinare le istanze: Creare un set di scalabilità con Azure Spot Macchine virtuali

Interfaccia della riga di comando di Azure

Importante

A partire da novembre 2023, i set di scalabilità di macchine virtuali creati con PowerShell e l'interfaccia della riga di comando di Azure avranno per impostazione predefinita la modalità di orchestrazione flessibile se non è specificata alcuna modalità di orchestrazione. Per altre informazioni su questa modifica e sulle azioni da eseguire, vedere Modifica che causa un'interruzione per i clienti di PowerShell/CLI di VMSS - Hub della community Microsoft

Il processo per creare un set di scalabilità con Azure Spot Macchine virtuali è identico a quello descritto nell'articolo introduttivo. È sufficiente aggiungere "--Priority Spot" e aggiungere --max-price. In questo esempio viene usato -1 per --max-price in modo che l'istanza non venga rimossa in base al prezzo.

az vmss create \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --image Ubuntu2204 \
    --orchestration-mode Flexible \
    --single-placement-group false \
    --admin-username azureuser \
    --generate-ssh-keys \
    --priority Spot \
    --eviction-policy Deallocate \
    --max-price -1 \
    --enable-spot-restore True \
    --spot-restore-timeout PT1H

PowerShell

Importante

A partire da novembre 2023, i set di scalabilità di macchine virtuali creati con PowerShell e l'interfaccia della riga di comando di Azure avranno per impostazione predefinita la modalità di orchestrazione flessibile se non è specificata alcuna modalità di orchestrazione. Per altre informazioni su questa modifica e sulle azioni da eseguire, vedere Modifica che causa un'interruzione per i clienti di PowerShell/CLI di VMSS - Hub della community Microsoft

Il processo per creare un set di scalabilità con Azure Spot Macchine virtuali è identico a quello descritto nell'articolo introduttivo. È sufficiente aggiungere "-Priority Spot" e fornire un a -max-price New-AzVmssConfig.

$vmssConfig = New-AzVmssConfig `
    -Location "East US 2" `
    -SkuCapacity 2 `
    -OrchestrationMode "Flexible" `
    -SkuName "Standard_DS2" `
    -Priority "Spot" `
    -max-price -1 `
    -EnableSpotRestore `
    -SpotRestoreTimeout 60 `
    -EvictionPolicy delete

Modelli di Resource Manager

Il processo per creare un set di scalabilità che usa Azure Spot Macchine virtuali è lo stesso dell'articolo introduttivo per Linux o Windows.

Per le distribuzioni di modelli di macchina virtuale spot di Azure, usare"apiVersion": "2019-03-01" o versione successiva.

Aggiungere le priorityproprietà , billingProfile evictionPolicye spotRestoryPolicy alla "virtualMachineProfile":sezione e alla "singlePlacementGroup": false, proprietà alla "Microsoft.Compute/virtualMachineScaleSets" sezione del modello:


{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  },
  "properties": {
    "singlePlacementGroup": false,
    }

        "virtualMachineProfile": {
              "priority": "Spot",
                "evictionPolicy": "Deallocate",
                "billingProfile": {
                    "maxPrice": -1
                },
                "spotRestorePolicy": {
                  "enabled": "bool",
                  "restoreTimeout": "string"
    },
            },

Per eliminare l'istanza dopo la rimozione, modificare il evictionPolicy parametro in Delete.

Simulare un'operazione di rimozione

È possibile simulare una rimozione di una macchina virtuale spot di Azure per verificare il livello di risposta dell'applicazione a una rimozione improvvisa.

Sostituire quanto segue con le informazioni:

  • subscriptionId
  • resourceGroupName
  • vmName
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction?api-version=2020-06-01

Response Code: 204 indica che la rimozione simulata ha avuto esito positivo.

Per altre informazioni, vedere Test di una notifica di rimozione simulata.

Domande frequenti

D: Una volta creata, un'istanza di macchina virtuale spot di Azure è la stessa dell'istanza standard?

D: Sì, ad eccezione del fatto che per Azure Spot Virtual Machines non esistono contratti di servizio e che l'istanza può essere eliminata in qualsiasi momento.

D: Cosa si può fare se la macchina virtuale viene eliminata, ma è ancora necessaria capacità?

R: È consigliabile usare macchine virtuali standard anziché istanze di Azure Spot Virtual Machines se si ha immediatamente bisogno di capacità.

D: Come viene gestita la quota per la macchina virtuale spot di Azure?

R: Le istanze di macchine virtuali spot di Azure e le istanze standard hanno pool di quote separati. La quota di macchine virtuali spot di Azure viene 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 la macchina virtuale spot di Azure?

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

D: È possibile convertire i set di scalabilità esistenti in set di scalabilità di macchine virtuali Spot di Azure?

R: No, l'impostazione del Spot flag è supportata solo in fase di creazione.

D: Se si usa low per i set di scalabilità con priorità bassa, è necessario iniziare a usare Spot invece?

R: Per il momento, entrambi low e Spot funzioneranno, ma è consigliabile iniziare a eseguire la transizione all'uso di Spot.

D: È possibile creare un set di scalabilità con macchine virtuali normali e Macchine virtuali spot di Azure?

R: No, un set di scalabilità non può supportare più di un tipo di priorità.

D: È possibile usare la scalabilità automatica con Azure Spot set di scalabilità di macchine virtuali?

R: Sì, è possibile impostare regole di scalabilità automatica nel set di scalabilità di macchine virtuali spot di Azure. Se le macchine virtuali vengono rimosse, la scalabilità automatica può provare a creare una nuova Macchine virtuali spot di Azure. Tuttavia, tenere presente che questa capacità potrebbe non funzionare.

D: La scalabilità automatica funziona con entrambi i criteri di rimozione (deallocazione ed eliminazione)?

R: Sì, tuttavia è consigliabile impostare i criteri di rimozione da eliminare quando si usa la scalabilità automatica. Questo avviene perché le istanze appena deallocate sono incluse nel calcolo delle capacità nel set di scalabilità. Quando si usa la scalabilità automatica, probabilmente verrà raggiunto rapidamente il numero di istanze di destinazione a causa delle istanze deallocate e rimosse. Inoltre, le operazioni di ridimensionamento potrebbero essere interessate dalle eliminazioni spot. Ad esempio, le istanze del set di scalabilità di macchine virtuali potrebbero scendere al di sotto del numero minimo impostato a causa di più eliminazioni spot durante le operazioni di ridimensionamento.

Q: Dove è possibile pubblicare le domande?

R: È possibile pubblicare e contrassegnare la domanda con azure-spot in Domande e risposte.

Passaggi successivi

Per informazioni dettagliate sui prezzi, vedere la pagina prezzi del set di scalabilità di macchine virtuali.