Questo documento spiega come attivare l'arresto normale in un'istanza Compute Engine nuova o esistente.
Quando attivi l'arresto normale in un'istanza di computing, puoi concedere al sistema operativo guest fino a sei ore per eseguire l'arresto correttamente quando interrompi o elimini l'istanza di computing. In questo modo, eviti la perdita di dati o la corruzione dei file system quando le tue applicazioni hanno bisogno di più tempo per completare le attività in esecuzione. Per scoprire di più sui requisiti e sulle limitazioni che si applicano quando esegui l'arresto normale di un'istanza di computing, consulta Informazioni sull'arresto normale.
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 Cloud de Confiance by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda in base a come prevedi di utilizzare gli esempi in questa pagina:
Console
Quando utilizzi la console Cloud de Confiance per accedere ai servizi e alle API Cloud de Confiance by S3NS , non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init
-
- Imposta una regione e una zona predefinite.
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 accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per abilitare l'arresto normale in un'istanza di computing,
chiedi all'amministratore di concederti il
ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) nel progetto.
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 abilitare l'arresto normale in un'istanza di computing. Per visualizzare con esattezza le autorizzazioni richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per abilitare l'arresto normale in un'istanza di computing sono necessarie le seguenti autorizzazioni:
-
Per creare istanze di computing:
compute.instances.createsul progetto- Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnlysull'immagine - Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnlysullo snapshot - Per utilizzare un template di istanza per creare la VM:
compute.instanceTemplates.useReadOnlysul template di istanza - Per assegnare una rete legacy alla VM:
compute.networks.usesul progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.usesul progetto - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy:
compute.networks.useExternalIpsul progetto - Per specificare una subnet per la VM:
compute.subnetworks.usesul progetto o sulla subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC:
compute.subnetworks.useExternalIpsul progetto o sulla subnet scelta - Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadatasul progetto - Per impostare i tag per la VM:
compute.instances.setTagssulla VM - Per impostare le etichette per la VM:
compute.instances.setLabelssulla VM - Per impostare un service account da utilizzare per la VM:
compute.instances.setServiceAccountsulla VM - Per creare un nuovo disco per la VM:
compute.disks.createsul progetto - Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura:
compute.disks.usesul disco - Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnlysul disco
-
Per creare un template di istanza:
compute.instanceTemplates.createsul progetto -
Per attivare l'arresto normale in un'istanza di computing esistente:
compute.instances.updatesull'istanza di computing
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Attiva l'arresto normale
Per abilitare l'arresto normale in un'istanza di computing, utilizza uno dei seguenti metodi:
Attiva l'arresto normale in un'istanza di computing esistente
Attiva l'arresto normale durante la creazione di un'istanza di computing
Attiva l'arresto normale durante la creazione di un template di istanza
Attiva l'arresto normale in un'istanza di computing esistente
Se attivi l'arresto normale in un'istanza di computing esistente, devi riavviarla come descritto in questa sezione.
Per attivare l'arresto normale in un'istanza di computing esistente, seleziona una delle seguenti opzioni:
Console
Nella console Cloud de Confiance , vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome dell'istanza di computing in cui vuoi attivare l'arresto normale. Viene visualizzata la pagina dei dettagli dell'istanza di computing.
Fai clic su Modifica.
Nella sezione Gestione, segui questi passaggi:
Seleziona la casella di controllo Esegui l'arresto normale della VM.
Nel campo Durata massima visualizzato, inserisci il numero di minuti o secondi che vuoi che duri l'arresto normale. Il valore deve essere compreso tra un secondo e 360 minuti (sei ore).
Fai clic su Salva.
gcloud
Per attivare l'arresto normale in un'istanza di computing esistente, utilizza il
comando gcloud compute instances update
con i flag --graceful-shutdown e --graceful-shutdown-max-duration:
gcloud compute instances update INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza di computing.MAX_DURATION: la durata massima dell'arresto normale. Il valore deve essere formattato come numero di ore, minuti o secondi seguito rispettivamente dah,mes. Ad esempio, specifica1hper un'ora o20m10sper 20 minuti e 10 secondi. Il valore deve essere compreso tra un secondo e sei ore.ZONE: la zona in cui si trova l'istanza di computing.
REST
Crea un file JSON vuoto.
Per visualizzare le proprietà di un'istanza di computing esistente, effettua una richiesta
GETal metodoinstances.get:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMESostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui si trova l'istanza di computingZONE: la zona in cui si trova l'istanza di computing.INSTANCE_NAME: il nome di un'istanza di computing esistente.
Nel file JSON vuoto che hai creato nei passaggi precedenti, procedi in questo modo:
Inserisci i dettagli di configurazione dell'istanza di computing dall'output della richiesta
GET.Nel campo
scheduling, aggiungi il campogracefulShutdowncome indicato di seguito:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }Sostituisci
MAX_DURATIONcon la durata massima dell'arresto normale, in secondi. Il valore deve essere compreso tra1(un secondo) e21600(21.600 secondi o sei ore).
Per aggiornare l'istanza di computing e riavviarla, invia una richiesta
PUTal metodoinstances.update. Nella richiesta, segui questi passaggi:Nell'URL della richiesta, includi il parametro di query
mostDisruptiveAllowedActionimpostato suRESTART.Nel corpo della richiesta, includi le proprietà dell'istanza di computing dal file JSON che hai creato e aggiornato nei passaggi precedenti.
La richiesta
PUTper aggiornare l'istanza di computing è simile alla seguente:PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Per saperne di più sull'aggiornamento delle proprietà di un'istanza di computing, consulta Aggiorna le proprietà delle istanze.
Attiva l'arresto normale durante la creazione di un'istanza di computing
Per creare un'istanza di computing in cui è attivato l'arresto normale, seleziona una delle seguenti opzioni:
Console
Nella console Cloud de Confiance , vai alla pagina Istanze VM.
Fai clic su Crea istanza. Viene visualizzata la pagina Crea un'istanza.
Nel campo Nome, inserisci un nome per l'istanza di computing.
Negli elenchi Regione e Zona, inserisci la regione e la zona in cui creare l'istanza di computing.
Specifica il tipo di macchina per l'istanza di computing.
Espandi la sezione Impostazioni avanzate del modello di provisioning delle VM e segui questi passaggi:
Seleziona la casella di controllo Esegui l'arresto normale della VM.
Nel campo Durata massima visualizzato, inserisci il numero di minuti o secondi che vuoi che duri l'arresto normale. Il valore deve essere compreso tra un secondo e 360 minuti (sei ore).
Fai clic su Crea.
gcloud
Per creare un'istanza di computing in cui è abilitato l'arresto normale, utilizza il
comando gcloud compute instances create
con il flag --graceful-shutdown:
gcloud compute instances create INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--machine-type=MACHINE_TYPE \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza di computing.MAX_DURATION: la durata massima dell'arresto normale. Il valore deve essere formattato come numero di ore, minuti o secondi seguito rispettivamente dah,mes. Ad esempio, specifica1hper un'ora o20m10sper 20 minuti e 10 secondi. Il valore deve essere compreso tra un secondo e sei ore.MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza di computing.ZONE: la zona in cui creare l'istanza di computing.
REST
Per creare un'istanza di computing in cui è abilitato l'arresto normale, effettua una richiesta POST
al
metodo instances.insert.
Nel corpo della richiesta, includi il campo gracefulShutdown:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui creare l'istanza di computingZONE: la zona in cui creare l'istanza di computing.INSTANCE_NAME: il nome dell'istanza di computing.MACHINE_TYPE: il tipo di macchina per l'istanza di computing.IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempiodebian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE: specifica una delle seguenti opzioni:Una versione specifica dell'immagine sistema operativo, ad esempio
debian-12-bookworm-v20240617.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY. Questa formattazione specifica l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
MAX_DURATION: la durata massima dell'arresto normale, in secondi. Il valore deve essere compreso tra1(un secondo) e21600(21.600 secondi o sei ore).
Per saperne di più sulla creazione di un'istanza di computing, consulta Crea e avvia un'istanza Compute Engine.
Attiva l'arresto normale durante la creazione di un template di istanza
Quando crei un template di istanza in cui è attivato l'arresto normale, il periodo predefinito per l'arresto normale è di 10 minuti. Se vuoi, puoi specificare un periodo personalizzato compreso tra un secondo e sei ore. L'arresto normale è attivato per tutte le istanze di computing create utilizzando il template di istanza.
Per creare un template di istanza in cui è attivato l'arresto normale, seleziona una delle seguenti opzioni:
Console
Nella console Cloud de Confiance , vai alla pagina Template di istanza.
Fai clic su Crea template di istanza. Viene visualizzata la pagina Crea un template di istanza.
Nel campo Nome, inserisci un nome per il template di istanza.
Nella sezione Località, seleziona se vuoi creare un template di istanza regionale o globale in base al tuo caso d'uso:
Per ridurre la dipendenza tra regioni, crea un template di istanza regionale completando i seguenti passaggi:
Seleziona A livello di regione.
Nel campo Regione, seleziona la regione in cui creare il template di istanza.
Per utilizzare il template di istanza in più regioni, seleziona Globale.
Nella sezione Configurazione macchina, specifica un tipo di macchina.
Espandi la sezione Impostazioni avanzate del modello di provisioning delle VM e segui questi passaggi:
Seleziona la casella di controllo Esegui l'arresto normale della VM.
Nel campo Durata massima visualizzato, inserisci il numero di minuti o secondi che vuoi che duri l'arresto normale. Il valore deve essere compreso tra un secondo e 360 minuti (sei ore).
Fai clic su Crea.
gcloud
Per creare un template di istanza in cui è abilitato l'arresto normale, utilizza il
comando gcloud compute instance-templates create
con il flag --graceful-shutdown.
Ad esempio, per creare un template di istanza regionale con l'arresto
normale abilitato, esegui il seguente comando. Se vuoi creare un template di istanza globale, utilizza lo stesso comando senza il flag --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
Sostituisci quanto segue:
INSTANCE_TEMPLATE_NAME: il nome del template di istanza di computing.MAX_DURATION: la durata massima dell'arresto normale. Il valore deve essere formattato come numero di ore, minuti o secondi seguito rispettivamente dah,mes. Ad esempio, specifica1hper un'ora o20m10sper 20 minuti e 10 secondi. Il valore deve essere compreso tra un secondo e sei ore.REGION: la regione in cui creare il template di istanza di computing.MACHINE_TYPE: il tipo di macchina per le istanze di computing che crei utilizzando il template di istanza.
REST
Per creare un template di istanza in cui è attivato l'arresto normale, effettua una
richiesta POST con uno dei seguenti metodi:
Per creare un template di istanza globale: metodo
instanceTemplates.insert.Per creare un template di istanza regionale: metodo
regionInstanceTemplates.insert.
Ad esempio, per creare un template di istanza regionale con l'arresto
normale abilitato, effettua una richiesta POST come segue:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui creare il template di istanza.REGION: la regione in cui creare il template di istanza di computing.INSTANCE_TEMPLATE_NAME: il nome del template di istanza di computing.IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempiodebian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE: specifica una delle seguenti opzioni:Una versione specifica dell'immagine sistema operativo, ad esempio
debian-12-bookworm-v20240617.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY. Questa formattazione specifica l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
MACHINE_TYPE: il tipo di macchina per le istanze di computing che crei utilizzando il template di istanza.MAX_DURATION: la durata massima dell'arresto normale, in secondi. Il valore deve essere compreso tra1(un secondo) e21600(21.600 secondi o sei ore).
Per altre opzioni di configurazione durante la creazione di un template di istanza, consulta Crea modelli di istanza.