Questo documento descrive le azioni di sospensione e arresto sulle istanze di macchine virtuali (VM) in un gruppo di istanze gestite (MIG). Descrive inoltre in che modo la sospensione e l'arresto delle VM in un MIG possono aiutarti a risparmiare costi e ridurre i tempi di attesa quando hai bisogno di più VM nel gruppo.
I MIG ti consentono di sospendere e arrestare le VM per:
- Mettere in pausa un'applicazione o un servizio che non utilizzi per risparmiare sui costi non pagando le risorse di calcolo.
- Accelerare lo scale out del MIG avviando le 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 di standby in un MIG.
Metti in pausa un'applicazione o un servizio
Puoi sospendere o arrestare le VM in un MIG per mettere in pausa l'applicazione e riprenderla quando necessario, in base ai calcoli, agli orari di lavoro, alle ore di picco e ai vincoli di budget. Puoi conservare i risultati dei calcoli in corso su dischi permanenti o, nel caso di VM sospese, in memoria.
Ad esempio, potresti voler sospendere o arrestare le VM in un MIG nei seguenti scenari:
- Hai workload 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 sei in fase di sviluppo attiva.
Accelera lo scale out del MIG
Puoi mantenere un pool di VM pre-inizializzate in standby pronto per l'avvio quando il MIG viene ridimensionato. Anziché creare nuove VM e attendere che l'app venga inizializzata e sia pronta per l'esecuzione, il MIG avvia o riprende 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 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 devono memorizzare nella cache contenuti aggiuntivi in memoria tramite download dall'unità di archiviazione esterna, dal calcolo locale 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 arresti le VM in un MIG.
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 arresti o sospendi una VM in un MIG, utilizza la configurazione del MIG 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 è costituito 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 MIG, dopo aver sospeso o arrestato una VM, il MIG crea immediatamente nuove VM per mantenere le dimensioni consigliate del MIG.
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 target per i pool arrestati o sospesi, il MIG si comporta come segue:
- Quando aumenti le dimensioni dei pool sospesi o arrestati, il MIG crea nuove VM, attende che vengano inizializzate e poi le sospende o le arresta di conseguenza. Per i MIG a livello di regione, le VM vengono create in base alla forma di distribuzione target configurata.
- Quando diminuisci le dimensioni dei pool sospesi o arrestati, il MIG seleziona arbitrariamente le VM sospese o arrestate da eliminare.
- Quando modifichi contemporaneamente le dimensioni MIG target e quelle del pool sospeso o arrestato, il MIG tenta di ridurre al minimo il numero di operazioni necessarie per applicare le modifiche. Ciò significa che il MIG potrebbe riprendere o avviare le VM dal pool in standby oppure sospendere o arrestare alcune VM in esecuzione.
Policy di standby
La policy di standby definisce il comportamento del pool di standby in base ai seguenti parametri specificati:
- Modalità: la modalità in cui il MIG utilizza le VM sospese e
arrestate. Può essere la modalità
manual
oscale-out-pool
. - Ritardo iniziale: il tempo per cui il MIG esegue una VM appena creata prima di sospenderla o arrestarla. Configura il ritardo iniziale in modo da lasciare sufficiente tempo per la pre-inizializzazione dell'app e la sua esecuzione al momento dell'avvio o del ripristino della VM.
Modalità
Puoi scegliere come gestire i pool in standby impostando la modalità di funzionamento.
Sono disponibili due opzioni: modalità manual
e modalità scale-out-pool
.
Modalità manuale (predefinita)
In modalità manuale, hai il controllo completo sulle VM che vengono arrestate e sospese nel MIG. La modalità manuale è la modalità predefinita del pool in standby.
La modalità manuale è utile nei seguenti casi:
- Per mettere in pausa il tuo workload e risparmiare sui costi delle VM in esecuzione inattive.
- Per integrare il MIG con gli strumenti di scalabilità automatica di terze parti che richiedono la gestione avanzata delle singole VM.
- Per arrestare le VM selezionate a scopo di debug.
In modalità manuale, il MIG non applica alcuna automazione al pool di standby:
- Quando tu o il gestore della scalabilità automatica aumentate le dimensioni target del MIG, il MIG non avvia o riprende automaticamente le VM, ma ne crea di nuove.
- Quando tu o il gestore della scalabilità automatica riducete le dimensioni target del MIG, il MIG non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.
Modalità scale out del pool
In modalità di scale out del pool, il MIG utilizza le VM dei pool di standby per accelerare lo scale out riprendendole o avviandole. Il MIG reintegra automaticamente il pool in standby con nuove VM per mantenere le dimensioni target.
La modalità di scale out del pool è utile per accelerare lo scale out del MIG nei seguenti casi:
- Se utilizzi il gestore della scalabilità automatica di Compute Engine.
- Se utilizzi gestori della scalabilità automatica di terze parti e vuoi conservare eventuali integrazioni esistenti.
- Se aumenti manualmente la dimensione target delle VM in esecuzione.
In modalità di scale out del pool, il MIG si comporta nel seguente modo:
Quando tu o il gestore della scalabilità automatica aumentate le dimensioni target delle VM in esecuzione nel MIG, il MIG esegue l'azione nel seguente ordine:
- Il MIG riprende le VM sospese, se disponibili, nelle zone in cui viene eseguito lo scaling out del MIG.
- Dopo aver ripreso le VM sospese, se la dimensione target del MIG non è ancora stata raggiunta, il MIG avvia le VM arrestate, se disponibili, nelle zone in cui il MIG fa lo scale out.
- Dopo l'avvio delle VM, se la dimensione target del MIG non è ancora stata raggiunta, vengono create nuove VM da zero.
Dopo che il pool di standby viene utilizzato per accelerare lo scale out, il MIG esegue quanto segue:
- 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 un MIG a livello di regione.
- Mette le nuove VM in stato di esecuzione.
- Sospende o arresta le nuove VM dopo il superamento del ritardo iniziale.
Quando tu o il gestore della scalabilità automatica riducete le dimensioni target del MIG, il MIG non arresta o sospende automaticamente le VM in esecuzione, ma le elimina.
Ritardo iniziale
Per assicurarti che la VM venga inizializzata correttamente, specifica il ritardo iniziale nella policy di standby. Il ritardo iniziale è il tempo che le VM aspettano prima di arrestarsi o essere sospese dopo la loro creazione. In questo modo lo script di inizializzazione ha il tempo di completare l'operazione.
Il ritardo iniziale si verifica nei seguenti casi:
- Viene creata una nuova VM con lo stato target previsto
SUSPENDED
oTERMINATED
. - Un'istanza esistente nello stato
RUNNING
è sospesa o arrestata.
In entrambi i casi, l'istanza è consentita per l'inizializzazione prima di essere sospesa o arrestata.
Quando vuoi utilizzare il pool di standby per accelerare lo scale out del MIG, 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 MIG hanno un'API dichiarativa. Ciò significa che dichiari lo stato target per le VM nel MIG e che la richiesta API va a buon fine quando lo stato target viene salvato. Il MIG esegue quindi le operazioni necessarie per raggiungere lo stato target e puoi controllare l'azione in corso e lo stato attuale di tutte le VM utilizzando l'API.
La sospensione e l'arresto delle VM in un MIG funzionano nello stesso modo dichiarativo. Quando invii una richiesta di sospensione o arresto delle VM, il MIG memorizza le informazioni sullo stato target per ogni VM e avvia le operazioni necessarie per raggiungerlo.
Quando
elenchi le VM gestite
in un MIG, puoi vedere il campo targetStatus
.
Descrive lo stato finale di una VM quando il MIG è stabile.
Può essere uno dei seguenti valori:
RUNNING
STOPPED
SUSPENDED
Le VM in un MIG possono avere gli stessi
stati del ciclo di vita delle singole VM.
Di seguito sono riportati esempi di possibili operazioni su un MIG e i
valori associati del campo targetStatus
:
- Crea la nuova VM e sospendila dopo l'inizializzazione.
- Stato target della VM:
SUSPENDED
.
- Stato target della VM:
- Riprendi una VM precedentemente sospesa.
- Stato target della VM:
RUNNING
- Stato target della VM:
- Arresta una VM in esecuzione in precedenza.
- Stato target della VM:
STOPPED
- Stato target della VM:
- Avvia una VM precedentemente arrestata.
- Stato target della VM:
RUNNING
- Stato target della VM:
Limitazioni
- Le seguenti limitazioni per la sospensione delle VM autonome
si applicano anche alla sospensione delle VM in un MIG:
- 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. I comandi, come il comando
systemctl suspend
in Ubuntu 16.04 e versioni successive, non sono disponibili. L'indicatore in-guest 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 preemptible, ma l'istanza preemptible potrebbe essere terminata prima di essere sospesa correttamente.
- Non puoi sospendere una Confidential VM.
- Non puoi sospendere una VM con dischi protetti tramite CSEK collegati.
- In un MIG di regione con forma di distribuzione target
EVEN
e la ridistribuzione delle istanze abilitata, 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à scale out del pool se hai configurato un secondo modello di istanza per l'aggiornamento canary nel MIG.
- Non puoi sospendere o arrestare le VM in un MIG se hai disattivato le riparazioni nel MIG.
- Puoi sospendere un'istanza solo per un massimo di 60 giorni prima che la VM venga arrestata automaticamente.
Prezzi
Per ogni VM arrestata e sospesa vengono fatturati i seguenti elementi:
- Eventuale utilizzo di dischi permanenti per il disco di avvio ed eventuali dischi aggiuntivi collegati alla VM. Per ulteriori informazioni, consulta la sezione Prezzi di Persistent Disk.
- Eventuali IP statici associati all'istanza VM. Per ulteriori informazioni, consulta la sezione Prezzi degli IP.
- Nel caso di VM sospese, la memoria e lo stato del dispositivo della VM. Per saperne di più, consulta Prezzi delle istanze VM.
Passaggi successivi
- Scopri come sospendere o arrestare manualmente le VM in un MIG.
- Scopri come accelerare lo scale out con le VM sospese e arrestate.
- Scopri di più sugli aggiornamenti per le VM sospese e arrestate.