Questo documento spiega come limitare il tempo di esecuzione delle istanze di macchine virtuali (VM) nuove o esistenti e come monitorare il tempo di esecuzione di queste VM. Per i gruppi di istanze gestite (MIG), consulta Limitare il tempo di esecuzione di un gruppo di istanze gestite .
Quando limiti il tempo di esecuzione di una VM, puoi programmarne l'interruzione (l'arresto o l'eliminazione) automatica quando raggiunge un limite di tempo specifico (durata o ora). Utilizza i limiti di tempo per ottimizzare i carichi di lavoro temporanei in modo automatico limitando i tempi di esecuzione delle VM, puoi ridurre al minimo i costi e liberare le quote.
Per scoprire come arrestare immediatamente una VM, consulta Arrestare o riavviare una VM. Per scoprire come eliminare immediatamente una VM, consulta Eliminare una VM.
Prima di iniziare
-
Per ottenere le autorizzazioni necessarie per limitare il tempo di esecuzione di una VM, 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.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
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 eseguire l'autenticazione
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
L'azione di risoluzione automatica deve essere di tipo stop o delete. Non puoi configurare una VM in modo che venga sospesa automaticamente al raggiungimento del limite di tempo.
Il limite di tempo minimo è di 30 secondi e il limite di tempo massimo è di 120 giorni.
La chiusura automatica potrebbe richiedere fino a 30 secondi in più rispetto alla durata o l'ora specificata per iniziare ad arrestare o eliminare la VM.
Non puoi utilizzare i limiti di tempo con le VM prerilasciabili precedenti. Utilizza invece i limiti di tempo con le VM spot.
I dati dell'unità SSD locale di una VM non possono essere conservati quando la VM viene arrestata automaticamente a causa di un limite di tempo. Per ulteriori informazioni, vedi Arresta una VM con SSD locale.
Il timestamp di chiusura di una VM (
terminationTimestamp
) è un campo di sola lettura che rappresenta l'ora pianificata per i dalla risoluzione ed è definita automaticamente Compute Engine ogni volta che una VM ha un limite di tempo e inserisce ilRUNNING
.Il timestamp di terminazione viene cancellato automaticamente ogni volta che una VM viene fermata o sospesa. Tuttavia, il timestamp di chiusura non cambia quando reimpostare una VM o riavvia una VM.
Il timestamp di terminazione viene ridefinito automaticamente ogni volta che la VM viene riavviata o ripresa in base al tipo di limite di tempo impostato:
- Se imposti una durata per la VM, il timestamp di terminazione viene nuovamente calcolato aggiungendo questa durata all'ora di inizio più recente della VM.
- Se imposti un'ora per la VM, il timestamp di terminazione impostato su quel momento. Tuttavia, l'ora deve essere futura. In caso contrario, tutte le richieste di creazione o esecuzione di nuovo della VM non andranno a buon fine finché non aggiornerai o rimuoverai l'ora.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.
Nel campo Tipo di limite di tempo, seleziona Per ore (impostazione predefinita). per specificare il limite di tempo come durata. Nel campo seguente, inserisci la durata in ore.
Nell'elenco Alla terminazione della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:
- Per arrestare automaticamente la VM, seleziona Interrompi (impostazione predefinita).
- Per eliminare la VM, seleziona Elimina.
(Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.
Per creare e avviare la VM, fai clic su Crea.
- Per creare una VM che viene terminata automaticamente dopo un determinato periodo di tempo,
devi includere il flag
--max-run-duration
. - Per specificare l'azione di interruzione, includi il flag
--instance-termination-action
. - Configura il
Flag
--discard-local-ssds-at-termination-timestamp
:- Se la VM ha SSD locali e l'azione di terminazione
(
TERMINATION_ACTION
) è l'arresto (STOP
), devi includi i--discard-local-ssds-at-termination-timestamp=true
flag. - In caso contrario, ometti
--discard-local-ssds-at-termination-timestamp
flag.
- Se la VM ha SSD locali e l'azione di terminazione
(
VM_NAME
: il nome del una nuova VM.DURATION
: la durata per cui vuoi che la VM venga eseguita prima di essere interrotta automaticamente. Formatta la durata come numero di giorni, ore, minuti e secondi seguiti rispettivamente dad
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o1d2h3m4s
per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere stop (STOP
) o delete (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza
--provisioning-model=SPOT
),--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario (valore predefinito), il flag
--instance-termination-action=TERMINATION_ACTION
è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza
- Per creare una VM che viene terminata automaticamente dopo un determinato periodo di tempo,
devi includere
argomento
max_run_duration
. - Per specificare l'azione di terminazione, includi
l'argomento
instance_termination_action
. Devi includere l'argomentoinstance_termination_action
a meno che tu non sia sulla creazione di una VM spot (impostaprovisioning_model
argomento suSPOT
), che per impostazione predefinita viene arrestata (STOP
). - Configura l'argomento
on_instance_stop_action
:- Se la VM ha SSD locali e l'azione di terminazione (argomento
instance_termination_action
) è stop (STOP
), devi impostare l'argomentoon_instance_stop_action
su true (true
). - In caso contrario, ometti l'argomento
on_instance_stop_action
.
- Se la VM ha SSD locali e l'azione di terminazione (argomento
PROJECT_ID
: il project id del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche tipo di macchina utilizzare per la nuova VM.MACHINE_TYPE
: il predefinita o personalizzato per la nuova VM.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi specificare una versione specifica di un'immagine pubblica o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea un'istanza VM dell'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.DURATION
: la durata in secondi per cui vuoi che questa VM venga eseguita prima di essere interrotta automaticamente. La durata minima è di 30 secondi (30s
) e quella massima di 120 giorni (120d
).TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere stop (STOP
) o delete (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il campo
"provisioningModel": "SPOT"
), il campo"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, verrà applicata la risoluzione predefinita l'azione è Interrompi. - In caso contrario (valore predefinito), il
"instanceTerminationAction": "TERMINATION_ACTION"
campo è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il campo
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.
Seleziona la casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.
Nel campo Tipo di limite di tempo, seleziona Per data per specificare il limite di tempo come data e ora. Nel campo seguente, fai clic su
Seleziona data e ora e seleziona la data, l'ora e il fuso orario per il limite di tempo.Nell'elenco Alla terminazione della VM, seleziona cosa succede quando il tempo di esecuzione della VM raggiunge il limite di tempo specificato:
- Per arrestare automaticamente la VM, seleziona Interrompi (impostazione predefinita).
- Per eliminare la VM, seleziona Elimina.
(Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.
Per creare e avviare la VM, fai clic su Crea.
- Per creare una VM che viene terminata automaticamente in un momento specifico,
devi includere il flag
--termination-time
. - Per specificare l'azione di terminazione, includi il flag
--instance-termination-action
, facoltativo per le VM Spot. - Configura il
Flag
--discard-local-ssds-at-termination-timestamp
:- Se la VM ha SSD locali e imposta l'azione di interruzione (
TERMINATION_ACTION
) su stop (STOP
), devi includere il flag--discard-local-ssds-at-termination-timestamp=true
. - In caso contrario, ometti il flag
--discard-local-ssds-at-termination-timestamp
.
- Se la VM ha SSD locali e imposta l'azione di interruzione (
VM_NAME
: il nome del una nuova VM.TIME
: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare offset (UTC+0), specificaZ
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza
--provisioning-model=SPOT
),--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, verrà applicata la risoluzione predefinita l'azione è Interrompi. - In caso contrario (valore predefinito), il
--instance-termination-action=TERMINATION_ACTION
flag è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza
PROJECT_ID
: il ID progetto del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche il tipo di macchina da utilizzare per la nuova VM.MACHINE_TYPE
: il tipo di macchina predefinito o personalizzato per la nuova VM.VM_NAME
: il nome del una nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi una specifica versione di un immagine o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.TIME
: l'ora in cui vuoi che la VM venga terminata automaticamente. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del Tempo Coordinato Universale (UTC). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare alcun offset (UTC+0), specificaZ
.
TERMINATION_ACTION
: l'azione di risoluzione per questa VM, che può essere arrestata (STOP
) o eliminata (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il campo
"provisioningModel": "SPOT"
), il campo"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop. - In caso contrario,
Il campo
"instanceTerminationAction": "TERMINATION_ACTION"
è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il campo
Nella console Google Cloud, vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome della VM che vuoi per aggiornarli.
Nella pagina Dettagli dell'istanza VM, completa i seguenti passaggi:
- Se la VM è in esecuzione, fai clic su Interrompi per arrestarla.
- Per modificare la VM, fai clic su Modifica.
Nella pagina Modifica istanza, completa i seguenti passaggi:
Nella sezione Criteri di disponibilità, modifica il Casella di controllo Imposta un limite di tempo per la VM e qualsiasi campo sottostante, come desiderato.
Per ulteriori informazioni su come configurare le proprietà per limiti di tempo, consulta limitare il tempo di esecuzione di una nuova VM.
Per salvare le modifiche, fai clic su Salva.
(Facoltativo) Se vuoi iniziare a eseguire la VM ora, fai clic su Avvia.
Se la VM è in esecuzione, interrompila utilizzando il comando
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM che vuoi aggiornare.Aggiorna il limite di tempo della VM utilizzando Comando
gcloud compute instances set-scheduling
.gcloud compute instances set-scheduling VM_NAME \ --max-run-duration=DURATION \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION \ --discard-local-ssds-at-termination-timestamp=true
Configura i seguenti flag:
- Devi omettere il flag
--max-run-duration
o il flag--termination-time
per impostare il limite di tempo come ora o durata. - Includi il flag
--instance-termination-action
per impostare l'azione di interruzione. - Se la VM ha SSD locali e imposta l'azione di interruzione (
TERMINATION_ACTION
) su stop (STOP
), devi includere il flag--discard-local-ssds-at-termination-timestamp=true
. In caso contrario, ometti il flag--discard-local-ssds-at-termination-timestamp=true
.
Quindi, sostituisci quanto segue:
VM_NAME
: il nome del VM che vuoi aggiornare.DURATION
: la durata per cui vuoi che la VM venga eseguita prima di essere interrotta automaticamente. Formatta la durata come il numero di giorni, ore, minuti e secondi seguito rispettivamente dad
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o1d2h3m4s
per una durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. Il minimo La durata è di 30 secondi (30s
) e la durata massima è di 120 giorni (120d
).TIME
: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno di quattro cifre, Mese e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora nel formato a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), che è 8 ore in anticipo rispetto al fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare offset (UTC+0), specificaZ
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza il flag
--provisioning-model=SPOT
), il flag--instance-termination-action=TERMINATION_ACTION
è facoltativo. Se questo flag viene omesso, verrà applicata la risoluzione predefinita l'azione è Interrompi. - In caso contrario,
--instance-termination-action=TERMINATION_ACTION
è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza il flag
- Devi omettere il flag
Se vuoi avviare la VM, utilizza il comando
gcloud compute instances start
:gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della VM.Se la VM è in esecuzione, arrestala utilizzando il metodo
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del progetto che contiene la VM.ZONE
: la zona che contiene la VM.VM_NAME
: il nome della VM che vuoi aggiornare.
Aggiorna la proprietà
scheduling
della VM, inclusi i campi per il limite di tempo della VM, Metodoinstances.setScheduling
. Includi il campomaxRunDuration
oterminationTime
per impostare il limite di tempo rispettivamente come durata o tempo:Per impostare una durata, utilizza la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }Per impostare un orario, utilizza la richiesta seguente:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM. La zona deve supportare anche tipo di macchina utilizzare per la nuova VM.MACHINE_TYPE
: il predefinita o personalizzato per la nuova VM.VM_NAME
: il nome del una nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichifamily/debian-10
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: l'immagine della nuova VM. Puoi una specifica versione di un immagine o una famiglia di immagini. Ad esempio, se specifichifamily/debian-10
come immagine edebian-cloud
come progetto immagine, Compute Engine crea un'istanza VM dell'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.DURATION
: la durata in secondi per cui vuoi che questa VM venga eseguita prima di essere interrotta automaticamente. Il minimo La durata è di 30 secondi (30s
) e la durata massima è di 120 giorni (120d
).TIME
: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formatta l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare offset (UTC+0), specificaZ
.
TERMINATION_ACTION
: l'azione di terminazione per questa VM, che può essere di arresto (STOP
) o di eliminazione (DELETE
). Il fatto che questo campo sia obbligatorio o abbia un valore predefinito varia in base al modello di provisioning della VM:- Se si tratta di una VM spot (se la VM utilizza
"provisioningModel": "SPOT"
),"instanceTerminationAction": "TERMINATION_ACTION"
è facoltativo. Se questo campo viene omesso, l'azione di interruzione predefinita è stop. - Altrimenti (impostazione predefinita),
Il campo
"instanceTerminationAction": "TERMINATION_ACTION"
è obbligatorio.
- Se si tratta di una VM spot (se la VM utilizza
Se vuoi che la VM inizi a essere eseguita, avviala utilizzando Metodo
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del progetto che contiene la VM.ZONE
: la zona che contiene la VM.VM_NAME
: il nome del VM.
Per vedere quando è pianificata la terminazione automatica di una VM in esecuzione, visualizza il timestamp di terminazione della VM:
- Visualizza i dettagli di una VM.
- Nell'output, visualizza il campo della VM per il timestamp di terminazione:
- Se utilizzi la console Google Cloud, consulta il campo Durata massima.
- Se utilizzi Google Cloud CLI o l'API Compute Engine, consulta
Campo
terminationTimestamp
.
Per verificare se una VM è stata terminata automaticamente, visualizza le operazioni della VM:
- Visualizza le operazioni delle VM.
Nell'output, puoi identificare le operazioni VM causate da un limite di tempo cercando i seguenti tipi di operazioni:
compute.instances.deferredStop
indica un'azione di risoluzione automatica dell'interruzionecompute.instances.deferredDelete
indica un'azione di eliminazione automatica
Scopri come ottimizzare ulteriormente le tue VM:
- Se i tuoi carichi di lavoro sono a tolleranza di errore, puoi utilizzare le VM spot per ottenere sconti significativi e una quota dedicata facoltativa.
- Se vuoi che una VM esegua automaticamente i comandi prima dell'arresto, puoi utilizzare gli script di arresto.
Scopri di più sulle opzioni per limitare automaticamente i tempi di esecuzione delle VM:
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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
La limitazione del tempo di esecuzione di una VM presenta le seguenti limitazioni:
Limita il tempo di esecuzione di una nuova VM
Le seguenti sezioni descrivono come configurare un limite di tempo durante la creazione di una nuova VM. Puoi specificare il limite di tempo, ovvero il momento in cui vuoi che una VM venga interrotta automaticamente, come durata (
maxRunDuration
) o ora (terminationTime
).Quando decidi il tipo di limite di tempo per una VM, considera che quest'ultima potrebbe interrotta, ad esempio da una richiesta di un utente o da una evento organizzatore. Il comportamento di un limite di tempo varia in base al tipo di interruzione e al tipo di limite di tempo:
Imposta una durata
Un'opzione duration indica il tempo di esecuzione totale che vuoi per una VM. Creare una VM che viene terminata automaticamente dopo l'esecuzione della VM per un una durata specifica, utilizzare la console Google Cloud, Google Cloud CLI, Terraform l'API Compute Engine.
Console
gcloud
Per creare una VM dall'interfaccia a riga di comando gcloud, utilizza il comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --max-run-duration=DURATION \ --instance-termination-action=TERMINATION_ACTION
Sostituisci quanto segue:
Per ulteriori informazioni sulle altre opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Terraform
Per creare una VM utilizzando Terraform, utilizza la risorsa
google_compute_instance
.Per ulteriori informazioni, consulta Documentazione Terraform per la risorsa
google_compute_instance
.REST
Per creare una VM dall'API Compute Engine, utilizza Metodo
instances.insert
. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.Per creare una VM che viene terminata automaticamente dopo una durata specifica, devi includere il campo
maxRunDuration
. Per specificare l'azione di chiusura, includi iinstanceTerminationAction
, che è facoltativo per le VM spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }, }Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Imposta un orario
L'attributo time rappresenta la data, l'ora e il fuso orario in cui vuoi che una VM può essere risolto. Creare una VM che viene terminata automaticamente in una data utilizza la console Google Cloud, Google Cloud CLI o l'API Compute Engine.
Console
gcloud
Per creare una VM dall'interfaccia a riga di comando gcloud, utilizza il comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION
Sostituisci quanto segue:
Per ulteriori informazioni sulle altre opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
REST
Per creare una VM dall'API Compute Engine, utilizza il metodo
instances.insert
. Devi specificare un nome, un tipo di macchina e un disco di avvio per la VM.Per creare una VM che viene terminata automaticamente a un orario specifico, devi includere il campo
terminationTime
. Per specificare l'azione di chiusura, includi iinstanceTerminationAction
, che è facoltativo per le VM spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }, }Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni che puoi specificare durante la creazione di una VM, consulta Creazione e avvio di un'istanza VM.
Limitare il tempo di esecuzione di una VM esistente
Puoi limitare il tempo di esecuzione di una VM esistente aggiornando la pianificazione della VM. Se non sai già come configurare le impostazioni per i limiti di tempo, consulta prima le sezioni precedenti su come limitare il tempo di esecuzione di una nuova VM.
Puoi utilizzare la console Google Cloud, Google Cloud CLI o l'API Compute Engine per Aggiornare le proprietà relative alla pianificazione della VM, come descritto in questa sezione. Questo metodo richiede prima l'arresto della VM e poi l'aggiornamento proprietà, quindi riavvialo. In alternativa, se vuoi aggiornare contemporaneamente altre proprietà VM e arrestare e riavviare automaticamente una VM, consulta Aggiornare le proprietà delle istanze.
Console
gcloud
Per aggiornare il limite di tempo di una VM utilizzando gcloud CLI, completa questi passaggi:
REST
Per aggiornare il limite di tempo di una VM utilizzando l'API Compute Engine, completa i seguenti passaggi:
Monitora il tempo di esecuzione di una VM
Puoi monitorare il tempo di esecuzione di una VM con un limite di tempo utilizzando le seguenti opzioni:
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-10-14 UTC.
-