Crea una prenotazione per un singolo progetto

Questo documento spiega come creare una prenotazione per un singolo progetto, che può essere utilizzata solo dalle istanze di macchine virtuali (VM) nello stesso progetto. Per scoprire di più sulle prenotazioni, consulta Prenotazioni di risorse di zona di Compute Engine.

Per altri metodi di creazione delle prenotazioni, consulta invece le pagine seguenti:

  • Se hai impegni di 1 o 3 anni nel progetto attuale, le risorse prenotate ricevono automaticamente eventuali sconti per impegno di utilizzo applicabili. Puoi anche creare e collegare una prenotazione a un impegno quando lo acquisti. Per scoprire di più, consulta Collegare le prenotazioni agli impegni.

  • Per creare una prenotazione utilizzabile da più progetti, consulta Creare una prenotazione condivisa.

Prima di iniziare

  • Esamina i requisiti e le limitazioni per le prenotazioni.
  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Per utilizzare gli esempi Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

      1. Installa Google Cloud CLI.
      2. Per initialize gcloud CLI, esegui questo comando:

        gcloud init
      3. Crea credenziali di autenticazione locali per il tuo Account Google:

        gcloud auth application-default login

      Per maggiori informazioni, consulta Set up authentication for a local development environment.

      REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare prenotazioni per singoli progetti, chiedi all'amministratore di concederti il ruolo IAM Amministratore Compute (roles/compute.admin) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare prenotazioni per singoli progetti. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare prenotazioni per singoli progetti, sono necessarie le seguenti autorizzazioni:

  • compute.reservations.create nel progetto
  • Per specificare un modello di istanza: compute.instanceTemplates.useReadOnly nel modello di istanza

Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Crea una prenotazione per un singolo progetto

Questa sezione spiega come creare prenotazioni per singoli progetti.

Per utilizzare una prenotazione, una VM deve avere proprietà che corrispondono esattamente alla prenotazione. Per specificare le proprietà delle VM che vuoi prenotare, seleziona una delle seguenti sezioni di questo documento:

Per impostazione predefinita, una prenotazione può essere utilizzata automaticamente da qualsiasi VM con proprietà corrispondenti. Se vuoi controllare il consumo delle prenotazioni, esegui una o più delle seguenti operazioni:

Inoltre, puoi specificare un criterio di posizionamento compatto durante la creazione di una prenotazione per un singolo progetto. Un criterio di posizionamento compatto specifica che le VM devono essere posizionate il più vicino possibile tra loro per ridurre la latenza di rete.

Specifica un modello di istanza

Per evitare errori durante la creazione di una prenotazione specificando un modello di istanza, assicurati di quanto segue:

  • Crea la prenotazione nella stessa regione e nella stessa zona delle risorse all'interno del modello di istanza. Qualsiasi risorsa regionale o di zona specificata in un modello di istanza, ad esempio un tipo di macchina o un volume di Persistent Disk, limita l'utilizzo del modello alle località in cui si trovano le risorse. Ad esempio, se il modello di istanza specifica un volume di Persistent Disk esistente nella zona us-central1-a, puoi creare la prenotazione solo nella stessa zona. Per verificare se un modello esistente specifica risorse che associano il modello a una regione o zona specifica, visualizza i dettagli del modello di istanza e cerca i riferimenti alle risorse a livello di regione o zona al suo interno.

  • Se il modello di istanza specifica un criterio di posizionamento compatto, assicurati che il modello specifichi un tipo di macchina supportato per i criteri di posizionamento compatto. In caso contrario, la creazione della prenotazione non va a buon fine.

Per creare una prenotazione per un singolo progetto specificando un modello di istanza, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Prenotazioni.

    Vai a Prenotazioni

  2. Fai clic su Crea prenotazione.

    Viene visualizzata la pagina Crea una prenotazione.

  3. Nel campo Nome, inserisci un nome per la prenotazione.

  4. Seleziona la regione e la zona in cui vuoi prenotare le risorse.

  5. Nella sezione Tipo di condivisione, fai clic su Locale (impostazione predefinita).

  6. Nella sezione Usa con istanza VM, seleziona una delle seguenti opzioni:

    • Per consentire alle VM corrispondenti di consumare automaticamente questa prenotazione, seleziona Utilizza automaticamente la prenotazione (impostazione predefinita).

    • Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM corrispondenti che hanno come target questa prenotazione in modo specifico per nome, seleziona Seleziona prenotazione specifica.

  7. Nel campo Numero di istanze VM, inserisci il numero di VM che vuoi prenotare.

  8. Nella sezione Configurazione macchina, segui questi passaggi:

    1. Per specificare le proprietà delle VM da un modello di istanza esistente, seleziona Utilizza modello di istanza.

    2. Nel campo Modello di istanza, seleziona il modello di istanza che preferisci. Se selezioni un modello di istanza regionale, puoi prenotare risorse solo all'interno della regione del modello di istanza.

  9. Nella sezione Eliminazione automatica, puoi abilitare l'opzione di eliminazione automatica per consentire a Compute Engine di eliminare automaticamente la prenotazione in una data e un'ora specifiche. L'eliminazione automatica delle prenotazioni può essere utile per evitare addebiti inutili quando smetti di utilizzare la prenotazione.

  10. Per creare la prenotazione, fai clic su Crea.

    Si apre la pagina Prenotazioni. Il completamento della creazione della prenotazione per un singolo progetto potrebbe richiedere fino a un minuto.

gcloud

Per creare una prenotazione per un singolo progetto, utilizza il comando gcloud compute reservations create.

Per creare una prenotazione per un singolo progetto specificando un modello di istanza e senza includere flag facoltativi, esegui questo comando:

gcloud compute reservations create RESERVATION_NAME \
    --project=PROJECT_ID \
    --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome della prenotazione da creare.

  • PROJECT_ID: l'ID del progetto in cui vuoi prenotare le risorse e dove esiste il modello di istanza.

  • LOCATION: la posizione del modello di istanza. Specifica uno dei seguenti valori:

    • Per un modello di istanza globale: global.

    • Per un modello di istanza regionale: regions/REGION. Sostituisci REGION con la regione in cui si trova il modello di istanza. Se specifichi un modello di istanza regionale, puoi prenotare le VM solo nella regione del modello di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome di un modello di istanza esistente. Se il modello di istanza specifica un tipo di macchina A3 o un criterio di posizionamento compatto, devi includere il flag --require-specific-reservation. Questo indica che solo le VM che hanno come target la prenotazione possono utilizzarla. Per maggiori informazioni, consulta Utilizzo delle VM da una prenotazione specifica.

  • NUMBER_OF_VMS: il numero di VM da prenotare.

  • ZONE: la zona in cui prenotare le risorse.

Ad esempio, per creare una prenotazione per dieci VM nella zona us-central1-a specificando un modello di istanza globale, esegui questo comando:

gcloud compute reservations create my-reservation \
    --project=example-project \
    --source-instance-template=projects/example-project/global/example-instance-template \
    --vm-count=10 \
    --zone=us-central1-a

Facoltativamente, puoi eseguire una o più delle seguenti operazioni:

  • Per specificare che solo le VM che hanno come target questa prenotazione specificamente possono utilizzarla, includi il flag --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:

    • Per eliminare la prenotazione in una data e un'ora specifiche, utilizza il comando gcloud beta compute reservations create e includi il flag --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Sostituisci DELETE_AT_TIME con una data e un'ora formattate come timestamp RFC 3339, che deve essere il seguente:none YYYY-MM-DDTHH:MM:SSOFFSET

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

    • Per eliminare la prenotazione dopo un determinato periodo di tempo, utilizza il comando gcloud beta compute reservations create e includi il flag --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Sostituisci DELETE_AFTER_DURATION con una durata in giorni, ore, minuti o secondi. Ad esempio, specifica 30m per 30 minuti o 1d2h3m4s per 1 giorno, 2 ore, 3 minuti e 4 secondi.

REST

Per creare una prenotazione per un singolo progetto, effettua una richiesta POST al metodo reservations.insert.

Per creare una prenotazione per un singolo progetto specificando un modello di istanza e senza includere flag facoltativi, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui vuoi prenotare le risorse e dove esiste il modello di istanza.

  • ZONE: la zona in cui prenotare le risorse.

  • RESERVATION_NAME: il nome della prenotazione da creare.

  • NUMBER_OF_VMS: il numero di VM da prenotare.

  • LOCATION: la posizione del modello di istanza. Specifica uno dei seguenti valori:

    • Per un modello di istanza globale: global.

    • Per un modello di istanza regionale: regions/REGION. Sostituisci REGION con la regione in cui si trova il modello di istanza. Se specifichi un modello di istanza regionale, puoi prenotare le VM solo nella regione del modello di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome di un modello di istanza esistente. Se il modello di istanza specifica un tipo di macchina A3 o un criterio di posizionamento compatto, devi includere il campo specificReservationRequired nel corpo della richiesta e impostare il campo su true. Questo indica che solo le VM che hanno come target questa prenotazione possono consumarla. Per maggiori informazioni, consulta Utilizzo delle VM da una prenotazione specifica.

Ad esempio, per creare una prenotazione per dieci VM nella zona us-central1-a specificando un modello di istanza globale, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template"
  }
}

Facoltativamente, puoi eseguire una o più delle seguenti operazioni:

  • Per specificare che solo le VM che hanno come target questa prenotazione specificamente possono utilizzarla, includi il campo specificReservationRequired nel corpo della richiesta e imposta il campo su true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:

    • Per eliminare la prenotazione in una data e un'ora specifiche, effettua una richiesta POST al metodo beta.reservations.insert. Nel corpo della richiesta, includi il campo deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Sostituisci DELETE_AT_TIME con una data e un'ora formattate come timestamp RFC 3339, che deve essere il seguente:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

    • Per eliminare la prenotazione dopo un determinato periodo di tempo, effettua una richiesta POST al metodo beta.reservations.insert. Nel corpo della richiesta, includi il campo deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Sostituisci DELETE_AFTER_DURATION con una durata in secondi. Ad esempio, specifica 86400 per 86.400 secondi (1 giorno).

Specifica direttamente le proprietà

Per creare una prenotazione per un singolo progetto specificando direttamente le proprietà, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina Prenotazioni.

    Vai a Prenotazioni

  2. Fai clic su Crea prenotazione.

    Viene visualizzata la pagina Crea una prenotazione.

  3. Nel campo Nome, inserisci un nome per la prenotazione.

  4. Seleziona la regione e la zona in cui vuoi prenotare le risorse.

  5. Nella sezione Tipo di condivisione, fai clic su Locale (impostazione predefinita).

  6. Nella sezione Usa con istanza VM, seleziona una delle seguenti opzioni:

    • Per consentire alle VM corrispondenti di consumare automaticamente questa prenotazione, seleziona Utilizza automaticamente la prenotazione (impostazione predefinita).

    • Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM corrispondenti che hanno come target questa prenotazione in modo specifico per nome, seleziona Seleziona prenotazione specifica.

  7. Nel campo Numero di istanze VM, inserisci il numero di VM che vuoi prenotare.

  8. Nella sezione Configurazione macchina, seleziona Specifica il tipo di macchina, quindi specifica quanto segue:

    1. Nei campi Famiglia di macchine, Serie e Tipo di macchina, seleziona una famiglia di macchine, una serie e un tipo di macchina.

    2. (Facoltativo) Per specificare una piattaforma CPU minima o collegare GPU alle VM N1, segui questi passaggi:

      1. Per espandere la sezione Piattaforma CPU e GPU, fai clic sulla freccia di espansione .

      2. (Facoltativo) Per specificare una piattaforma CPU minima, seleziona un'opzione nell'elenco Piattaforma CPU.

      3. (Facoltativo) Per collegare GPU alle VM N1, fai clic su Aggiungi GPU. Quindi, nei campi Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU da collegare a ogni VM N1.

    3. (Facoltativo) Per aggiungere dischi SSD locali:

      1. Nel campo Numero di dischi, seleziona il numero di dischi SSD locali per ogni VM.

      2. Nel campo Tipo di interfaccia, seleziona l'interfaccia per i dischi SSD locali.

    4. (Facoltativo) Per specificare un criterio di posizionamento compatto per una prenotazione che soddisfi i requisiti, fai clic sull'elenco Seleziona o crea un criterio di posizionamento di gruppo ed esegui una delle seguenti operazioni:

      • Per creare un criterio di posizionamento compatto da specificare in questa prenotazione, segui questi passaggi:

        1. Fai clic su Crea criterio di posizionamento del gruppo.

          Viene visualizzato il riquadro Crea un criterio di posizionamento del gruppo.

        2. Nel campo Nome del criterio, inserisci il nome del criterio.

        3. Fai clic su Crea.

          La creazione del criterio di posizionamento compatto potrebbe richiedere alcuni secondi.

      • Altrimenti, seleziona un criterio di posizionamento compatto esistente.

  9. Nella sezione Eliminazione automatica, puoi abilitare l'opzione di eliminazione automatica per consentire a Compute Engine di eliminare automaticamente la prenotazione in una data e un'ora specifiche. L'eliminazione automatica delle prenotazioni può essere utile per evitare addebiti inutili quando smetti di utilizzare la prenotazione.

  10. Per creare la prenotazione, fai clic su Crea.

    La creazione della prenotazione per un singolo progetto potrebbe richiedere un po' di tempo per il completamento. Questa azione ti reindirizza alla pagina Prenotazioni.

gcloud

Per creare una prenotazione per un singolo progetto, utilizza il comando gcloud compute reservations create.

Per creare una prenotazione per un singolo progetto specificando direttamente le proprietà e senza includere flag facoltativi, esegui questo comando:

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome della prenotazione da creare.

  • MACHINE_TYPE: un tipo di macchina da utilizzare per ogni VM. Se specifichi un tipo di macchina A3, devi includere il flag --require-specific-reservation. Questo indica che solo le VM che hanno come target la prenotazione possono utilizzarla. Per maggiori informazioni, consulta Utilizzo delle VM da una prenotazione specifica.

  • PROJECT_ID: l'ID del progetto in cui vuoi prenotare le risorse.

  • NUMBER_OF_VMS: il numero di VM da prenotare.

  • ZONE: la zona in cui prenotare le risorse.

Ad esempio, per creare una prenotazione nella zona us-central1-a per dieci VM, ognuna delle quali utilizza un tipo di macchina predefinita N2 con 4 vCPU, esegui questo comando:

gcloud compute reservations create my-reservation \
    --machine-type=n2-standard-4 \
    --project=example-project \
    --vm-count=10 \
    --zone=us-central1-a

Facoltativamente, puoi eseguire una o più delle seguenti operazioni:

  • Per collegare le GPU alle VM N1 prenotate, includi il flag --accelerator.

    gcloud compute reservations create my-reservation \
        --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
        ...
    

    Sostituisci quanto segue:

  • Per aggiungere uno o più dischi SSD locali a ogni VM prenotata, includi uno o più flag --local-ssd. Puoi specificare fino a 24 dischi SSD locali. Ogni disco SSD locale ha una dimensione di 375 GB.

    Ad esempio, per specificare due dischi SSD locali durante la creazione di una prenotazione, includi due flag --local-ssd come segue:

    gcloud compute reservations create my-reservation \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        ...
    

    Sostituisci INTERFACE_1 e INTERFACE_2 con il tipo di interfaccia che vuoi venga utilizzato dal disco SSD locale. Specifica uno dei seguenti valori:

    • Interfacce disco NVME: nvme

    • Interfacce disco SCSI: scsi

    Assicurati che il tipo di macchina specificato per le VM prenotate supporti le interfacce del disco scelte. In caso contrario, la creazione della prenotazione non va a buon fine. Per ulteriori informazioni, vedi come scegliere un'interfaccia del disco.

  • Per fare in modo che le VM prenotate utilizzino una piattaforma CPU minima specifica anziché la piattaforma CPU predefinita della zona, includi il flag --min-cpu-platform.

    gcloud compute reservations create my-reservation \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        ...
    

    Sostituisci MIN_CPU_PLATFORM con una piattaforma CPU minima. Per assicurarti che una piattaforma CPU sia disponibile nella zona in cui prenota le risorse, visualizza le piattaforme CPU disponibili per zona.

  • Per specificare che solo le VM che hanno come target questa prenotazione specificamente possono utilizzarla, includi il flag --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Per specificare un criterio di posizionamento compatto per una latenza di rete inferiore tra le VM, includi il flag --resource-policies=policy.

    gcloud compute reservations create example-reservation \
        --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \
        --require-specific-reservation \
        ...
    

    Sostituisci COMPACT_PLACEMENT_POLICY_NAME con il nome di un criterio di posizionamento compatto esistente. Inoltre, per evitare errori durante la creazione di una prenotazione per un singolo progetto che specifica un criterio di posizionamento compatto, assicurati di specificare quanto segue:

    • Un tipo di macchina supportato e numero massimo di VM per criteri di posizionamento compatto.

    • Una zona all'interno della regione in cui si trova il criterio di posizionamento compatto.

    • Il flag --require-specific-reservation. Questo indica che solo le VM che hanno come target specifico la prenotazione possono consumarla.

  • Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:

    • Per eliminare la prenotazione in una data e un'ora specifiche, utilizza il comando gcloud beta compute reservations create e includi il flag --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Sostituisci DELETE_AT_TIME con una data e un'ora formattate come timestamp RFC 3339, che deve essere il seguente:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

    • Per eliminare la prenotazione dopo un determinato periodo di tempo, utilizza il comando gcloud beta compute reservations create e includi il flag --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Sostituisci DELETE_AFTER_DURATION con una durata in giorni, ore, minuti o secondi. Ad esempio, specifica 30m per 30 minuti o 1d2h3m4s per 1 giorno, 2 ore, 3 minuti e 4 secondi.

Terraform

Per creare una prenotazione per un singolo progetto, utilizza la risorsa Terraform google_compute_reservation.

Ad esempio, per creare una prenotazione per un singolo progetto per un tipo di macchina predefinita N2 con 2 vCPU, utilizza la risorsa seguente:


resource "google_compute_reservation" "default" {
  name = "gce-reservation-local"
  zone = "us-central1-a"

  /**
   * To specify a single-project reservation, omit the share_settings block
   * (default) or set the share_type field to LOCAL.
   */
  share_settings {
    share_type = "LOCAL"
  }

  specific_reservation {
    count = 1
    instance_properties {
      machine_type = "n2-standard-2"
    }
  }

  /**
   * To let VMs with affinity for any reservation consume this reservation, omit
   * the specific_reservation_required field (default) or set it to false.
   */
  specific_reservation_required = false
}

Per maggiori informazioni su come utilizzare Terraform, consulta Utilizzo di Terraform con Google Cloud.

REST

Per creare una prenotazione per un singolo progetto, effettua una richiesta POST al metodo reservations.insert.

Per creare una prenotazione per un singolo progetto specificando direttamente le proprietà e senza includere campi facoltativi, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui vuoi prenotare le risorse.

  • ZONE: la zona in cui prenotare le risorse.

  • RESERVATION_NAME: il nome della prenotazione da creare.

  • NUMBER_OF_VMS: il numero di VM da prenotare.

  • MACHINE_TYPE: un tipo di macchina da utilizzare per ogni VM. Se specifichi un tipo di macchina A3, devi includere il campo specificReservationRequired nel corpo della richiesta e impostare il campo su true. Questo indica che solo le VM che hanno come target specifico la prenotazione possono consumarla. Per maggiori informazioni, consulta Utilizzo delle VM da una prenotazione specifica.

Ad esempio, per creare una prenotazione nella zona us-central1-a per dieci VM, ognuna delle quali utilizza un tipo di macchina predefinita N2 con 4 vCPU, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "instanceProperties": {
      "machineType": "n2-standard-4",
    }
  }
}

Facoltativamente, puoi eseguire una o più delle seguenti operazioni:

  • Per collegare le GPU alle VM N1 prenotate, includi il campo guestAccelerators nel corpo della richiesta.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Sostituisci quanto segue:

  • Per aggiungere uno o più dischi SSD locali a ogni VM prenotata, includi il campo localSsds nel corpo della richiesta. Puoi specificare fino a 24 dischi SSD locali. Ogni disco SSD locale è da 375 GB.

    Ad esempio, per specificare due dischi SSD locali durante la creazione di una prenotazione, specifica quanto segue:

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Sostituisci INTERFACE_1 e INTERFACE_2 con il tipo di interfaccia che vuoi venga utilizzato da ogni disco SSD locale. Specifica uno dei seguenti valori:

    • Interfacce disco NVME: NVME

    • Interfacce disco SCSI: SCSI

    Assicurati che il tipo di macchina specificato per le VM prenotate supporti le interfacce del disco scelte. In caso contrario, la creazione della prenotazione non va a buon fine. Per ulteriori informazioni, vedi come scegliere un'interfaccia del disco.

  • Per fare in modo che le VM prenotate utilizzino una piattaforma CPU minima specifica anziché la piattaforma CPU predefinita della zona, includi il campo minCpuPlatform nel corpo della richiesta.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "minCpuPlatform": "MIN_CPU_PLATFORM",
          ...
        },
        ...
      }
    }
    

    Sostituisci MIN_CPU_PLATFORM con una piattaforma CPU minima. Per assicurarti che una piattaforma CPU sia disponibile nella zona in cui prenota le risorse, visualizza le piattaforme CPU disponibili per zona.

  • Per specificare un criterio di posizionamento compatto al fine di ridurre la latenza di rete tra le VM prenotate, includi il campo resourcePolicies nel corpo della richiesta.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "resourcePolicies": {
        "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME"
      },
      "specificReservationRequired": true,
      ...
    }
    

    Sostituisci quanto segue:

    • REGION: la regione in cui si trova il criterio di posizionamento compatto. Puoi creare la prenotazione solo all'interno della regione del criterio di posizionamento.

    • COMPACT_PLACEMENT_POLICY_NAME: il nome di un criterio di posizionamento compatto esistente.

    Inoltre, per evitare errori durante la creazione di una prenotazione per un singolo progetto che specifica un criterio di posizionamento compatto, assicurati di specificare quanto segue:

    • Un tipo di macchina supportato per i criteri di posizionamento compatto.

    • Il campo specificReservationRequired è stato impostato su true. Questo indica che solo le VM che hanno come target questa prenotazione possono consumarla.

  • Per specificare che solo le VM che hanno come target questa prenotazione specificamente possono utilizzarla, includi il campo specificReservationRequired nel corpo della richiesta e imposta il campo su true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:

    • Per eliminare la prenotazione in una data e un'ora specifiche, effettua una richiesta POST al metodo beta.reservations.insert. Nel corpo della richiesta, includi il campo deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Sostituisci DELETE_AT_TIME con una data e un'ora formattate come timestamp RFC 3339, che deve essere il seguente:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

    • Per eliminare la prenotazione dopo un determinato periodo di tempo, effettua una richiesta POST al metodo beta.reservations.insert. Nel corpo della richiesta, includi il campo deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Sostituisci DELETE_AFTER_DURATION con una durata in secondi. Ad esempio, specifica 86400 per 86.400 secondi (1 giorno).

Passaggi successivi