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 le seguenti pagine:

  • Se hai impegni di 1 o 3 anni nel progetto attuale, le risorse prenotate riceveranno 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 che può essere utilizzata da più progetti, consulta Creare una prenotazione condivisa.

Prima di iniziare

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

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

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

      gcloud init
    2. Imposta una regione e una zona predefinite.

    Terraform

    Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

    REST

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

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

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 le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare prenotazioni per un singolo progetto sono necessarie le seguenti autorizzazioni:

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

Potresti anche essere in grado di 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 un singolo progetto.

Per utilizzare una prenotazione, una VM deve avere proprietà che corrispondono esattamente alla prenotazione. Per specificare le proprietà delle VM da 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 l'utilizzo 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 le une alle altre per ridurre la latenza di rete.

Specifica un modello di istanza

Per creare una prenotazione per un singolo progetto specificando un modello di istanza, utilizza la console Google Cloud, gcloud CLI o REST.

Console

Per creare una prenotazione per un singolo progetto specificando un modello di istanza:

  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 Utilizza con istanza VM, seleziona una delle seguenti opzioni:

    • Per consentire alle VM corrispondenti di consumare automaticamente questa prenotazione, fai clic su Utilizza prenotazione automaticamente (impostazione predefinita).

    • Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che hanno come target specificamente questa prenotazione per nome, fai clic su 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 a livello di regione, 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 orario specifici. 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. La creazione della prenotazione per un singolo progetto potrebbe richiedere fino a un minuto.

gcloud

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

Per creare una prenotazione per un singolo progetto specificando un modello di istanza senza 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 a livello di regione: regions/REGION. Sostituisci REGION con la regione in cui si trova il modello di istanza. Se specifichi un modello di istanza a livello di regione, puoi prenotare le VM solo all'interno della regione del modello di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome di un modello di istanza esistente. Se specifichi un modello di istanza che include un criterio di posizionamento compatto, devi specificare il flag --require-specific-reservation. Questo indica che solo le VM che hanno come target specificamente questa prenotazione possono utilizzarla.

  • 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 specificamente questa prenotazione 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:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come giorno del mese a 4 cifre, a 2 cifre e mese a 2 cifre, separate da trattini (-).

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

      • OFFSET: il fuso orario formattato come offset del Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non usare 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 espressa 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 specificando un modello di istanza, effettua una richiesta POST al metodo reservations.insert.

Per creare una prenotazione per un singolo progetto specificando un modello di istanza senza 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 a livello di regione: regions/REGION. Sostituisci REGION con la regione in cui si trova il modello di istanza. Se specifichi un modello di istanza a livello di regione, puoi prenotare le VM solo all'interno della regione del modello di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome di un modello di istanza esistente. Se specifichi un modello di istanza che include un criterio di posizionamento compatto, devi specificare il campo specificReservationRequired nel corpo della richiesta e impostarlo su true. Questo indica che solo le VM che hanno come target questa prenotazione possono utilizzarla.

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 specificamente questa prenotazione possono utilizzarla, includi il campo specificReservationRequired nel corpo della richiesta e impostalo 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 utilizzando il 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 giorno del mese a 4 cifre, a 2 cifre e mese a 2 cifre, separate da trattini (-).

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

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

    • Per eliminare la prenotazione dopo una durata specifica, effettua una richiesta POST utilizzando il 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à, utilizza la console Google Cloud, gcloud CLI, Terraform o REST.

Console

Per creare una prenotazione per un singolo progetto:

  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 Utilizza con istanza VM, seleziona una delle seguenti opzioni:

    • Per consentire alle VM corrispondenti di consumare automaticamente questa prenotazione, fai clic su Utilizza prenotazione automaticamente (impostazione predefinita).

    • Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che hanno come target specificamente questa prenotazione per nome, fai clic su 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 e/o una GPU minima, 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 aggiungere GPU, fai clic su Aggiungi GPU. Quindi, nei campi Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU per ogni VM.

    3. (Facoltativo) Per aggiungere SSD locali:

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

      2. Nel campo Tipo di interfaccia, seleziona l'interfaccia per le 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 del gruppo, quindi 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 criterio, inserisci un nome per il criterio.

        3. Fai clic su Crea.

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

      • In caso contrario, 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 orario specifici. 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. 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 senza 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. Specifica uno dei seguenti valori:

    • Per un tipo di macchina predefinita: MACHINE_FAMILY-standard-CPUS.

    • Per un tipo di macchina personalizzata: MACHINE_FAMILY-custom-CPUS-MEMORY. Prima di specificare un tipo di macchina personalizzata, esamina le limitazioni per le VM con tipi di macchine personalizzate.

    Sostituisci quanto segue:

    • MACHINE_FAMILY: la famiglia di macchine.

    • CPUS: il numero di vCPU.

    • MEMORY: la memoria totale per una VM riservata. La memoria deve essere un multiplo di 256 MB ed essere fornita in MB.

    Ad esempio, per specificare un tipo di macchina personalizzata N2 con 4 vCPU e 5 GB di memoria, pari a 5120 MB, specifica n2-custom-4-5120.

  • 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 che utilizzano ciascuna 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 aggiungere Graphics Processing Unit (GPU) a ogni VM prenotata, includi il flag --accelerator.

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

    Sostituisci quanto segue:

    • NUMBER_OF_ACCELERATORS: il numero di GPU da aggiungere per VM prenotata.

    • ACCELERATOR_TYPE: il tipo di GPU da aggiungere alle VM prenotate.

    Assicurati che il tipo di macchina specificato nella prenotazione supporti i tipi di GPU specificati e che la GPU sia disponibile nella zona in cui vuoi prenotare le risorse. In caso contrario, la creazione della prenotazione non va a buon fine.

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

    Ad esempio, per specificare due SSD locali durante la creazione di una prenotazione, includi due flag --local-ssd.

    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 che utilizzi l'SSD locale. Specifica uno dei seguenti valori:

    • Per le interfacce dei dischi NVME: nvme.

    • Per le interfacce del 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 maggiori informazioni, consulta la pagina su 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 stai prenotando le risorse, visualizza le piattaforme CPU disponibili per zona.

  • Per specificare che solo le VM che hanno come target questa prenotazione 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 per i 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 la prenotazione possono utilizzarlo.

  • 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 giorno del mese a 4 cifre, a 2 cifre e mese a 2 cifre, separate da trattini (-).

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

      • OFFSET: il fuso orario formattato come offset del Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non usare 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 espressa 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.


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 saperne di più 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 senza 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. Specifica uno dei seguenti valori:

    • Per un tipo di macchina predefinita: MACHINE_FAMILY-standard-CPUS.

    • Per un tipo di macchina personalizzata: MACHINE_FAMILY-custom-CPUS-MEMORY. Prima di specificare un tipo di macchina personalizzata, esamina le limitazioni per le VM con tipi di macchine personalizzate.

    Sostituisci quanto segue:

    • MACHINE_FAMILY: la famiglia di macchine.

    • CPUS: il numero di vCPU.

    • MEMORY: la memoria totale per una VM riservata. La memoria deve essere un multiplo di 256 MB ed essere fornita in MB.

    Ad esempio, per specificare un tipo di macchina personalizzata N2 con 4 vCPU e 5 GB di memoria, pari a 5120 MB, specifica n2-custom-4-5120.

Ad esempio, per creare una prenotazione nella zona us-central1-a per dieci VM che utilizzano ciascuna 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 aggiungere GPU (Graphics Processing Unit) a ogni VM prenotata, 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:

    • NUMBER_OF_ACCELERATORS: il numero di GPU da aggiungere per VM prenotata.

    • ACCELERATOR_TYPE: il tipo di GPU da aggiungere alle VM prenotate.

    Assicurati che il tipo di macchina specificato nella prenotazione supporti i tipi di GPU specificati e che la GPU sia disponibile nella zona in cui vuoi prenotare le risorse. In caso contrario, la creazione della prenotazione non va a buon fine.

  • Per aggiungere uno o più SSD locali a ogni VM prenotata, includi il campo localSsds nel corpo della richiesta. Puoi specificare fino a 24 SSD locali. Ogni SSD locale ha una dimensione di 375 GB.

    Ad esempio, per specificare due 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 da utilizzare per ogni unità SSD locale. Specifica uno dei seguenti valori:

    • Per le interfacce dei dischi NVME: NVME.

    • Per le interfacce del 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 maggiori informazioni, consulta la pagina su 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 stai prenotando le risorse, visualizza le piattaforme CPU disponibili per zona.

  • Per specificare un criterio di posizionamento compatto e 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. Devi prenotare le risorse all'interno della stessa regione del criterio di posizionamento. In caso contrario, la creazione della prenotazione non va a buon fine.

    • 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:

  • Per specificare che solo le VM che hanno come target specificamente questa prenotazione possono utilizzarla, includi il campo specificReservationRequired nel corpo della richiesta e impostalo 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 utilizzando il 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 giorno del mese a 4 cifre, a 2 cifre e mese a 2 cifre, separate da trattini (-).

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

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

    • Per eliminare la prenotazione dopo una durata specifica, effettua una richiesta POST utilizzando il 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