Informazioni su sospensione e arresto delle VM in un gruppo di istanze gestite


Questo documento descrive le azioni di sospensione e arresto sulla macchina virtuale (VM) in un gruppo di istanze gestite. Descrive inoltre come la sospensione e l'arresto delle VM in un gruppo di istanze gestite può aiutarti a risparmiare e riducono i tempi di attesa quando sono necessarie più VM nel gruppo.

I gruppi di istanze gestite ti consentono di sospendere e arrestare le VM per:

  • 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 MIG avviando VM preinizializzate dal pool di VM arrestate e sospese in standby.

Casi d'uso

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

Mettere in pausa un'applicazione o un servizio

Puoi sospendere o interrompere VM in un gruppo di istanze gestite per mettere in pausa l'applicazione e riprenderla quando necessario, in base alle al calcolo, all'orario di lavoro, ai momenti di punta e ai limiti di budget. Puoi conservare i risultati dei calcoli correnti 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 elevati durante i giorni feriali e vuoi sospendere le VM nei fine settimana per risparmiare sui costi.
  • Hai un ambiente di test necessario durante le modifiche di implementazione e vuoi interromperlo 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 essere avviato quando il gruppo di istanze gestite viene ridimensionato. Anziché creare nuove VM e attendere che l'app venga inizializzata e sia pronta per l'esecuzione, il gruppo di istanze gestite avvia o riprende le VM dal pool di standby. In questo caso, l'inizializzazione della VM viene completata in anticipo, non in un momento critico di aumento del carico.

I pool di standby sono utili per le applicazioni che richiedono molto tempo per l'inizializzazione, ad esempio nei seguenti scenari:

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

Risorse conservate

La tabella seguente mostra le risorse che vengono conservate quando sospendi e arrestare 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 indirizzo IP esterno quando interrompi o sospendi una VM in un gruppo di istanze gestite, utilizza la configurazione del gruppo di istanze gestite stateful per promuovere l'indirizzo IP esterno a un indirizzo IP statico.

Se a una VM sono collegati dischi SSD locali, quando la VM viene arrestata o sospesa, i dati sui dischi SSD locali non vengono conservati.

Comportamento e configurazione

Il pool di standby è formato da pool di VM arrestate e sospese. Tutte le VM arrestate fanno parte del pool di VM arrestate e tutte le VM sospese fanno parte del pool di VM sospese. 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 target dei pool sospesi e arrestati

Analogamente alle dimensioni target del MIG, i pool arrestati e sospesi hanno le proprie dimensioni target. Puoi controllare la dimensione target del pool di standby nei seguenti modi:

  • Configurando i valori delle dimensioni target interrotte e sospese.
  • Arrestando e sospendendo manualmente le VM, in modo da modificare automaticamente le dimensioni predefinite.

Quando modifichi le dimensioni di destinazione dei 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 l'inizializzazione delle VM, poi sospende o arresta le VM di conseguenza. Per i gruppi di istanze gestite a livello di regione, le VM vengono create in base La forma di distribuzione target configurato.
  • Quando diminuisci la dimensione dei pool sospesi o arrestati, il MIG arbitrariamente e seleziona le VM sospese o arrestate da eliminare.
  • Quando modifichi le dimensioni di destinazione del gruppo di istanze gestite e quelle del pool sospeso o arrestato. contemporaneamente, il gruppo di istanze gestite cerca di ridurre al minimo il numero di operazioni richieste per applicare le modifiche. Ciò significa che il gruppo di istanze gestite potrebbe riprendere o avviare le VM il pool in standby, oppure sospendere o arrestare alcune VM in esecuzione.

Criterio di standby

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

  • Modalità: la modalità in cui il gruppo di istanze gestite utilizza le app sospese delle VM arrestate. Può essere in modalità manual o scale-out-pool.
  • Ritardo iniziale: il tempo per cui il gruppo di istanze mig esegue una VM appena creata prima di sospenderla o arrestarla. Configura il ritardo iniziale per consentire tempo sufficiente per pre-inizializzare l'app e renderla pronta per essere eseguita quando la VM all'avvio o alla ripresa.

Modalità

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

Modalità manuale (predefinita)

In modalità manuale, hai il controllo completo sulle VM che vengono interrotte 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 la gestione delle singole VM.
  • Per arrestare le VM selezionate a scopo di debug.

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

  • Quando tu o il gestore della scalabilità automatica aumentano le dimensioni target 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 le dimensioni target del gruppo di istanze gestite, il gruppo non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.

Scale out della modalità pool

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

La modalità di pool di scale out è utile per accelerare lo scale out della MIG nei seguenti casi:

  • Se usi il gestore della scalabilità automatica di Compute Engine.
  • Se utilizzi gestori della scalabilità automatica di terze parti e vuoi conservare eventuali e integrazione.
  • Se aumenti manualmente la dimensione target delle VM in esecuzione.

In modalità pool di scale out, il gruppo di istanze gestite si comporta nel seguente modo:

  • Quando tu o il gestore della scalabilità automatica aumentano la dimensione target 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, se disponibili, nelle zone in cui viene eseguito lo scaling out del gruppo di istanze gestite.
    2. Dopo il ripristino delle VM sospese, se la dimensione di destinazione del gruppo di istanze gestite non è non è stato ancora raggiunto, il gruppo di istanze gestite avvia le VM arrestate, se disponibili nelle zone in cui il gruppo di istanze gestite fa lo scale out del gruppo di istanze gestite.
    3. Dopo l'avvio delle VM, se la dimensione di destinazione del gruppo di istanze gestite continua a non creato, crea nuove VM da zero.

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

    1. Crea nuove VM per reintegrare i pool sospesi e arrestati in base alle dimensioni predefinite e in conformità con la forma di distribuzione di destinazione in caso di gruppo di istanze gestite a livello di regione.
    2. Le nuove VM vengono messe in stato di esecuzione.
    3. Sospende o arresta le nuove VM dopo il superamento del ritardo iniziale.
  • Quando tu o il gestore della scalabilità automatica riducono le dimensioni target del gruppo di istanze gestite, il gruppo non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.

Ritardo iniziale

Per assicurarti che la VM sia inizializzata correttamente, specifica il ritardo iniziale nel criterio standby. Il ritardo iniziale è il tempo di attesa delle VM prima di essere arrestate o sospese dopo vengono create. In questo modo lo script di inizializzazione ha il tempo di essere completato.

Il ritardo iniziale si verifica nei seguenti casi:

  • Viene creata una nuova VM con lo stato target previsto SUSPENDED o TERMINATED.
  • Un'istanza esistente nello stato RUNNING è sospesa o interrotta.

In entrambi i casi, l'istanza può essere inizializzata prima della sospensione o arrestato.

Quando vuoi utilizzare il pool di 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 per il completamento dell'applicazione prima della sospensione o dell'arresto. In caso contrario, il ripristino o l'avvio delle VM dal pool in standby potrebbe richiedere più tempo rispetto alla creazione delle VM da zero.

Stato target per le VM nei MIG

I gruppi di istanze gestite hanno un'API dichiarativa. Ciò significa che dichiari lo stato target alle VM nel gruppo di istanze gestite, e 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 il target e controllare 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 funziona allo stesso modo dichiarativo. Quando invii una richiesta di sospensione o arresto delle VM, il gruppo di istanze gestite archivia le informazioni sullo stato della destinazione di ogni VM e avvia le operazioni necessarie raggiungerlo.

Quando elencare le VM gestite in un gruppo di istanze gestite, 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 lo stesso stati del ciclo di vita delle singole VM. Di seguito sono riportati esempi di possibili operazioni su un gruppo di istanze gestite e i valori associati del campo targetStatus:

  • Crea la nuova VM e sospendila dopo l'inizializzazione.
    • Stato target della VM: SUSPENDED.
  • Riprendi una VM precedentemente sospesa.
    • Stato della destinazione della VM: RUNNING
  • Arresta una VM in esecuzione in precedenza.
    • Stato della destinazione della VM: STOPPED
  • Avvia una VM precedentemente arrestata.
    • 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 Bare Metal.
    • Non puoi sospendere un'istanza utilizzando le procedure standard integrate nell'ambiente ospite. Comandi, ad esempio systemctl suspend in Ubuntu 16.04 e successivi, non sono disponibili. L'indicatore "in-ospite" viene ignorato.
    • Puoi sospendere un'istanza solo per un massimo di 60 giorni prima che la VM venga arrestata automaticamente.
    • Non puoi sospendere istanze con più di 208 GB di memoria.
    • Puoi sospendere le istanze prerilasciabili, ma quest'ultima potrebbe essere è stato risolto prima della sospensione.
    • Non puoi sospendere una Confidential VM.
    • Non puoi sospendere una VM con dischi protetti tramite CSEK collegati.
  • In un gruppo di istanze gestite a livello di regione con forma di distribuzione e istanza di destinazione EVEN ridistribuzione abilitata, non puoi sospendere, interrompere, riprendere o avviare VM nel gruppo. Per gestire un pool in standby, imposta le dimensioni target del sospesi e arrestati i pool.
  • Non puoi utilizzare la modalità pool di scale out se hai configurato una seconda istanza modello per canary update 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 costi seguenti:

  • Qualsiasi utilizzo di disco permanente per il disco di avvio ed eventuali dischi aggiuntivi collegate alla VM. Per ulteriori informazioni, consulta la sezione Prezzi dei dischi permanenti.
  • Eventuali IP statici associati alla VM. Per ulteriori informazioni, consulta la sezione relativa ai prezzi per gli IP.
  • Nel caso delle VM sospese, la memoria della VM e lo stato del dispositivo. Per ulteriori informazioni, consulta Prezzi delle istanze VM.

Passaggi successivi