Questo documento spiega come arrestare o riavviare un'istanza Compute Engine. Per approfondire gli effetti dell'arresto di un'istanza, nonché le differenze tra la sospensione, l'arresto o il ripristino di un'istanza, consulta Sospendere, arrestare o reimpostare le istanze Compute Engine.
L'interruzione di un'istanza è utile quando non la utilizzi più o per modificarne le proprietà, ad esempio per cambiare il tipo di macchina o rimuovere i dischi collegati e montati. Dopo aver interrotto l'istanza, puoi eseguire le seguenti operazioni:
Riavvialo per riprendere il carico di lavoro.
Eliminalo se non ti serve più.
Per automatizzare l'interruzione o il riavvio di un'istanza, consulta quanto segue:
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.
-
Per arrestare un'istanza:
compute.instances.stop
sull'istanza -
Per arrestare un'istanza dall'interno del sistema operativo guest:
compute.instances.setMetadata
sull'istanza se utilizza chiavi SSH pubbliche a livello di istanza. -
Per riavviare un'istanza:
compute.instances.start
sull'istanza -
Per riavviare un'istanza che utilizza le chiavi di crittografia:
compute.instances.startWithEncryptionKey
sull'istanza Arrestare un'istanza senza dischi SSD locali
Puoi arrestare contemporaneamente una o più istanze a cui non sono collegati dischi SSD locali.
Arrestare un'istanza con dischi SSD locali
Quando arresti una o più istanze con dischi SSD locali collegati, puoi scegliere di ignorare o conservare (Anteprima) i dati su questi dischi.
Arrestare un'istanza dal sistema operativo guest
Puoi arrestare un'istanza dall'interno del suo sistema operativo guest. Questa operazione è utile se sei collegato all'istanza o se hai script di arresto che devono essere eseguiti prima dell'arresto dell'istanza. Tuttavia, a meno che tu non esegui il backup manuale dei dati da qualsiasi disco SSD locale al volume di archiviazione permanente, l'arresto di un'istanza dal suo sistema operativo guest comporta l'eliminazione di tutti i dati sui dischi SSD locali collegati.
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona le istanze in esecuzione da arrestare.
Fai clic su
Interrompi e poi su Interrompi per confermare.INSTANCE_NAMES
: un elenco di nomi di istanze separati da spazi, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze.INSTANCE_NAME
: il nome dell'istanza.PROJECT_ID
: l'ID del progetto in cui si trova l'istanza.ZONE
: la zona in cui si trova l'istanza.Per conservare i dati dei dischi SSD locali collegati a un'istanza, arresta l'istanza utilizzando l'interfaccia a riga di comando gcloud o l'API REST.
Per arrestare più istanze contemporaneamente, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, gcloud CLI.
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona le istanze in esecuzione da arrestare.
Fai clic su
Interrompi e poi su Interrompi per confermare.Per eliminare i dati dell'SSD locale, utilizza il comando
gcloud compute instances stop
con il flag--discard-local-ssd=true
:gcloud compute instances stop INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE
Per conservare i dati dell'SSD locale, utilizza il comando
gcloud beta compute instances stop
con il flag--discard-local-ssd=false
:gcloud beta compute instances stop INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
INSTANCE_NAMES
: un elenco di nomi di istanze separati da spazi, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze.Per eliminare i dati dell'SSD locale, effettua una richiesta
POST
al metodoinstances.stop
. 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/stop?discardLocalSsd=true
Per conservare i dati dell'SSD locale, invia una richiesta
POST
al metodobeta.instances.stop
. 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/stop?discardLocalSsd=false
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.Se non l'hai ancora fatto, connettiti all'istanza.
Per arrestare l'istanza, seleziona uno dei seguenti metodi:
Per un arresto pulito che consenta all'istanza di eseguire script di arresto prima di arrestare il sistema operativo guest, esegui il seguente comando:
sudo shutdown -h now
In caso contrario, per forzare l'arresto, esegui il seguente comando:
sudo poweroff
Se non l'hai già fatto, connettiti all'istanza utilizzando uno dei seguenti metodi:
Per arrestare l'istanza, seleziona uno dei seguenti metodi:
Per un arresto pulito che consenta all'istanza di eseguire script di arresto prima di arrestare il sistema operativo guest, esegui il seguente comando:
shutdown /s
In caso contrario, per forzare l'arresto, esegui il seguente comando:
shutdown /f
Se all'istanza non sono collegati dischi criptati, consulta Riavviare un'istanza senza dischi criptati.
In caso contrario, consulta Riavviare un'istanza con i dischi criptati.
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona una o più istanze.
Fai clic su
Avvia / riprendi.INSTANCE_NAMES
: un elenco di nomi di istanze separati da spazi, ad esempioinstance-01 instance-02 instance-03
.ZONE
: la zona in cui si trovano le istanze.INSTANCE_NAME
: il nome dell'istanza da riavviare.PROJECT_ID
: l'ID del progetto in cui si trova l'istanza.ZONE
: la zona in cui si trova l'istanza.Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona le istanze da riavviare.
Fai clic su
Avvia / riprendi.Specifica le chiavi di crittografia per ciascuno dei dischi criptati collegati alle istanze, quindi fai clic su Avvia.
INSTANCE_NAMES
: un elenco di nomi di istanze separati da spazi, ad esempioinstance-01 instance-02 instance-03
.ENCRYPTION_KEY_FILE
: il percorso relativo al file JSON contenente la chiave di crittografia fornita dal cliente. Puoi riavviare più istanze contemporaneamente solo se le istanze utilizzano la stessa chiave di crittografia fornita dal cliente.ZONE
: la zona in cui si trovano le istanze.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.DISK_URL
: URL della risorsa corrispondente al nome completo della risorsa del disco collegato che è stato criptato con una chiave di crittografia fornita dal cliente.ENCRYPTION_TYPE
: il tipo di crittografia del disco che utilizzi, che può essere uno dei seguenti:rawKey
,kmsKeyName
orsaEncryptedKey
. Se utilizzi il tiporsaEncryptedKey
, invia una richiestaPOST
al metodobeta.instances.startWithEncryptionKey
.ENCRYPTION_KEY
: la chiave di crittografia utilizzata per criptare i dischi permanenti collegati all'istanza. Le chiavirawKey
orsaEncryptedKey
devono essere codificate in base64. Inoltre, per preparare una chiaversaEncryptedKey
, consulta Wrapping delle chiavi RSA.
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 ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per arrestare e riavviare un'istanza di calcolo, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) nel progetto. 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 arrestare e riavviare un'istanza di calcolo. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per arrestare e riavviare un'istanza di calcolo sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Arresta un'istanza
Quando interrompi un'istanza di calcolo e Compute Engine ne modifica lo stato in
TERMINATED
, l'istanza conserva le risorse collegate, le impostazioni di configurazione, gli indirizzi IP interni, gli indirizzi MAC e i metadati. Tuttavia, l'istanza perde i dati in memoria e lo stato dell'applicazione. Se devi conservarli, sospendi l'istanza.Puoi arrestare un'istanza utilizzando i seguenti metodi. Il metodo scelto dipende dal fatto che all'istanza siano collegati dischi SSD locali e da come vuoi gestire gli script di arresto:
Dopo aver interrotto un'istanza, puoi riavviare l'istanza se necessario o eliminarla se non ne hai più bisogno.
Arrestare un'istanza senza dischi SSD locali
Puoi interrompere 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:
Console
gcloud
Per arrestare una o più istanze in un'unica zona, utilizza il comando
gcloud compute instances stop
:gcloud compute instances stop INSTANCE_NAMES \ --zone=ZONE
Sostituisci quanto segue:
Vai
Java
Node.js
PHP
Python
REST
Per arrestare un'istanza, invia una richiesta
POST
al metodoinstances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
Sostituisci quanto segue:
Arrestare un'istanza con dischi SSD locali
In base al numero di istanze di calcolo che vuoi arrestare contemporaneamente e se devi conservare i dati dei dischi SSD locali collegati, svolgi i seguenti passaggi:
Per arrestare una o più istanze con dischi SSD locali collegati, seleziona una delle seguenti opzioni:
Console
gcloud
Quando arresti una o più istanze in un'unica zona con dischi SSD locali collegati, specifica se ignorare o conservare i dati dell'SSD locale come segue:
Sostituisci quanto segue:
REST
Quando arresti un'istanza a cui sono collegati dischi SSD locali, specifica se eliminare o conservare i dati dell'SSD locale come segue:
Sostituisci quanto segue:
Arrestare un'istanza dal sistema operativo guest
Se arresti un'istanza di calcolo a cui sono collegati dischi SSD locali, l'arresto dell'istanza dall'OS guest comporta l'eliminazione dei dati dell'SSD locale. Se vuoi conservare i dati dell'SSD locale, prima di arrestare l'istanza devi copiarli manualmente in un'opzione di archiviazione permanente, ad esempio i volumi Hyperdisk o Persistent Disk di Google Cloud collegati o anche Cloud Storage.
Per arrestare un'istanza dall'interno del sistema operativo guest, seleziona una delle seguenti opzioni:
Linux
Windows
Riavviare un'istanza
Puoi riavviare un'istanza di calcolo completamente arrestata, ovvero quando lo stato dell'istanza è
TERMINATED
.Se hai scelto di conservare i dati dei dischi SSD locali quando hai arrestato l'istanza, potresti doverli rimontare dopo averla riavviata. Per ulteriori informazioni su come montare i dischi SSD locali, consulta Formattazione e montaggio di un dispositivo SSD locale.
Per riavviare un'istanza, utilizza uno dei seguenti metodi a seconda che all'istanza siano collegati dischi criptati:
Riavviare un'istanza senza dischi criptati
Puoi riavviare più istanze di calcolo contemporaneamente o singole istanze. Per più istanze, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, lgcloud CLI. Per le singole istanze, seleziona una delle seguenti opzioni:
Console
gcloud
Per riavviare una o più istanze in un'unica zona, utilizza il comando
gcloud compute instances start
:gcloud compute instances start INSTANCE_NAMES \ --zone=ZONE
Sostituisci quanto segue:
Vai
Java
Node.js
PHP
Python
REST
Per riavviare un'istanza, invia una richiesta
POST
al metodoinstances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
Sostituisci quanto segue:
Riavviare un'istanza con dischi criptati
Quando riavvii un'istanza di calcolo interrotta con dischi collegati criptati utilizzando chiavi di crittografia fornite dal cliente, devi fornire le informazioni sulla chiave di crittografia.
Per riavviare più istanze contemporaneamente, utilizza la console Google Cloud o, per le istanze situate nella stessa zona, lgcloud CLI. In caso contrario, per riavviare una singola istanza, seleziona una delle seguenti opzioni:
Console
gcloud
Per riavviare una o più istanze in un'unica zona che utilizzano dischi criptati, utilizza il comando
gcloud compute instances start
con il flag--csek-key-file
. Se utilizzi una chiave con wrapping RSA, utilizza il comandogcloud beta compute instances start
con il flag--csek-key-file
:gcloud compute instances start INSTANCE_NAMES \ --csek-key-file=ENCRYPTION_KEY_FILE \ --zone=ZONE
Sostituisci quanto segue:
Vai
Java
Node.js
PHP
Python
REST
Per riavviare un'istanza che utilizza dischi criptati, invia una richiesta
POST
al metodoinstances.startWithEncryptionKey
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/startWithEncryptionKey { "disks": [ { "source": "DISK_URL", "diskEncryptionKey": { "ENCRYPTION_TYPE": "ENCRYPTION_KEY" } } ] }
Sostituisci quanto segue:
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-12-22 UTC.
-