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 gruppo di istanze gestite possono aiutarti a risparmiare costi e ridurre i tempi di attesa quando hai bisogno di 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 gruppo di istanze gestite avviando le VM pre-inizializzate dal pool in standby delle VM arrestate e sospese.
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 le VM in un gruppo di istanze gestite 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 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.
Accelerare lo scale out del gruppo di istanze gestite
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 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 devono memorizzare nella cache contenuti aggiuntivi in memoria tramite download dall'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 interrompi 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 interrotta 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 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 target per i pool arrestati o sospesi, il MIG si comporta come segue:
- Quando aumenti le dimensioni dei pool sospesi o arrestati, il gruppo di istanze gestite crea nuove VM, attende che vengano inizializzate e poi le sospende o le arresta 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 le dimensioni dei pool sospesi o arrestati, il gruppo di istanze gestite seleziona arbitrariamente le VM sospese o arrestate da eliminare.
- Quando modifichi contemporaneamente le dimensioni del target MIG e quelle del pool sospeso o fermo, il MIG 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 di standby in base ai seguenti parametri specificati:
- Modalità:la modalità in cui il gruppo di istanze gestite utilizza le VM sospese e interrotte. Può essere la modalità
manual
oscale-out-pool
. - Ritardo iniziale:il tempo per cui l'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 interrotte 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 carico di lavoro e risparmiare sui costi delle VM in esecuzione inattive.
- Per integrare il gruppo di istanze gestite 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 gruppo di istanze gestite non applica alcuna automazione al pool di standby:
- Quando tu o il gestore della scalabilità automatica aumentate le dimensioni target del gruppo di istanze gestite, il gruppo di istanze gestite 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 gruppo di istanze gestite, il gruppo di istanze gestite non interrompe o sospende automaticamente le VM in esecuzione, ma le elimina.
Modalità del pool di scale out
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. 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 utilizzi l'autoscalabilità di Compute Engine.
- Se utilizzi strumenti di ridimensionamento automatico di terze parti e vuoi conservare eventuali integrazioni esistenti.
- 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 aumentate le dimensioni target delle VM in esecuzione nel gruppo di istanze gestite, il gruppo di istanze gestite esegue l'azione nel seguente ordine:
- 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.
- 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 esegue il ridimensionamento in espansione.
- Dopo aver avviato le VM, se la dimensione target del gruppo di istanze gestite non è ancora stata raggiunta, vengono create nuove VM da zero.
Dopo che il pool di standby viene utilizzato per accelerare lo scale out, il gruppo di istanze gestite 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 gruppo di istanze gestite a livello di regione.
- Le nuove VM vengono messe 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 gruppo di istanze gestite, il gruppo di istanze gestite non interrompe o sospende automaticamente le VM in esecuzione, ma le elimina.
Ritardo iniziale
Per assicurarti che la VM venga inizializzata correttamente, specifica il ritardo iniziale nel criterio 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 interrotta.
In entrambi i casi, l'istanza è consentita per l'inizializzazione prima di essere sospesa o interrotta.
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'interruzione. 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 MIG hanno un'API dichiarativa. Ciò significa che dichiari lo stato di destinazione per le VM nel gruppo di istanze gestite e che la richiesta API va a buon fine quando lo stato di destinazione viene salvato. L'MIG esegue quindi le operazioni necessarie per raggiungere lo stato di destinazione e puoi controllare l'azione in corso e lo stato attuale di tutte le VM utilizzando l'API.
La sospensione e l'interruzione delle VM in un gruppo di istanze gestite avviene nello stesso modo dichiarativo. Quando invii una richiesta di sospensione o arresto delle VM, il gruppo MIG memorizza le informazioni sullo stato di destinazione per ogni VM e avvia le operazioni necessarie per raggiungerlo.
Quando
elenchi le VM gestite
in un gruppo di istanze gestite, puoi vedere 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 MIG possono avere gli stessi
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
.
- 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
- I seguenti limiti 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. 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 preemibili, ma l'istanza preemibile 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 gruppo di istanze gestite a livello di regione con forma di distribuzione di destinazione
EVEN
e la ridistribuzione delle istanze abilitata, non puoi sospendere, interrompere, 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 scalabilità 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
Per ogni VM arrestata e sospesa vengono fatturati i seguenti elementi:
- Eventuale utilizzo di disco permanente per il disco di avvio e eventuali dischi aggiuntivi collegati 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 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 gruppo di istanze gestite.
- Scopri come accelerare lo scale out con le VM sospese e arrestate.
- Scopri di più sugli aggiornamenti per le VM sospese e arrestate.