Limitare il tempo di esecuzione di una VM

Questo documento spiega come limitare il tempo di esecuzione di istanze di macchine virtuali (VM) nuove o esistenti e come il tempo di esecuzione delle 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 pianificarne l'esecuzione automatica terminata (interrotta o eliminata) quando raggiunge un limite di tempo specifico. (durata o tempo). 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 Arresta o riavvia 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 Ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        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 prevede le seguenti restrizioni:

  • 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 è 30 secondi e quello 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 limiti di tempo con VM prerilasciabili legacy. Utilizza invece i limiti di tempo con VM spot.

  • I dati degli SSD locali di una VM non possono essere conservati se la VM viene interrotta automaticamente a causa di un limite di tempo. Per ulteriori informazioni, vedi Arresta una VM con SSD locale.

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 quando per la terminazione automatica di una VM come duration (maxRunDuration) o un orario (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 il tipo di limite di tempo:

  • 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 il RUNNING.

  • Il timestamp di terminazione viene cancellato automaticamente ogni volta che viene eseguita una VM interrotto o sospeso. 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 riavviati o ripresi in base al tipo di limite di tempo impostato:

    • Se imposti una durata per la VM, il timestamp di terminazione ricalcolata 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 nel futuro; altrimenti le richieste di creazione o riesecuzione della VM non vanno a buon fine finché non aggiorni o rimuovi l'ora.

Imposta una durata

Il valore duration rappresenta 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

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.

  3. Seleziona il Casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.

  4. 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.

  5. 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 Arresta (impostazione predefinita).
    • Per eliminare la VM, seleziona Elimina.
  6. (Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.

  7. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare una VM da gcloud CLI, utilizza Comando gcloud compute instances create.

  • 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 recesso, includi la sezione --instance-termination-action flag.
  • 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.
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome del una nuova VM.
  • DURATION: la durata desiderata per questa VM prima dell'interruzione automatica. Formatta la durata come il numero di giorni, ore, minuti e secondi seguito rispettivamente da d, h, m e s. Ad esempio, specifica 30m per una durata di 30 minuti o specifica 1d2h3m4s per 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).
  • 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 il 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.
    • Altrimenti (impostazione predefinita), --instance-termination-action=TERMINATION_ACTION il flag è obbligatorio.

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 creare una VM che viene terminata automaticamente dopo un determinato periodo di tempo, devi includere argomento max_run_duration.
  • Per specificare l'azione di recesso, includi la sezione argomento instance_termination_action. Devi includere l'argomento instance_termination_action a meno che tu non sia sulla creazione di una VM spot (imposta provisioning_model argomento su SPOT), che per impostazione predefinita viene arrestata (STOP).
  • Configura il Argomento on_instance_stop_action:
    • Se la VM ha SSD locali e l'azione di terminazione (instance_termination_action argomento) è stop (STOP), devi imposta l'argomento on_instance_stop_action su true (true).
    • In caso contrario, ometti l'argomento on_instance_stop_action.

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 un determinato periodo di tempo, devi includere il campo maxRunDuration. Per specificare l'azione di chiusura, includi i instanceTerminationAction , 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:

  • 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 specifichi family/debian-10 come immagine, specifica debian-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 specifichi family/debian-10 come immagine e debian-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 desiderata eseguire questa VM prima dell'arresto automatico. Il minimo La durata è di 30 secondi (30s) e la durata massima è di 120 giorni (120d).
  • 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 il 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, verrà applicata la risoluzione predefinita l'azione è Interrompi.
    • Altrimenti (impostazione predefinita), Il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.

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

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Criteri di disponibilità, espandi Impostazioni avanzate del modello di provisioning delle VM.

  3. Seleziona il Casella di controllo Imposta un limite di tempo per la VM. Viene visualizzato il campo Tipo di limite di tempo.

  4. Nel campo Tipo di limite di tempo, seleziona Per data per specificare il limite di tempo come ora e data. Nel campo seguente, fai clic su Seleziona data e ora, quindi seleziona la data, l'ora e il fuso orario per fino al limite di tempo.

  5. 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 Arresta (impostazione predefinita).
    • Per eliminare la VM, seleziona Elimina.
  6. (Facoltativo) Specifica altre opzioni della VM. Per ulteriori informazioni, consulta Creazione e avvio di un'istanza VM.

  7. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare una VM da gcloud CLI, utilizza Comando gcloud compute instances create.

  • Per creare una VM che viene terminata automaticamente a un orario specifico, devi includere il flag --termination-time.
  • Per specificare l'azione di recesso, includi la sezione --instance-termination-action, che è facoltativo per Spot VM.
  • Configura il Flag --discard-local-ssds-at-termination-timestamp:
    • Se la VM ha SSD locali e imposta l'azione di terminazione (TERMINATION_ACTION) per interrompere (STOP), devi includi i --discard-local-ssds-at-termination-timestamp=true flag.
    • In caso contrario, ometti --discard-local-ssds-at-termination-timestamp flag.
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • 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 di quattro cifre, Mese 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), specifica Z.
  • 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 il 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.
    • Altrimenti (impostazione predefinita), Il flag --instance-termination-action=TERMINATION_ACTION è obbligatorio.

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 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 i instanceTerminationAction , 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:

  • 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 specifichi family/debian-10 come immagine, specifica debian-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 specifichi family/debian-10 come immagine e debian-cloud come progetto immagine, Compute Engine crea un'istanza VM dell'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.
  • 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 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), specifica Z.
  • 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 "provisioningModel": "SPOT"), "instanceTerminationAction": "TERMINATION_ACTION" è facoltativo. Se questo campo viene omesso, verrà applicata la risoluzione predefinita l'azione è Interrompi.
    • Altrimenti (impostazione predefinita), Il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.

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 limiti di tempo, consulta le sezioni precedenti su come limitare innanzitutto 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 di arrestare e riavviare automaticamente una VM, Aggiornare le proprietà dell'istanza .

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna Nome, fai clic sul nome della VM che vuoi per aggiornarli.

  3. Nella pagina Dettagli istanza VM, completa i seguenti passaggi:

    1. Se la VM è in esecuzione, fai clic su Arresta per arrestarla.
    2. Per modificare la VM, fai clic su Modifica:
    3. Nella pagina Modifica istanza, completa i seguenti passaggi:

      1. Nella sezione Criteri di disponibilità, modifica 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.

      2. Per salvare le modifiche, fai clic su Salva.

    4. (Facoltativo) Se vuoi iniziare subito a eseguire la VM, fai clic su Inizia.

gcloud

Per aggiornare il limite di tempo di una VM utilizzando gcloud CLI, completa questi passaggi:

  1. Se la VM è in esecuzione, arrestala utilizzando Comando gcloud compute instances stop:

    gcloud compute instances stop VM_NAME
    

    Sostituisci VM_NAME con il nome della VM che che vuoi aggiornare.

  2. 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 --max-run-duration o il flag --termination-time per impostare il limite di tempo rispettivamente come ora o durata.
    • Includi il flag --instance-termination-action per impostare il un'azione di risoluzione.
    • Se la VM ha SSD locali e imposta l'azione di terminazione (TERMINATION_ACTION) per interrompere (STOP), tu deve includere Flag --discard-local-ssds-at-termination-timestamp=true. Altrimenti, ometti --discard-local-ssds-at-termination-timestamp=true flag.

    Quindi, sostituisci quanto segue:

    • VM_NAME: il nome del VM che vuoi aggiornare.
    • DURATION: la durata desiderata per questa VM prima dell'interruzione automatica. Formatta la durata come il numero di giorni, ore, minuti e secondi seguito rispettivamente da d, h, m e s. Ad esempio, specifica 30m per una durata di 30 minuti o specifica 1d2h3m4s per 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 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), specifica Z.
    • 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 il 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.
      • Altrimenti (impostazione predefinita), --instance-termination-action=TERMINATION_ACTION è obbligatorio.
  3. Se vuoi che la VM inizi a essere eseguita, avviala utilizzando Comando gcloud compute instances start:

    gcloud compute instances start VM_NAME
    

    Sostituisci VM_NAME con il nome della VM.

REST

Per aggiornare il limite di tempo di una VM utilizzando Per l'API Compute Engine, completa i seguenti passaggi:

  1. Se la VM è in esecuzione, arrestala utilizzando 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 del VM che vuoi aggiornare.
  2. Aggiorna la proprietà scheduling della VM, inclusi i campi per il limite di tempo della VM, Metodo instances.setScheduling. Includi il campo maxRunDuration o terminationTime 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 specifichi family/debian-10 come immagine, specifica debian-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 specifichi family/debian-10 come immagine e debian-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 desiderata eseguire questa VM prima dell'arresto automatico. 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 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), specifica Z.
    • 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 il 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, verrà applicata la risoluzione predefinita l'azione è Interrompi.
      • Altrimenti (impostazione predefinita), Il campo "instanceTerminationAction": "TERMINATION_ACTION" è obbligatorio.
  3. 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.

Monitora il tempo di esecuzione di una VM

Puoi monitorare il tempo di esecuzione di una VM che ha un limite di tempo utilizzando le seguenti opzioni:

  • Per vedere quando è pianificata l'arresto automatico di una VM in esecuzione, visualizza il timestamp di terminazione della VM:

    1. Visualizza i dettagli di una VM.
    2. 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:

    1. Visualizza le operazioni delle VM.
    2. Nell'output puoi identificare le operazioni delle VM causate un limite di tempo cercando i seguenti tipi di operazioni:

      • compute.instances.deferredStop indica un'azione di terminazione automatica dell'interruzione
      • compute.instances.deferredDelete indica un'azione di risoluzione automatica dell'eliminazione

Passaggi successivi