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 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, segui questi passaggi:

  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 utilizzare automaticamente questa prenotazione, fai clic su Utilizza la prenotazione automaticamente (impostazione predefinita).

    • Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che hanno come target questa prenotazione in modo specifico 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 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 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 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 specifichi un modello di istanza che include un criterio di posizionamento compatto, devi specificare il flag --require-specific-reservation. Ciò indica che solo le VM che hanno come target specifico questa prenotazione possono consumarla.

  • 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 scelgono specificamente come target 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 come segue:

      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 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 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 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 specifico questa prenotazione possono consumarla.

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 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 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 come segue:

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

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

    • Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che hanno come target questa prenotazione in modo specifico 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 minima e/o GPU, 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, segui questi passaggi:

      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 gli 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 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 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 delle macchine.

    • CPUS: il numero di vCPU.

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

    Ad esempio, per specificare un tipo di macchina personalizzata N2 con 4 vCPU e 5 GB di memoria, ovvero 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, 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 aggiungere GPU (Graphics Processing Unit) 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, includere 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 utilizzare l'SSD locale. Specifica uno dei seguenti valori:

    • Per le interfacce dei dischi NVME: nvme.

    • Per le interfacce dei dischi 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 specifico questa prenotazione possono consumarla, 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 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 come segue:

      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.


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 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 delle macchine.

    • CPUS: il numero di vCPU.

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

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

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 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 che vuoi utilizzare per ogni SSD locale. Specifica uno dei seguenti valori:

    • Per le interfacce dei dischi NVME: NVME.

    • Per le interfacce dei dischi 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 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 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 questa prenotazione specificamente 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 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