Questo documento descrive come sospendere o riprendere l'istanza di una macchina virtuale (VM).
Se vuoi mantenere l'istanza VM a portata di mano ma non vuoi che ti vengano addebitati costi quando non è in uso, puoi sospenderla. Quando sospendi una VM, Google conserva la VM nel 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 attivi per far sì che le funzioni di rete funzionino come previsto quando ripristini la VM. Dopo il ripristino, Google riporta all'istanza la memoria della VM dallo spazio di archiviazione e inizia ad addebitarti l'istanza VM in esecuzione.
La sospensione di un'istanza è l'ideale per:
- Ambienti di sviluppo e test che non vengono utilizzati completamente nei periodi di inattività, ad esempio durante la sera o nei fine settimana, per risparmiare sui costi o inizializzare in modo più rapido rispetto alla creazione di nuove istanze VM.
- Applicazioni che richiedono un lungo periodo di inizializzazione dopo il 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 di sospensione ACPI S3 al sistema operativo dell'istanza. La sospensione di un'istanza è analoga alla chiusura del coperchio del laptop e all'attivazione dello stato dell'istanza in SUSPENDED
.
La sospensione di un'istanza è diversa dall'arresto di un'istanza per i seguenti modi:
- Le istanze sospese mantengono la memoria del sistema operativo guest, lo stato del dispositivo e lo stato dell'applicazione.
- Google addebita il costo per lo spazio di archiviazione necessario per risparmiare memoria dell'istanza.
- Puoi sospendere un'istanza 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 prenotati. Tutte queste risorse vengono addebitate in base al listino prezzi, anche se un'istanza è sospesa.
Non puoi sospendere un'istanza utilizzando i processi standard integrati nell'ambiente guest. I comandi, come il comando systemctl suspend
in Ubuntu 16.04 e versioni successive, non sono disponibili. Per sospendere un'istanza, puoi solo utilizzare
Google Cloud CLI o REST.
Se non ti interessa ripristinare la memoria e lo stato del dispositivo di un'istanza quando riprendi l'istanza in un secondo momento, puoi arrestare l'istanza. Questo non comporta costi di archiviazione aggiuntivi.
Prima di iniziare
-
Se non l'hai già fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.
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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Non puoi sospendere un'istanza che utilizza una GPU.
- Non puoi sospendere un'istanza utilizzando i processi standard integrati nell'ambiente guest. I comandi, come il comando
systemctl suspend
in Ubuntu 16.04 e versioni successive, non sono disponibili. L'indicatore "in-ospite" 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 prerilasciabili, ma quest'ultima potrebbe essere terminata prima di essere sospesa.
- Non puoi sospendere una Confidential VM.
- Non puoi sospendere una VM a cui sono collegati dischi protetti da CSEK.
- Memoria dell'istanza (consulta i prezzi delle istanze VM sospese).
- Qualsiasi utilizzo di disco permanente per il disco di avvio ed eventuali dischi aggiuntivi collegati all'istanza (vedi Prezzi dei dischi permanenti).
- Eventuali IP statici collegati all'istanza.
- La sospensione delle VM potrebbe ridurre le tariffe per le licenze software. Ad esempio, se sospendi le VM Windows, non ti verranno addebitate le tariffe per la licenza di Windows. Le tariffe per la licenza di altre immagini potrebbero avere termini e condizioni diversi e 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.
Quando richiesto, se vuoi eliminare i dati degli SSD locali, seleziona Elimina i contenuti SSD. Quando l'istanza viene ripresa, tutti i dati degli SSD locali nell'istanza vengono eliminati.
PROJECT_ID
: 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 alla tua istanza VM tramite SSH:
gcloud compute ssh VM_NAME
Nell'istanza VM, crea una directory nella cartella
acpi
: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 EOF
Crea lo script di gestione degli eventi di sonno:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
Imposta le autorizzazioni per lo script:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Riavvia ACPID:
sudo systemctl restart acpid.service
Connettiti alla tua istanza VM tramite 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ù.
- Arresta o riavvia un'istanza.
- Esamina il ciclo di vita dell'istanza.
- Consulta Risoluzione dei problemi relativi alla sospensione di una VM se riscontri problemi di sospensione di una VM.
Go
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori informazioni, consulta Set up authentication for a local development environment.
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, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
A questa funzionalità si applicano le seguenti limitazioni:
SSD locali
Normalmente, la sospensione di un'istanza VM che utilizza un SSD locale comporterà l'eliminazione di tutti i dati sulle unità SSD locali, lo stesso comportamento dell'arresto dell'istanza.
Per ulteriori dettagli, consulta la documentazione sulle unità SSD locali.
VM prerilasciabili
Puoi sospendere una VM prerilasciabile, ma se il prerilascio (non l'avviso anticipato che precede il prerilascio) si verifica prima del completamento dell'operazione di sospensione, la sospensione viene chiusa e l'istanza viene prerilasciata.
Compatibilità del sistema operativo
La maggior parte dei sistemi operativi (OS) offerti su Compute Engine supporta la funzionalità di sospensione e ripristino, ma alcuni sistemi operativi non lo supportano. Consulta la pagina dei dettagli del sistema operativo per l'elenco completo.
Prezzi
Quando sospendi un'istanza, ti vengono addebitati i costi per:
Sospendere 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 i processi standard integrati nell'ambiente guest. Per sospendere un'istanza, puoi utilizzare la console Google Cloud, Google Cloud CLI o l'API.
L'operazione di sospensione può non riuscire se viene attivata troppo presto dopo l'avvio dell'istanza. Affinché l'operazione di sospensione vada a buon fine, l'istanza deve essere completamente avviata (inclusi i processi come l'agente guest).
Console
gcloud
Per sospendere un'istanza in Google Cloud CLI:
gcloud compute instances suspend VM_NAME
Dopo aver effettuato una richiesta di sospensione di un'istanza, potrebbe trascorrere un po' di tempo prima che Compute Engine conservi tutti i dati necessari per l'istanza. Durante questo periodo, l'istanza continuerà a esserti addebitata quando è in esecuzione.
Un'istanza sospesa è contrassegnata dallo stato
SUSPENDED
. Controlla lo stato di un'istanza effettuando una richiestadescribe
:gcloud compute instances describe VM_NAME
Per sospendere un'istanza con dati degli SSD locali, 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'SSD locale verranno eliminati. Compute Engine--discard-local-ssd=False
è attualmente in anteprima pubblica. L'uso di questo flag salverà i contenuti di un massimo di 16 dischi SSD locali durante la sospensione. Per ulteriori dettagli, consulta la documentazione sulle unità SSD locali.Go
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 effettuato una richiesta di sospensione di un'istanza, potrebbe trascorrere un po' di tempo prima che Compute Engine conservi tutti i dati necessari per l'istanza. Durante questo periodo, ti viene addebitato un costo per l'istanza mentre è in esecuzione.
Compute Engine contrassegna l'istanza sospesa con lo stato
SUSPENDED
. Controlla lo stato di un'istanza effettuando 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 16 dischi SSD locali, devi ignorare i dati degli SSD locali 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 sulle unità SSD locali.
Riprendi un'istanza sospesa
Puoi riprendere un'istanza solo se disponi di capacità sufficiente nella zona in cui si trova la VM. Nella maggior parte dei casi, questo non è un problema, ma se riscontri problemi di capacità, riprova a inviare la richiesta di ripristino 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 effettuato una richiesta per ripristinare un'istanza, potrebbe trascorrere un po' di tempo prima che Compute Engine ripristini tutti i dati necessari per l'istanza. Durante questo periodo, ti verrà addebitato un costo per l'istanza mentre è in corso di ripristino.
Un'istanza viene ripresa quando viene contrassegnata come
RUNNING
. Controlla lo stato di un'istanza effettuando una richiesta di descrizione:gcloud compute instances describe VM_NAME
Go
Java
Node.js
PHP
Python
REST
Effettua 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 effettuato una richiesta per ripristinare un'istanza, potrebbe trascorrere un po' di tempo prima che Compute Engine ripristini tutti i dati necessari per l'istanza. Durante questo periodo, ti viene addebitato un costo per l'istanza mentre questa riprende
Compute Engine contrassegna l'istanza con lo stato
RUNNING
al termine del ripristino. Controlla lo stato di un'istanza effettuando 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", ...
Sospensione del 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 di ACPI S3 entro un paio di minuti, Compute Engine annulla il tentativo di sospensione e restituisce la VM allo stato
RUNNING
.La tabella seguente descrive l'effetto della sospensione di un'istanza VM sulle risorse associate:
Risorsa Assistenza Memoria Puoi sospendere solo le VM con meno o uguale a 208 GB di memoria SSD locale I dati degli SSD locali 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 collegati alle istanze VM. Se vuoi conservare il tuo IP temporaneo, promuovilo. Configurazione delle 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 il ripristino
Le VM che eseguono Debian 8 e 9 possono essere sospese e riprendere, ma devono essere configurate in anticipo. Per configurare l'istanza Debian, completa uno dei seguenti set di istruzioni, l'opzione A o l'opzione B. Ti consigliamo di configurare l'ACPID, se possibile (opzione A).
Opzione A
Questa opzione configura l'ACPID per gestire l'evento del pulsante di sospensione e aggiunge uno 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-06-21 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -