Questo documento descrive come sospendere o riprendere un'istanza di una macchina virtuale (VM).
Se vuoi mantenere l'istanza VM, ma non vuoi che ti venga addebitato un costo quando non è in uso, puoi sospenderla. Quando sospendi una VM, Google la conserva nel tuo progetto e sposta i contenuti della memoria della VM nello spazio di archiviazione. Mentre la VM è sospesa, Google addebita solo lo spazio di archiviazione utilizzato per conservare la memoria della VM. Attributi come gli indirizzi IP statici rimangono invariati in modo che le funzioni di rete funzionino come previsto quando riprendi la VM. Al termine della ripresa, Google sposta la memoria della VM dallo spazio di archiviazione all'istanza e inizia a addebitarti l'istanza VM ora in esecuzione.
La sospensione di un'istanza è ideale per:
- Ambienti di sviluppo e test che non vengono utilizzati completamente durante i periodi di riposo, ad esempio la sera o i fine settimana, per risparmiare sui costi o per un'inizializzazione più rapida rispetto alla creazione di nuove istanze VM.
- 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.
Come funziona la sospensione
La sospensione di un'istanza invia un segnale ACPI S3 suspend al sistema operativo dell'istanza. La sospensione di un'istanza è analoga alla chiusura del coperchio del laptop, che mette l'istanza in stato SUSPENDED
.
La sospensione di un'istanza è diversa dall'arresto di un'istanza per i seguenti motivi:
- Le istanze sospese conservano la memoria del sistema operativo guest, lo stato del dispositivo e lo stato dell'applicazione.
- Google addebita lo spazio di archiviazione necessario per salvare la memoria dell'istanza.
- Puoi sospendere un'istanza solo per un massimo di 60 giorni. Dopo 60 giorni, l'istanza viene spostata automaticamente nello stato
TERMINATED
.
Tutte le risorse collegate all'istanza rimangono collegate all'istanza e verranno addebitate, inclusi i dischi permanenti e gli indirizzi IP esterni statici o riservati. Per tutte queste risorse viene addebitato il prezzo indicato nel listino dei prezzi, anche se un'istanza è sospesa.
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. Puoi utilizzare solo Google Cloud CLI o REST per sospendere un'istanza.
Se non ti interessa ripristinare la memoria e lo stato del dispositivo di un'istanza quando la riprendi in un secondo momento, puoi interromperla, senza costi di archiviazione aggiuntivi.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
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.
- 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.
- Memoria dell'istanza (consulta i prezzi per le istanze VM sospese).
- Eventuale utilizzo di disco permanente per il disco di avvio e per eventuali dischi aggiuntivi collegati all'istanza (vedi Prezzi dei dischi permanenti).
- Eventuali IP statici associati all'istanza.
- La sospensione delle VM potrebbe farti risparmiare sulle tariffe di licenza del software. Ad esempio, se sospendi le VM Windows, non devi sostenere costi per le licenze di Windows. Le commissioni per le licenze di altre immagini potrebbero avere termini e condizioni diversi e potrebbero comportare addebiti anche in caso di sospensione.
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze da sospendere.
Fai clic su Sospendi.
Se vuoi eliminare i dati dell'unità SSD locale, quando richiesto, seleziona Elimina contenuti dell'unità SSD. Quando l'istanza viene ripresa, tutti i dati dell'SSD locale sull'istanza verranno eliminati.
PROJECT_ID
: l'ID progettoZONE
: la zona della VMVM_NAME
: l'istanza che vuoi sospendereNella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze da riprendere.
Fai clic su Avvia/Riprendi.
PROJECT_ID
: l'ID progetto per questa richiestaZONE
: la zona della VMVM_NAME
: l'istanza da riprendereConnettiti all'istanza VM utilizzando SSH:
gcloud compute ssh VM_NAME
Nell'istanza VM, crea una directory nella cartella
acpi
:sudo mkdir -p /etc/acpi/events/
Configura l'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 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
Riavviare l'ACPID:
sudo systemctl restart acpid.service
Connettiti all'istanza VM utilizzando SSH:
gcloud compute ssh VM_NAME
Nell'istanza VM, installa
dbus
:sudo apt-get install dbus
Riavvia
logind
:sudo systemctl restart systemd-logind.service
- Elimina un'istanza se non ti serve più.
- Interrompi o riavvia un'istanza.
- Esamina il ciclo di vita dell'istanza.
- Consulta la sezione Risoluzione dei problemi relativi alla sospensione delle VM se riscontri problemi durante la sospensione di una VM.
Vai
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, 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 alla gcloud CLI, 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 alla gcloud CLI, 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 alla gcloud CLI, 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 alla gcloud CLI, 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 saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Per questa funzionalità si applicano le seguenti limitazioni:
SSD locali
Normalmente, la sospensione di un'istanza VM che utilizza un'unità SSD locale comporta l'eliminazione di tutti i dati sulle unità SSD locali, lo stesso comportamento dell'arresto dell'istanza.
Per ulteriori dettagli, consulta la documentazione relativa agli SSD locali.
VM prerilasciabili
Puoi sospendere una VM preassegnabile, ma se avviene la preassegnazione (non l'avviso che precede la preassegnazione) prima del completamento dell'operazione di sospensione, la sospensione esce e l'istanza viene preassegnata.
Compatibilità con il sistema operativo
La maggior parte dei sistemi operativi (SO) offerti su Compute Engine supporta la funzionalità di sospensione e ripresa, ma alcuni non lo fanno. Per l'elenco completo, consulta la pagina Dettagli sistema operativo.
Prezzi
Quando sospendi un'istanza, ti viene addebitato quanto segue:
Sospendi un'istanza
Per sospendere un'istanza, utilizza la console Google Cloud, gcloud CLI, l'API o le librerie client di Cloud.
Non puoi sospendere un'istanza utilizzando le procedure standard integrate nell'ambiente ospite. Puoi utilizzare la console Google Cloud, Google Cloud CLI o l'API per sospendere un'istanza.
L'operazione di sospensione può non riuscire se viene attivata troppo presto dopo l'avvio dell'istanza. L'istanza deve essere completamente avviata (incluse procedure come Guest Agent) perché l'operazione di sospensione vada a buon fine.
Console
gcloud
Per sospendere un'istanza in Google Cloud CLI:
gcloud compute instances suspend VM_NAME
Dopo aver inviato una richiesta di sospensione di un'istanza, può essere necessario del tempo prima che Compute Engine conservi tutti i dati necessari per l'istanza. Durante questo periodo, continuerai a ricevere gli addebiti per l'istanza finché rimane in esecuzione.
Un'istanza sospesa è contrassegnata dallo stato
SUSPENDED
. Controlla lo stato di un'istanza inviando una richiestadescribe
:gcloud compute instances describe VM_NAME
Per sospendere un'istanza con dati dell'SSD locale, devi fornire il flag
--discard-local-ssd
:gcloud compute instances suspend VM_NAME --discard-local-ssd
Se utilizzi
--discard-local-ssd
o--discard-local-ssd=True
, i contenuti dell'unità SSD locale verranno eliminati. Compute Engine--discard-local-ssd=False
è attualmente in Anteprima pubblica. L'utilizzo di questo flag consente di salvare i contenuti di massimo 32 dischi SSD locali durante la sospensione. Per ulteriori dettagli, consulta la documentazione relativa agli SSD locali.Vai
Java
Node.js
PHP
Python
REST
Nell'API, effettua una richiesta utilizzando il metodo
instances.suspend
:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/suspend
Sostituisci quanto segue:
Dopo aver inviato una richiesta di sospensione di un'istanza, può essere necessario del tempo prima che Compute Engine conservi tutti i dati necessari per l'istanza. Durante questo periodo, ti viene addebitato il costo dell'istanza finché rimane in esecuzione.
Compute Engine contrassegna l'istanza sospesa con lo stato
SUSPENDED
. Controlla lo stato di un'istanza inviando una richiestaGET
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Lo stato dell'istanza è visibile nel campo dello stato. Ad esempio:
... "zone": "https://content.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a", "status": "SUSPENDED", "name": "example-vm", ...
Per sospendere un'istanza con più di 32 dischi SSD locali, devi eliminare i dati dell'SSD locale fornendo il parametro di query
discardLocalSsd
come segue:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/suspend?discardLocalSsd=true
Per ulteriori informazioni, consulta la documentazione relativa agli SSD locali.
Ripristinare un'istanza sospesa
Puoi riprendere un'istanza solo se la zona in cui risiede la VM dispone di capacità sufficiente. Nella maggior parte dei casi, non si tratta di un problema, ma se riscontri problemi di capacità, riprova a inviare la richiesta di ripresa in un secondo momento.
Per riprendere un'istanza sospesa, utilizza la console Google Cloud, gcloud CLI, l'API o le librerie client di Cloud.
Console
gcloud
Per riprendere un'istanza in Google Cloud CLI:
gcloud compute instances resume VM_NAME
Dopo aver inviato una richiesta di ripresa di un'istanza, potrebbe essere necessario del tempo prima che Compute Engine ripristini tutti i dati necessari per l'istanza. Durante questo periodo, ti viene addebitato il costo dell'istanza mentre viene ripresa.
Un'istanza viene ripristinata quando è contrassegnata come
RUNNING
. Controlla lo stato di un'istanza inviando una richiesta di descrizione:gcloud compute instances describe VM_NAME
Vai
Java
Node.js
PHP
Python
REST
Invia una richiesta al metodo
instances.resume
:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/resume
Sostituisci quanto segue:
Dopo aver inviato una richiesta di ripresa di un'istanza, potrebbe essere necessario del tempo prima che Compute Engine ripristini tutti i dati necessari per l'istanza. Durante questo periodo, ti viene addebitato l'utilizzo dell'istanza durante la ripresa
Al termine del ripristino, Compute Engine contrassegna l'istanza con lo stato
RUNNING
. Controlla lo stato di un'istanza inviando una richiestaGET
:GET https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance
Lo stato dell'istanza è visibile nel campo dello stato. Ad esempio:
... "zone": "https://content.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a", "status": "RUNNING", "name": "example-instance", ...
Sospendi processo
Quando effettui una richiesta di sospensione, invii un segnale di sospensione ACPI all'istanza VM. Se la VM non risponde al segnale di sospensione ACPI S3 entro un paio di minuti, Compute Engine annulla il tentativo di sospensione e reimposta la VM in uno stato
RUNNING
.La tabella seguente descrive l'effetto della sospensione di un'istanza VM sulle risorse associate:
Risorsa Assistenza Memoria È possibile sospendere solo le VM con una memoria inferiore o uguale a 208 GB SSD locale I dati dell'unità SSD locale vengono ignorati Disco permanente I dischi HDD e SSD permanenti vengono conservati Indirizzi IP Gli IP temporanei vengono rilasciati durante la sospensione, ma gli IP statici rimangono associati alle istanze VM. Se vuoi conservare il tuo IP temporaneo, promuovilo. Configurazione della VM (ad esempio tipo di macchina, metadati, etichette e così via) Tutte le configurazioni delle VM, ad eccezione degli indirizzi IP temporanei, vengono conservate e ripristinate al riavvio dell'istanza. Configurazione di una VM Debian per supportare la sospensione e la ripresa
Le VM che eseguono Debian 8 e 9 possono essere sospese e riattivate, ma devono essere configurate in precedenza. Per configurare l'istanza Debian, completa una delle seguenti serie di istruzioni, opzione A o opzione B. Ti consigliamo di configurare l'ACPID, se possibile (opzione A).
Opzione A
Questa opzione configura l'ACPID per gestire l'evento del tasto di sospensione e aggiunge un script shell per la gestione dell'evento di sospensione.
Opzione B
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-11-23 UTC.
-