Informazioni sulla sospensione e l'arresto delle VM in un gruppo di istanze gestite

Questo documento descrive le azioni di sospensione e arresto sulle istanze di macchine virtuali (VM) in un gruppo di istanze gestite. Descrive inoltre come la sospensione e l'arresto delle VM in un gruppo di istanze gestite possono aiutarti a risparmiare sui costi e a ridurre i tempi di attesa quando hai bisogno di più VM nel gruppo.

I gruppi di istanze gestite consentono di sospendere e arrestare le VM per ottenere quanto segue:

  • Metti in pausa un'applicazione o un servizio che non utilizzi per risparmiare sui costi non pagando le risorse di calcolo.
  • Accelera lo scale out del gruppo di istanze gestite avviando VM pre-inizializzate dal pool in standby di VM arrestate e sospese.

Casi d'uso

Le seguenti sezioni descrivono i casi d'uso tipici per il pool in standby in un gruppo di istanze gestite.

Mettere in pausa un'applicazione o un servizio

Puoi suspend o arrestare le VM in un gruppo di istanze gestite per mettere in pausa l'applicazione e riprenderla quando necessario, in base ai vincoli di calcolo, orario di lavoro, orario di picco e budget. Puoi conservare i risultati dei calcoli attuali su dischi permanenti o, nel caso di VM sospese, in memoria.

Ad esempio, potresti voler sospendere o arrestare le VM in un gruppo di istanze gestite nei seguenti scenari:

  • Hai carichi di lavoro pesanti durante i giorni feriali e vuoi sospendere le VM nei fine settimana per risparmiare sui costi.
  • Disponi di un ambiente di test necessario durante le modifiche all'implementazione, che vuoi interrompere quando non stai sviluppando attivamente.

Accelera lo scale out del gruppo di istanze gestite

Puoi mantenere un pool in standby di VM pre-inizializzate pronto per l'avvio quando il gruppo di istanze gestite viene ridimensionato. Anziché creare nuove VM e attendere che l'app venga inizializzata e diventi pronta per l'esecuzione, il gruppo di istanze gestite avvia o ripristina le VM dal pool in standby. In questo caso, l'inizializzazione della VM viene completata in anticipo, non in un momento critico di aumento del carico.

I pool in standby sono utili per le applicazioni che richiedono molto tempo per essere inizializzate, ad esempio nei seguenti scenari:

  • Applicazioni che devono scaricare contenuti aggiornati su dischi permanenti.
  • Applicazioni che devono memorizzare nella cache contenuti aggiuntivi, tramite download da dispositivi di archiviazione esterni, calcoli locali o una combinazione di entrambi.
  • Applicazioni che devono installare un nuovo software durante l'inizializzazione, come i nodi Kubernetes.

Risorse conservate

La tabella seguente mostra le risorse che vengono conservate quando sospendi e arresti le VM in un gruppo di istanze gestite.

Conservato VM sospesa VM arrestata
Nome VM
IP interno
IP esterno (temporaneo)
IP esterno (statico*)
Dischi
Metadati
Memoria

* Per conservare un IP esterno quando arresti o sospendi una VM in un gruppo di istanze gestite, utilizza la configurazione di un gruppo di istanze gestite per promuovere l'IP esterno a IP statico.

Se a una VM è collegato un disco SSD locale, quando arresti o sospendi la VM, i dati sul disco SSD locale non vengono conservati.

Comportamento e configurazione

Il pool in standby è formato da pool di VM arrestate e sospese. Tutte le VM arrestate diventano parte del pool arrestato e tutte le VM sospese diventano parte del pool sospeso. Se hai configurato la scalabilità automatica in un gruppo di istanze gestite, dopo aver sospeso o arrestato una VM, il gruppo di istanze gestite crea immediatamente nuove VM per mantenere le dimensioni consigliate del gruppo di istanze gestite.

Dimensioni di destinazione dei pool sospesi e arrestati

Analogamente alle dimensioni target del gruppo di istanze gestite, i pool arrestati e sospesi hanno le proprie dimensioni target. Puoi controllare le dimensioni di destinazione del pool in standby nei modi seguenti:

  • Configurando i valori delle dimensioni target interrotte e sospese.
  • arrestando e sospendendo manualmente le VM, modificando automaticamente le dimensioni di destinazione.

Quando modifichi le dimensioni di destinazione per i pool arrestati o sospesi, il gruppo di istanze gestite si comporta come segue:

  • Quando aumenti la dimensione dei pool sospesi o arrestati, il gruppo di istanze gestite crea nuove VM, attende fino all'inizializzazione delle VM, quindi sospende o arresta le VM di conseguenza. Per i gruppi di istanze gestite a livello di regione, le VM vengono create in base alla forma di distribuzione di destinazione configurata.
  • Quando diminuisci la dimensione dei pool sospesi o arrestati, il gruppo di istanze gestite seleziona in modo arbitrario le VM sospese o arrestate da eliminare.
  • Quando modifichi contemporaneamente la dimensione del target del gruppo di istanze gestite e le dimensioni del pool sospeso o arrestato, il gruppo di istanze gestite tenta di ridurre al minimo il numero di operazioni necessarie per applicare le modifiche. Ciò significa che il gruppo di istanze gestite potrebbe riprendere o avviare le VM dal pool in standby oppure sospendere o arrestare alcune VM in esecuzione.

Criterio di standby

Il criterio di standby definisce il comportamento del pool in standby in base ai seguenti parametri da te specificati:

  • Modalità: la modalità in cui il gruppo di istanze gestite utilizza le VM sospese e arrestate. Può essere la modalità manual o scale-out-pool.
  • Ritardo iniziale: il tempo per cui il gruppo di istanze gestite esegue una VM appena creata prima di sospenderla o arrestarla. Configura il ritardo iniziale per concedere tempo sufficiente per la pre-inizializzazione della tua app ed essere pronta per l'esecuzione all'avvio o al riavvio della VM.

Modalità

Puoi scegliere come gestire i pool in standby impostando la modalità operativa. Le opzioni possibili sono due: modalità manual e modalità scale-out-pool.

Modalità manuale (predefinita)

In modalità manuale, hai il pieno controllo sulle VM arrestate e sospese nel gruppo di istanze gestite. La modalità manuale è la modalità predefinita del pool in standby.

La modalità manuale è utile nei seguenti casi:

  • Per mettere in pausa il carico di lavoro e risparmiare sui costi delle VM in esecuzione inattive.
  • Per integrare il gruppo di istanze gestite con gestori della scalabilità automatica di terze parti che richiedono una gestione avanzata delle singole VM.
  • Per arrestare le VM selezionate a scopo di debug.

Con la modalità manuale, il gruppo di istanze gestite non applica alcuna automazione al pool in standby:

  • Quando tu o il gestore della scalabilità automatica aumenta la dimensione di destinazione del gruppo di istanze gestite, quest'ultimo non avvia o riprende automaticamente le VM, ma ne crea di nuove.
  • Quando tu o il gestore della scalabilità automatica riducono la dimensione target del gruppo di istanze gestite, quest'ultimo non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.

Modalità di scale out del pool

In modalità pool di scale out, il gruppo di istanze gestite utilizza le VM dei pool in standby per accelerare lo scale out ripristinando o avviando le istanze. Quindi, il gruppo di istanze gestite reintegra automaticamente il pool in standby con nuove VM per mantenere le dimensioni di destinazione.

La modalità pool di scale out è utile per accelerare lo scale out del gruppo di istanze gestite nei seguenti casi:

  • Se utilizzi il gestore della scalabilità automatica di Compute Engine.
  • Se utilizzi gestori della scalabilità automatica di terze parti e vuoi mantenere l'integrazione esistente,
  • Se aumenti manualmente la dimensione di destinazione delle VM in esecuzione.

Nella modalità pool di scale out, il gruppo di istanze gestite si comporta come segue:

  • Quando tu o il gestore della scalabilità automatica aumenta la dimensione di destinazione delle VM in esecuzione nel gruppo di istanze gestite, il gruppo di istanze gestite agisce nel seguente ordine:

    1. Il gruppo di istanze gestite riprende le VM sospese nel caso in cui siano disponibili nelle zone in cui viene fatto lo scale out del gruppo di istanze gestite.
    2. Dopo il ripristino delle VM sospese, se la dimensione target del gruppo di istanze gestite non è ancora stata raggiunta, il gruppo di istanze gestite avvia le VM arrestate, se disponibili, nelle zone in cui viene fatto lo scale out del gruppo di istanze gestite.
    3. Dopo l'avvio delle VM, se la dimensione di destinazione del gruppo di istanze gestite non è ancora stata raggiunta, crea nuove VM da zero.

    Dopo aver utilizzato il pool in standby per accelerare lo scale out, il gruppo di istanze gestite esegue quanto segue:

    1. Crea nuove VM per reintegrare i pool sospesi e arrestati in base alle dimensioni di destinazione e in base alla forma di distribuzione target nel caso di un gruppo di istanze gestite a livello di regione.
    2. Le nuove VM sono in esecuzione.
    3. Sospende o interrompe le nuove VM una volta trascorso il ritardo iniziale.
  • Quando tu o il gestore della scalabilità automatica riducono la dimensione target del gruppo di istanze gestite, quest'ultimo non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.

Ritardo iniziale

Per assicurarti che la tua VM sia inizializzata correttamente, specifica il ritardo iniziale nel criterio di standby. Il ritardo iniziale è il tempo di attesa delle VM prima di arrestarsi o sospendersi dopo la creazione. In questo modo, lo script di inizializzazione deve essere completato.

Il ritardo iniziale si verifica nei seguenti casi:

  • Viene creata una nuova VM con lo stato di destinazione previsto SUSPENDED o TERMINATED.
  • Un'istanza esistente in stato RUNNING è sospesa o arrestata.

In entrambi i casi, l'istanza può essere inizializzata prima di essere sospesa o arrestata.

Quando vuoi utilizzare il pool in standby per accelerare lo scale out del gruppo di istanze gestite, ti consigliamo di misurare il tempo necessario per l'inizializzazione dell'applicazione sul tipo di macchina selezionato per assicurarti che sia sufficiente affinché l'applicazione sia completamente pronta prima di sospenderla o interromperla. In caso contrario, il ripristino o l'avvio delle VM dal pool in standby potrebbe richiedere più tempo della creazione delle VM da zero.

Stato target per le VM nei gruppi di istanze gestite

I gruppi di istanze gestite hanno un'API dichiarativa. Ciò significa che dichiari lo stato target per le VM nel gruppo di istanze gestite e che la richiesta API ha esito positivo quando lo stato della destinazione viene salvato. Il gruppo di istanze gestite esegue quindi le operazioni necessarie per raggiungere lo stato di destinazione e puoi controllare l'azione attuale e lo stato attuale di tutte le VM che utilizzano l'API.

La sospensione e l'arresto delle VM in un gruppo di istanze gestite funzionano nello stesso modo dichiarativo. Quando invii una richiesta per sospendere o arrestare le VM, il gruppo di istanze gestite archivia le informazioni sullo stato di destinazione di ogni VM e avvia le operazioni necessarie per raggiungerla.

Quando elenchi le VM gestite in un gruppo di istanze gestite, puoi visualizzare il campo targetStatus. Descrive lo stato finale di una VM quando il gruppo di istanze gestite è stabile. Può essere uno dei seguenti valori:

  • RUNNING
  • STOPPED
  • SUSPENDED

Le VM in un gruppo di istanze gestite possono avere gli stessi stati del ciclo di vita delle singole VM. Di seguito sono riportati alcuni esempi di possibili operazioni su un gruppo di istanze gestite e i valori associati del campo targetStatus:

  • Creare la nuova VM e sospenderla dopo l'inizializzazione.
    • Stato target della VM: SUSPENDED.
  • Riprendi una VM precedentemente sospesa.
    • Stato target della VM: RUNNING
  • Arresta una VM in esecuzione in precedenza.
    • Stato target della VM: STOPPED
  • Avviare una VM arrestata in precedenza.
    • Stato target della VM: RUNNING

Limitazioni

  • Le seguenti limitazioni per la sospensione delle VM autonome si applicano anche alla sospensione delle VM in un gruppo di istanze gestite:
    • Non puoi sospendere un'istanza che utilizza una GPU.
    • Non puoi sospendere un'istanza utilizzando i processi standard integrati nell'ambiente guest. I comandi, come il comando systemctl suspend, non sono disponibili in Ubuntu 16.04 e versioni successive. Il segnale in presenza di ospiti viene ignorato.
    • Puoi sospendere un'istanza solo per un massimo di 60 giorni prima che la VM venga arrestata automaticamente.
    • Non puoi sospendere le istanze con più di 208 GB di memoria.
    • Puoi sospendere le istanze prerilasciabili, che però potrebbero essere terminate prima di essere sospese.
    • Non puoi sospendere una Confidential VM.
    • Non puoi sospendere una VM a cui sono collegati dischi protetti da CSEK.
  • In un gruppo di istanze gestite a livello di regione in cui sono abilitate la forma di distribuzione di destinazione EVEN e la ridistribuzione delle istanze, non puoi sospendere, arrestare, riprendere o avviare VM specifiche nel gruppo. Per gestire un pool in standby, imposta le dimensioni target dei pool sospesi e arrestati.
  • Non puoi utilizzare la modalità pool di scale out se hai configurato un secondo modello di istanza per l'aggiornamento canary nel gruppo di istanze gestite.
  • Non puoi sospendere o arrestare le VM in un gruppo di istanze gestite se hai disattivato le riparazioni nel gruppo di istanze gestite.
  • Puoi sospendere un'istanza solo per un massimo di 60 giorni prima che la VM venga arrestata automaticamente.

Prezzi

A ogni VM arrestata e sospesa vengono addebitati i seguenti elementi:

  • Qualsiasi utilizzo di disco permanente per il disco di avvio ed eventuali dischi aggiuntivi collegati alla VM. Per ulteriori informazioni, vedi Prezzi di Persistent Disk.
  • Eventuali IP statici collegati alla VM. Per ulteriori informazioni, consulta la pagina relativa ai prezzi dell'IP.
  • Nel caso di VM sospese, la memoria della VM e lo stato del dispositivo. Per saperne di più, consulta la pagina relativa ai prezzi delle istanze VM.

Passaggi successivi