Questo documento spiega come sospendere o riprendere le istanze Compute Engine. Per approfondire la sospensione, l'arresto o il ripristino delle istanze, consulta Sospendere, arrestare o reimpostare le istanze Compute Engine.
Se vuoi mantenere l'istanza Compute Engine, ma non vuoi che ti vengano addebitati costi quando non è in uso, puoi sospenderla. La sospensione di un'istanza conserva l'istanza e ne esegue la migrazione nello spazio di archiviazione. Dopo aver ripreso l'istanza, Compute Engine esegue la migrazione della memoria dell'istanza dallo spazio di archiviazione all'istanza, che inizia di nuovo a funzionare.
La sospensione di un'istanza Compute Engine è utile per:
Ambienti di sviluppo e test che non vengono utilizzati completamente durante i periodi di riposo, ad esempio la sera o i 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 al termine dell'avvio dell'istanza, ma prima che l'applicazione sia pronta per gestire la prima richiesta, ad esempio workstation virtuali per sviluppatori o applicazioni Java complesse.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Vai
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Node.js
Per utilizzare gli Node.js esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
PHP
Per utilizzare gli PHP esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
-
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per sospendere o riprendere un'istanza di calcolo,
chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1
) nell'istanza.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per sospendere o riprendere un'istanza di calcolo. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per sospendere o riprendere un'istanza di calcolo sono necessarie le seguenti autorizzazioni:
-
Per sospendere un'istanza:
compute.instances.suspend
-
Per riprendere un'istanza:
compute.instances.resume
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
Quando sospendi un'istanza di calcolo, si applicano le seguenti limitazioni:
Puoi sospendere un'istanza solo se il sistema operativo guest lo supporta. Per ulteriori informazioni, consulta Dettagli del sistema operativo.
Puoi sospendere un'istanza che utilizza Debian 8 o 9 come sistema operativo guest solo se configuri il sistema operativo prima di sospendere l'istanza.
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 prerilasciabili. Tuttavia, se Compute Engine prerilascia l'istanza prima del completamento dell'operazione di sospensione, termina l'operazione di sospensione e prerilascia le istanze.
Non puoi sospendere le istanze con GPU collegate.
Non puoi sospendere le istanze Bare Metal.
Non puoi sospendere le VM riservate.
Non puoi sospendere le istanze utilizzando le procedure standard integrate nell'ambiente guest. I comandi come
systemctl suspend
in Ubuntu 16.04 o versioni successive non sono supportati. Se viene chiamato, Compute Engine ignora l'indicatore in-guest.Non puoi sospendere le istanze con più di 208 GB di memoria.
Non puoi sospendere le istanze con dischi protetti da CSEK collegati.
Attivare le operazioni di sospensione in Debian 8 o 9
Se un'istanza di calcolo esegue Debian 8 e 9 come sistema operativo guest, prima di suspendere l'istanza devi attivare le operazioni di sospensione e ripresa eseguendo una delle seguenti operazioni:
Consigliato: configura l'ACPID
Configura l'ACPID
Per attivare l'operazione di sospensione e ripresa in Debian 8 o 9, puoi configurare il daemon Advanced Configuration and Power Interface (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 gestire l'evento di sospensione come descritto in questa sezione.
Per configurare l'ACPID in modo che supporti le operazioni di sospensione e ripresa, svolgi i seguenti passaggi:
Se non l'hai ancora fatto, connettiti all'istanza Linux.
Crea la cartella
events
nella cartellaacpi
:sudo mkdir -p /etc/acpi/events/
Configura l'ACPID per gestire l'evento del tasto di sospensione:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
Crea 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 EOF
Configura le autorizzazioni per lo script:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Per rendere effettive le modifiche, riavvia l'ACPID:
sudo systemctl restart acpid.service
Installa D-Bus
Per attivare l'operazione di sospensione e ripresa in Debian 8 o 9, puoi installare D-Bus.
Per installare D-Bus nel sistema operativo guest dell'istanza di calcolo quando il sistema operativo utilizza Debian 8 o 9, segui questi passaggi:
Se non l'hai ancora fatto, connettiti all'istanza Linux.
Installa D-Bus:
sudo apt-get install dbus
Per applicare le modifiche, riavvia
logind
:sudo systemctl restart systemd-logind.service
Sospendi un'istanza
Se il sistema operativo guest della tua istanza di calcolo utilizza Debian 8 o 9, prima di mettere in sospensione l'istanza devi configurare il sistema operativo guest in modo che supporti le operazioni di sospensione e ripresa come descritto in questo documento.
Per sospendere un'istanza, utilizza uno dei seguenti metodi a seconda che l'istanza abbia o meno dischi SSD locali collegati:
Se all'istanza non sono collegati dischi SSD locali, consulta Sospendere un'istanza senza dischi SSD locali.
Se alla tua istanza sono collegati dischi SSD locali e vuoi eliminare o conservare (Anteprima) i dati degli SSD locali, consulta Sospendere un'istanza con dischi SSD locali.
Sospendere un'istanza senza dischi SSD locali
Puoi sospendere più istanze di calcolo contemporaneamente o singole istanze. Per più istanze, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, Google Cloud CLI. Per le singole istanze, seleziona una delle seguenti opzioni:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze da sospendere.
Fai clic su
Sospendi e poi su Sospendi per confermare.
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 di nomi di istanze, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze.
Per sospendere un'istanza, invia 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'istanza.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.
Sospendere un'istanza con dischi SSD locali
A seconda del numero di istanze di calcolo che vuoi sospendere contemporaneamente e se devi conservare i dati dei dischi SSD locali collegati, svolgi i seguenti passaggi:
Per conservare i dati dei dischi SSD locali collegati a un'istanza (escluse le istanze Z3), 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, la CLI gcloud.
Per sospendere una o più istanze con dischi SSD locali collegati, seleziona una delle seguenti opzioni:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze da sospendere.
Fai clic su
Sospendi e poi su Sospendi per confermare.
Quando sospendi una o più istanze in un'unica zona con dischi SSD locali collegati, specifica se eliminare o conservare i dati dell'SSD locale come segue:
Per eliminare i dati dell'SSD locale, utilizza il comando
gcloud compute instances suspend
con il flag--discard-local-ssd=true
:gcloud compute instances suspend
INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE Per conservare i dati dell'SSD locale, utilizza il comando
gcloud beta compute instances suspend
con 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 di nomi di istanze, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze.
Quando sospendi un'istanza a cui sono collegati dischi SSD locali, specifica se eliminare o conservare i dati degli SSD locali come segue:
Per eliminare i dati dell'SSD locale, effettua una richiesta
POST
al metodoinstances.suspend
. Nell'URL della richiesta, includi il parametro di querydiscardLocalSsd
impostato 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
POST
al metodobeta.instances.suspend
. Nell'URL della richiesta, includi il parametro di querydiscardLocalSsd
impostato 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'istanza.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.
Ripristinare un'istanza sospesa
Prima di riprendere un'istanza di calcolo sospesa, tieni presente quanto segue:
Puoi riprendere un'istanza solo se la zona in cui si trova ha una capacità sufficiente. 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 durante la sospensione, potresti dover montare di nuovo i dischi SSD locali dopo la ripresa. Per saperne di più, scopri come eseguire il rimontaggio dei dischi non di avvio su istanze Linux o su istanze Windows.
Puoi riprendere più istanze contemporaneamente o singole istanze. Per più istanze, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, l'interfaccia a riga di comando gcloud. Per le singole istanze, seleziona una delle seguenti opzioni:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze sospese da riprendere.
Fai clic su
Avvia / Riprendi, quindi su Avvia.
Per riprendere una o più istanze sospese in un'unica 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 di nomi di istanze, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze sospese.
Per riprendere 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 riprendere.PROJECT_ID
: l'ID del progetto in cui si trova l'istanza sospesa.ZONE
: la zona in cui si trova l'istanza sospesa.