Questo documento spiega come sospendere o ripristinare le istanze Compute Engine. Per scoprire di più su come sospendere, arrestare o reimpostare le istanze, consulta Sospendi, arresta o reimposta le istanze Compute Engine.
Se vuoi mantenere la tua istanza Compute Engine, ma non vuoi sostenere addebiti quando non è in uso, puoi sospenderla. La sospensione di un'istanza la conserva e migra i contenuti della memoria dell'istanza nello spazio di archiviazione. Dopo aver ripreso l'istanza, Compute Engine migra la memoria dell'istanza dallo spazio di archiviazione all'istanza e l'istanza riprende a essere eseguita.
La sospensione di un'istanza Compute Engine è utile per:
Ambienti di sviluppo e test che non vengono utilizzati completamente durante i periodi non di punta, ad esempio la sera o nei fine settimana, e che vuoi mantenere per risparmiare sui costi o per un'inizializzazione più rapida rispetto alla creazione di nuove istanze.
Applicazioni che richiedono un lungo periodo di inizializzazione dopo l'avvio dell'istanza, ma prima che l'applicazione sia pronta a gestire la prima richiesta, ad esempio workstation di sviluppo virtuali o applicazioni Java complesse.
Limitazioni
Quando sospendi un'istanza di computing, si applicano le seguenti limitazioni:
Puoi sospendere un'istanza solo se il sistema operativo guest lo supporta. Per saperne di più, consulta Dettagli del sistema operativo.
Puoi sospendere un'istanza che utilizza le seguenti immagini sistema operativo solo se configuri il sistema operativo, come descritto in questo documento:
Debian 8 o 9
Qualsiasi sistema operativo Windows
Puoi sospendere un'istanza solo per un massimo di 60 giorni prima che Compute Engine ne modifichi automaticamente lo stato in
TERMINATED.Puoi sospendere le VM spot o le istanze preemptible. Tuttavia, se Compute Engine prerilascia l'istanza prima del completamento dell'operazione di sospensione, la termina e prerilascia le istanze.
Non puoi sospendere le istanze utilizzando le procedure standard integrate nel loro ambiente ospite. I comandi come
systemctl suspendin Ubuntu 16.04 o versioni successive non sono supportati. Se viene chiamato, Compute Engine ignora l'indicatore in-guest.Non puoi sospendere i seguenti tipi di istanze:
Istanze bare metal.
Confidential VM.
Istanze con GPU collegate.
Istanze con più di 208 GB di memoria.
Istanze con dischi protetti da CSEK collegati.
Attivare le operazioni di sospensione su un sistema operativo guest
Se la tua istanza di Compute utilizza Debian 8 o 9 come sistema operativo guest o qualsiasi sistema operativo Windows, devi configurare il sistema operativo prima di poter sospendere e riprendere le istanze. Se la tua istanza utilizza un sistema operativo guest diverso, salta questa sezione.
Attivare le operazioni di sospensione su Debian 8 o 9
Prima di poter sospendere o riprendere le istanze di computing che utilizzano Debian 8 o 9 come sistema operativo guest, devi configurare il sistema operativo guest utilizzando uno dei seguenti metodi:
Configura ACPID
Per attivare l'operazione di sospensione e ripresa in Debian 8 o 9, puoi configurare il daemon Advanced Configuration and Power Interface events (ACPID) per gestire l'evento del pulsante di sospensione. Dopo aver attivato l'evento del pulsante di sospensione profonda, puoi aggiungere uno script shell per la gestione dell'evento di sospensione come descritto in questa sezione.
Per configurare ACPID in modo che supporti le operazioni di sospensione e ripresa, procedi nel seguente modo:
Se non l'hai ancora fatto, connettiti all'istanza Linux.
Crea la cartella
eventsnella cartellaacpi:sudo mkdir -p /etc/acpi/events/Configura ACPID per gestire l'evento del pulsante di sospensione:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOFCrea lo script di gestione dell'evento di sospensione:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOFConfigura le autorizzazioni per lo script:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.shPer applicare le modifiche, riavvia ACPID:
sudo systemctl restart acpid.service
Installare D-Bus
Per attivare l'operazione di sospensione e ripristino in Debian 8 o 9, puoi installare D-Bus.
Per installare D-Bus nel sistema operativo guest dell'istanza di computing quando il sistema operativo utilizza Debian 8 o 9, procedi nel seguente modo:
Se non l'hai ancora fatto, connettiti all'istanza Linux.
Installa D-Bus:
sudo apt-get install dbusPer applicare le modifiche, riavvia
logind:sudo systemctl restart systemd-logind.service
Attivare le operazioni di sospensione su Windows
Per sospendere un'istanza che utilizza un sistema operativo guest Windows, devi disattivare l'ibernazione nel sistema operativo. Se hai importato un'immagine Windows, l'ibernazione potrebbe essere abilitata per impostazione predefinita e devi disattivarla per sospendere l'istanza.
Per disattivare l'ibernazione in Windows, segui questi passaggi:
Se non l'hai ancora fatto, connettiti all'istanza Windows.
Apri PowerShell come amministratore.
Disattivare l'ibernazione:
powercfg -h offVerifica che l'ibernazione sia disattivata:
powercfg -a
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Go
Per utilizzare gli esempi di Go in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per utilizzare gli esempi Java in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per utilizzare gli esempi di Node.js in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per utilizzare gli esempi di PHP in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per sospendere o riattivare un'istanza di computing,
chiedi all'amministratore di concederti il ruolo IAM
Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)
sull'istanza.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per sospendere o riattivare un'istanza di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per sospendere o riattivare un'istanza di computing sono necessarie le seguenti autorizzazioni:
-
Per sospendere un'istanza:
compute.instances.suspend -
Per ripristinare un'istanza:
compute.instances.resume
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Sospendi un'istanza
Se il sistema operativo guest della tua istanza di computing utilizza Debian 8 o 9, prima di sospendere l'istanza devi configurare il sistema operativo guest per supportare le operazioni di sospensione e ripristino come descritto in questo documento.
Per sospendere un'istanza, utilizza uno dei seguenti metodi a seconda che all'istanza siano collegati dischi SSD locali:
Se all'istanza non sono collegati dischi SSD locali, consulta Sospendi un'istanza senza dischi SSD locali.
Se alla tua istanza sono collegati dischi SSD locali e vuoi eliminare o conservare (anteprima) i dati dell'SSD locale dei dischi, consulta Sospendi un'istanza con dischi SSD locali.
Sospendi un'istanza senza dischi SSD locali
Puoi sospendere più istanze di computing contemporaneamente o istanze singole. Per più istanze, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, Google Cloud CLI. Per le istanze singole seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona una o più istanze da sospendere.
Fai clic su Sospendi, quindi su Sospendi per confermare.
gcloud
Per sospendere una o più istanze in una singola zona, utilizza il
comando gcloud compute instances suspend:
gcloud compute instances suspend INSTANCE_NAMES \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAMES: un elenco separato da spazi dei nomi delle istanze, ad esempioinstance-01 instance-02 instance-03.ZONE: la zona in cui si trovano le istanze.
Vai
Java
Node.js
PHP
Python
REST
Per sospendere un'istanza, effettua una richiesta POST al
metodo instances.suspend:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui si trova l'istanzaZONE: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza
Sospendi un'istanza con dischi SSD locali
In base al numero di istanze di calcolo che vuoi sospendere contemporaneamente e se devi conservare i dati dei dischi SSD locali collegati, procedi nel seguente modo:
Per conservare i dati dei dischi SSD locali collegati a un'istanza (escluse le istanze con dischi Titanium SSD), sospendi l'istanza utilizzando gcloud CLI o l'API REST.
Per sospendere più istanze contemporaneamente, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, gcloud CLI.
Per sospendere una o più istanze con dischi SSD locali collegati, seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona una o più istanze da sospendere.
Fai clic su Sospendi, quindi su Sospendi per confermare.
gcloud
Quando sospendi una o più istanze in una singola zona con dischi SSD locali collegati, specifica se desideri eliminare o conservare i dati dell'SSD locale come segue:
Per eliminare i dati dell'SSD locale, utilizza il comando
gcloud compute instances suspendcon il flag--discard-local-ssd=true:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONEPer conservare i dati dell'SSD locale, utilizza il comando
gcloud beta compute instances suspendcon il flag--discard-local-ssd=false:gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAMES: un elenco separato da spazi dei nomi delle istanze, ad esempioinstance-01 instance-02 instance-03.ZONE: la zona in cui si trovano le istanze.
REST
Quando sospendi un'istanza a cui sono collegati dischi SSD locali, specifica se desideri eliminare o conservare i dati dell'SSD locale come segue:
Per eliminare i dati dell'SSD locale, effettua una richiesta
POSTal metodoinstances.suspend. Nell'URL della richiesta, includi il parametro di querydiscardLocalSsdimpostato sutrue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=truePer conservare i dati dell'SSD locale, invia una richiesta
POSTal metodobeta.instances.suspend. Nell'URL della richiesta, includi il parametro di querydiscardLocalSsdimpostato sufalse:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui si trova l'istanzaZONE: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza
Ripristinare un'istanza sospesa
Prima di riprendere un'istanza di computing sospesa, tieni presente quanto segue:
Puoi riprendere un'istanza solo se c'è capacità sufficiente nella zona in cui si trova l'istanza. In genere non si tratta di un problema. Se hai difficoltà a riprendere un'istanza, riprova più tardi.
Se hai collegato dischi SSD locali all'istanza e hai scelto di conservare i dati dell'SSD locale quando l'hai sospesa, potresti dover rimontare i dischi SSD locali dopo averla riattivata. Per saperne di più, scopri come rimontare i dischi non di avvio su istanze Linux o istanze Windows.
Puoi ripristinare più istanze contemporaneamente o istanze singole. Per più istanze, utilizza la console Google Cloud o, per istanze situate nella stessa zona, gcloud CLI. Per le istanze singole seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona una o più istanze sospese da ripristinare.
Fai clic su Avvia / Riprendi, quindi su Avvia.
gcloud
Per ripristinare una o più istanze sospese in una singola zona, utilizza il
comando gcloud compute instances resume:
gcloud compute instances resume INSTANCE_NAMES \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAMES: un elenco separato da spazi dei nomi delle istanze, ad esempioinstance-01 instance-02 instance-03.ZONE: la zona in cui si trovano le istanze sospese.
Go
Java
Node.js
PHP
Python
REST
Per riattivare un'istanza sospesa, invia una richiesta POST al
metodo instances.resume:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza sospesa da riattivare.PROJECT_ID: l'ID del progetto in cui si trova l'istanza sospesa.ZONE: la zona in cui si trova l'istanza sospesa.