Utilizzare le prenotazioni


Questo documento spiega come utilizzare Compute Engine per:

  • Utilizza istanze di macchine virtuali (VM) riservate.

  • Verifica il consumo delle prenotazioni.

  • Visualizza i report sull'utilizzo delle prenotazioni.

Per ulteriori informazioni sull'utilizzo delle prenotazioni in altri prodotti Google Cloud che utilizzano le VM, consulta la documentazione delle prenotazioni per i seguenti prodotti:

Prima di iniziare

  • Esamina i requisiti e le limitazioni per le prenotazioni.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

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

    Console

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

    gcloud

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

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

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare le prenotazioni, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare le prenotazioni. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per utilizzare le prenotazioni sono necessarie le seguenti autorizzazioni:

  • Per creare le prenotazioni: compute.reservations.create nel progetto
  • Per creare le VM:
    • compute.instances.create sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly nello snapshot
    • Per utilizzare un modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly nel modello di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use nel progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use nel progetto
    • Per assegnare un indirizzo IP esterno alla VM quando nel progetto viene utilizzata una rete precedente: compute.networks.useExternalIp
    • Per specificare una subnet per la VM: compute.subnetworks.use nel progetto o nella subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp nel progetto o nella subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata nel progetto
    • Per impostare i tag per la VM: compute.instances.setTags sulla VM
    • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
    • Per impostare un account di servizio per l'utilizzo di: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create nel progetto
    • Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura: compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco
  • Per creare modelli di istanze: compute.instanceTemplates.create sul progetto

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

Utilizzare VM riservate

Quando crei un'istanza di una macchina virtuale (VM), la VM inizia a utilizzare una prenotazione solo se le proprietà della VM e della prenotazione sono corrispondenti. Inoltre, devi impostare la proprietà di affinità di prenotazione della VM su una delle seguenti opzioni:

  • Utilizza qualsiasi prenotazione corrispondente: la VM può utilizzare automaticamente qualsiasi prenotazione con proprietà corrispondenti (valore predefinito).

    Questa opzione è utile se crei ed elimini molte VM e vuoi utilizzare le prenotazioni ogni volta che è possibile. In questo scenario, è possibile creare una VM anche se le sue proprietà non corrispondono a una prenotazione. Se corrispondono, la VM inizia a utilizzare la prenotazione in base all'ordine di consumo della prenotazione.

  • Utilizza una prenotazione specifica: la VM può utilizzare solo una prenotazione specifica. La prenotazione non può essere consumata automaticamente.

    Questa opzione è utile quando, ad esempio, vuoi riservare una certa quantità di capacità come backup per eventi speciali. In questo scenario, è possibile creare una VM solo se le sue proprietà corrispondono a quelle della prenotazione specifica.

  • Non può consumare alcuna prenotazione: la VM non può consumare alcuna prenotazione.

    Questa opzione è utile, ad esempio, quando crei una VM temporanea di cui non vuoi consumare le risorse riservate.

Utilizza le VM di qualsiasi prenotazione corrispondente

In questo modello di consumo, le VM esistenti e nuove consumano automaticamente una prenotazione se le relative proprietà corrispondono a quelle specificate nella prenotazione.

Quando utilizzi questo modello di consumo, le VM nel progetto corrente consumano prima tutte le prenotazioni per un singolo progetto prima di consumare le prenotazioni condivise. Per maggiori informazioni su come vengono consumate automaticamente le prenotazioni, consulta Ordine di consumo.

Quando crei una prenotazione, questo è il modello di consumo predefinito, a condizione che non utilizzi il flag o l'opzione che indica che sono obbligatorie prenotazioni specifiche.

Console

  1. Per creare una prenotazione con risorse che possono essere utilizzate dalle VM con una proprietà di affinità di prenotazione configurata per utilizzare eventuali prenotazioni (valore predefinito):

    1. Seleziona il tipo di prenotazione che vuoi creare:

      • Per creare una prenotazione autonoma:

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

          Vai a Prenotazioni

        2. Nella scheda Prenotazione on demand (predefinita), fai clic su Crea prenotazione.

          Viene visualizzata la pagina Crea una prenotazione.

      • Per creare una prenotazione collegata a un impegno:

        1. Nella console Google Cloud, vai alla pagina Sconti per utilizzo a livello di impegno.

          Vai a Sconti per impegno di utilizzo

          Viene visualizzata la pagina Elenco impegni.

        2. Fai clic su Impegno di acquisto.

          Viene visualizzata la pagina Acquista uno sconto per impegno di utilizzo.

        3. Specifica le proprietà di impegno. Poi, nella sezione Prenotazioni, fai clic su Aggiungi un articolo.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per ulteriori informazioni su come acquistare un impegno con una prenotazione allegata, consulta la pagina Acquistare impegni con prenotazioni allegate.

    2. Nel campo Nome, inserisci un nome per la prenotazione. Per questo esempio, inserisci reservation-01.

    3. Scegli la Regione e la Zona in cui vuoi prenotare le risorse. Per questo esempio, seleziona us-central1 come regione e us-central1-a come zona.

    4. Scegli il tipo di condivisione che preferisci:

      • Per creare una prenotazione per un singolo progetto, seleziona Locale.
      • Per creare una prenotazione condivisa tra più progetti, seleziona Condivisa. Per condividere questa prenotazione con altri progetti, fai clic su Aggiungi progetti e seleziona i progetti che ti interessano dall'organizzazione del progetto corrente.
    5. Nella sezione Utilizza con l'istanza VM, seleziona Utilizza automaticamente la prenotazione in modo che tutte le VM corrispondenti possano utilizzare automaticamente questa prenotazione.

    6. Nel campo Numero di istanze VM, inserisci il numero di VM che vuoi prenotare. Per questo esempio, inserisci 2.

    7. Specifica le risorse che vuoi prenotare per ogni VM:

      • Se vuoi prenotare VM corrispondenti a un modello di istanza esistente, seleziona Utilizza modello di istanza e un modello di istanza dall'elenco.
      • In caso contrario, seleziona Specifica il tipo di macchina e specifica quanto segue:
        1. Nei campi Famiglia di macchine, Serie e Tipo di macchina, seleziona una famiglia, una serie e un tipo di macchina.
        2. (Facoltativo) Specifica una piattaforma CPU e/o GPU minima:
          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. Poi, nei campi Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU per ogni VM.
        3. (Facoltativo) Aggiungi 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 unità SSD locali.

      Per questo esempio, seleziona Specifica il tipo di macchina. Quindi, seleziona il tipo di macchina n2-standard-32 per la famiglia di macchine General-purpose e la serie N2 e seleziona la piattaforma CPU minima Intel Cascade Lake.

    8. Completa la creazione della prenotazione:

      • Se stai creando una prenotazione autonoma, fai clic su Crea.

      • Se stai creando una prenotazione collegata a un impegno:

        1. Per completare la specifica delle proprietà per questa prenotazione, fai clic su Fine.
        2. Per completare la creazione dell'impegno e delle prenotazioni allegate, fai clic su Acquista.
  2. Nello stesso progetto o in un progetto con cui la prenotazione è condivisa, crea una VM che abbia come target qualsiasi prenotazione aperta.

    Assicurati che le proprietà della VM corrispondano a quelle in reservation-01, tra cui zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, interfaccia e dimensioni dell'SSD locale.

    Per ulteriori informazioni su come creare una VM, consulta Creare e avviare una VM

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

      Vai a Crea un'istanza

      Viene visualizzata la pagina Crea un'istanza.

    2. Specifica un nome per la VM.

    3. Nelle sezioni seguenti, seleziona una configurazione che corrisponde esattamente a tutte le proprietà della prenotazione, incluse quelle facoltative. Per questo esempio, devi associare le seguenti proprietà VM a reservation-01:

      • Regione: us-central1
      • Zona: us-central1-a
      • Tipo di macchina: n2-standard-32
      • Piattaforma CPU minima: Intel Cascade Lake
      • GPU: nessuna
      • SSD locali: nessuna
    4. Espandi la sezione Opzioni avanzate e poi la sezione Gestione. Nell'elenco Prenotazioni, seleziona Usa automaticamente la prenotazione creata.

    5. Per creare la VM, fai clic su Crea.

gcloud

  1. Crea una prenotazione aperta denominata reservation-01.

    gcloud compute reservations create reservation-01 \
        --vm-count=2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a
    
  2. Crea una VM che abbia come target qualsiasi prenotazione aperta e che corrisponda alle proprietà della VM in reservation-01, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché la quantità e l'interfaccia dell'SSD locale.

    gcloud compute instances create instance-1 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=any
    

REST

  1. Crea una prenotazione aperta denominata reservation-01.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name": "reservation-01",
      "specificReservation": {
        "count": "2",
        "instanceProperties": {
          "machineType": "n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      }
    }
    
  2. Crea una VM che abbia come target qualsiasi prenotazione aperta e che corrisponda alle proprietà della VM in reservation-01, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché la quantità e l'interfaccia dell'SSD locale.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-1",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "ANY_RESERVATION"
      }
    }
    

Utilizzare le VM da una prenotazione specifica

In questo modello di consumo, solo le nuove VM che hanno come target una prenotazione specifica per nome possono utilizzarla e la prenotazione non viene consumata automaticamente.

Quando crei la prenotazione, specifica che le VM devono avere come target la prenotazione specifica utilizzando uno dei seguenti metodi:

  • Nella console Google Cloud, seleziona la casella di controllo Seleziona una prenotazione specifica.
  • Nell'interfaccia alla gcloud CLI, includi il flag --require-specific-reservation.
  • Nell'API Compute Engine, imposta il campo specificReservationRequired su true.
  • In Terraform, imposta il campo specific_reservation_required su true.

Quindi, crea VM che scelgono come target specifico la prenotazione. Puoi creare una VM che abbia come target una prenotazione specifica solo se le proprietà della VM e quelle della prenotazione corrispondono. In caso contrario, la creazione della VM non va a buon fine.

Se utilizzi un modello di istanza per creare VM in un gruppo di istanze gestite regionale, crea prenotazioni identiche con lo stesso nome in ogni zona applicabile. Quindi, scegli come target le prenotazioni per nome nel modello di istanza del gruppo.

Ad esempio, crea una prenotazione specifica denominata reservation-02 e poi una VM corrispondente che abbia come target la prenotazione e che corrisponda alle proprietà VM della prenotazione.

A seconda del tipo di VM che vuoi utilizzare, segui i passaggi per utilizzare una prenotazione per un singolo progetto specifico o utilizzare una prenotazione condivisa specifica.

Utilizzare una prenotazione specifica per un singolo progetto

Per utilizzare una prenotazione per un singolo progetto specifico, seleziona una delle seguenti opzioni:

Console

  1. Per creare una prenotazione con risorse che possono essere utilizzate solo dalle VM che scelgono come target specifico la prenotazione per nome:

    1. Seleziona una delle seguenti opzioni:

      • Per creare una prenotazione autonoma:

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

          Vai a Prenotazioni

        2. Nella scheda Prenotazioni on demand (predefinita), fai clic su Crea prenotazione.

          Viene visualizzata la pagina Crea una prenotazione.

      • Per creare una prenotazione collegata a un impegno:

        1. Nella console Google Cloud, vai alla pagina Sconti per utilizzo vincolato.

          Vai a Sconti per impegno di utilizzo

        2. Fai clic su Impegno di acquisto.

          Viene visualizzata la pagina Acquista uno sconto per impegno di utilizzo.

        3. Specifica le proprietà di impegno. Poi, nella sezione Prenotazioni, fai clic su Aggiungi un articolo.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per ulteriori informazioni su come acquistare un impegno con una prenotazione allegata, consulta Acquistare impegni con prenotazioni allegate.

    2. Nel campo Nome, inserisci un nome per la prenotazione. Per questo esempio, inserisci reservation-02.

    3. Scegli la Regione e la Zona in cui vuoi prenotare le risorse. Per questo esempio, seleziona us-central1 come regione e us-central1-a come zona.

    4. Per specificare che la prenotazione sarà per un singolo progetto, seleziona Locale come Tipo di condivisione.

    5. Nella sezione Utilizza con l'istanza VM, seleziona Seleziona prenotazione specifica in modo che solo le VM corrispondenti che hanno come target specifico questa prenotazione per nome possano utilizzarla.

    6. Nel campo Numero di istanze VM, inserisci il numero di VM che vuoi prenotare. Per questo esempio, inserisci 10.

    7. Specifica le risorse che vuoi prenotare per ogni VM:

      • Se vuoi prenotare VM corrispondenti a un modello di istanza esistente, seleziona Utilizza modello di istanza e un modello di istanza dall'elenco.
      • In caso contrario, seleziona Specifica il tipo di macchina e specifica quanto segue:
        1. Nei campi Famiglia di macchine, Serie e Tipo di macchina, seleziona una famiglia, una serie e un tipo di macchina.
        2. (Facoltativo) Specifica una piattaforma CPU e/o GPU minima:
          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. Poi, nei campi Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU per ogni VM.
        3. (Facoltativo) Aggiungi 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 unità SSD locali.

      Per questo esempio, seleziona Specifica il tipo di macchina. Quindi, seleziona il tipo di macchina n2-standard-32 per la famiglia di macchine General-purpose e la serie N2 e seleziona la piattaforma CPU minima Intel Cascade Lake.

    8. Completa la creazione della prenotazione:

      • Se stai creando una prenotazione autonoma, fai clic su Crea.

      • Se stai creando una prenotazione collegata a un impegno:

        1. Per completare la specifica delle proprietà per questa prenotazione, fai clic su Fine.
        2. Per completare la creazione dell'impegno e delle prenotazioni allegate, fai clic su Acquista.
  2. Nello stesso progetto, crea una VM che abbia come target la prenotazione specifica per nome.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione specifica, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché le dimensioni e l'interfaccia dell'SSD locale.

    Per ulteriori informazioni su come creare una VM, consulta Creare e avviare una VM.

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

      Vai a Crea un'istanza

    2. Nel campo Nome, inserisci un nome per la VM.

    3. Nelle sezioni seguenti, seleziona una configurazione che corrisponde esattamente a tutte le proprietà della prenotazione, incluse quelle facoltative. Per questo esempio, devi associare le seguenti proprietà VM a reservation-02:

      • Regione: us-central1
      • Zona: us-central1-a
      • Tipo di macchina: n2-standard-32
      • Piattaforma CPU minima: Intel Cascade Lake
      • GPU: nessuna
      • SSD locali: nessuna
    4. Espandi la sezione Opzioni avanzate e segui questi passaggi:

      1. Espandi la sezione Gestione.

      2. Nella sezione Prenotazioni, nell'elenco Criteri di applicazione, seleziona Seleziona una prenotazione specifica.

      3. Seleziona la prenotazione con le proprietà VM corrispondenti che vuoi che la tua VM utilizzi. Per questo esempio, seleziona reservation-02.

    5. Per creare la VM, fai clic su Crea.

gcloud

  1. Crea una prenotazione denominata reservation-02 con il --require-specific-reservation flag. Queste risorse riservate possono essere utilizzate solo dalle VM che hanno come target specifico questa prenotazione per nome.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --require-specific-reservation
    
  2. Crea una VM che abbia come target reservation-02 per nome utilizzando i flag --reservation-affinity e --reservation.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché l'interfaccia e le dimensioni dell'SSD locale.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=reservation-02
    

REST

  1. Crea una prenotazione denominata reservation-02 con il specificReservationRequired impostato su true.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": true
    }
    
  2. Crea una VM che abbia come target reservation-02 per nome utilizzando il campo reservationAffinity.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché l'interfaccia e le dimensioni dell'SSD locale.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-clouid/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "reservation-02"
        ]
      }
    }
    

Utilizzare una prenotazione condivisa specifica

Per utilizzare una prenotazione condivisa specifica, seleziona una delle seguenti opzioni:

Console

  1. Per creare una prenotazione condivisa con risorse che possono essere utilizzate solo dalle VM che hanno come target specifico questa prenotazione per nome, segui questi passaggi:

    1. Seleziona una delle seguenti opzioni:

      • Per creare una prenotazione autonoma:

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

          Vai a Prenotazioni

        2. Nella scheda Prenotazioni on demand (predefinita), fai clic su Crea prenotazione.

          Viene visualizzata la pagina Crea una prenotazione.

      • Per creare una prenotazione collegata a un impegno:

        1. Nella console Google Cloud, vai alla pagina Sconti per utilizzo a livello di impegno.

          Vai a Sconti per impegno di utilizzo

        2. Fai clic su Impegno di acquisto.

          Viene visualizzata la pagina Acquista uno sconto per impegno di utilizzo.

        3. Specifica le proprietà di impegno. Poi, nella sezione Prenotazioni, fai clic su Aggiungi un articolo.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per ulteriori informazioni su come acquistare un impegno con una prenotazione allegata, consulta Acquistare impegni con prenotazioni allegate.

    2. Nel campo Nome, inserisci un nome per la prenotazione. Per questo esempio, inserisci reservation-02.

    3. Scegli la Regione e la Zona in cui vuoi prenotare le risorse. Per questo esempio, seleziona us-central1 come regione e us-central1-a come zona.

    4. Per specificare che la prenotazione è condivisa, seleziona Condivisa come Tipo di condivisione.

    5. Fai clic su Aggiungi progetti e seleziona i progetti dell'organizzazione del progetto corrente con cui vuoi condividere la prenotazione.

    6. Nella sezione Utilizza con l'istanza VM, seleziona Seleziona prenotazione specifica in modo che solo le VM corrispondenti che hanno come target specifico questa prenotazione per nome possano utilizzarla.

    7. Nel campo Numero di istanze VM, inserisci il numero di VM che vuoi prenotare. Per questo esempio, inserisci 10.

    8. Specifica le risorse che vuoi prenotare per ogni VM:

      • Se vuoi prenotare VM corrispondenti a un modello di istanza esistente, seleziona Utilizza modello di istanza e un modello di istanza dall'elenco.
      • In caso contrario, seleziona Specifica il tipo di macchina e specifica quanto segue:
        1. Nei campi Famiglia di macchine, Serie e Tipo di macchina, seleziona una famiglia, una serie e un tipo di macchina.
        2. (Facoltativo) Specifica una piattaforma CPU e/o GPU minima:
          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. Poi, nei campi Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU per ogni VM.
        3. (Facoltativo) Aggiungi 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 unità SSD locali.

      Per questo esempio, seleziona Specifica il tipo di macchina. Quindi, seleziona il tipo di macchina n2-standard-32 per la famiglia di macchine General-purpose e la serie N2 e seleziona la piattaforma CPU minima Intel Cascade Lake. 1. Completa la creazione della prenotazione:

      • Se stai creando una prenotazione autonoma, fai clic su Crea.

      • Se stai creando una prenotazione collegata a un impegno:

        1. Per completare la specifica delle proprietà per questa prenotazione, fai clic su Fine.
        2. Per completare la creazione dell'impegno e delle prenotazioni allegate, fai clic su Acquista.
  2. Nello stesso progetto o in un progetto con cui la prenotazione è condivisa, crea una VM che abbia come target la prenotazione specifica per nome.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione specifica, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU e l'interfaccia e le dimensioni dell'SSD locale.

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

      Vai a Crea un'istanza

      Viene visualizzata la pagina Crea un'istanza.

    2. Specifica un nome per la VM.

    3. Nelle sezioni seguenti, seleziona una configurazione che corrisponde esattamente a tutte le proprietà della prenotazione, incluse quelle facoltative. Per questo esempio, devi associare le seguenti proprietà VM a reservation-02:

      • Regione: us-central1
      • Zona: us-central1-a
      • Tipo di macchina: n2-standard-32
      • Piattaforma CPU minima: Intel Cascade Lake
      • GPU: nessuna
      • SSD locali: nessuna
    4. Espandi la sezione Opzioni avanzate e poi la sezione Gestione. Nell'elenco Prenotazioni, seleziona Seleziona una prenotazione specifica, quindi svolgi i seguenti passaggi:

      1. Seleziona un progetto di prenotazione con prenotazioni condivise con il tuo progetto attuale. Per questo esempio, seleziona il progetto utilizzato per creare reservation-02.
      2. Seleziona il nome della prenotazione della prenotazione condivisa che vuoi che venga utilizzata da questa VM. Per questo esempio, seleziona reservation-02.
    5. Per creare la VM, fai clic su Crea.

gcloud

  1. Crea una prenotazione denominata reservation-02 con il --require-specific-reservation flag. Queste risorse riservate possono essere utilizzate solo dalle VM che hanno come target specifico questa prenotazione per nome.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --project=my-owner-project \
        --share-setting=projects \
        --share-with=project-1,project-2 \
        --require-specific-reservation
    
  2. Crea una VM che abbia come target reservation-02 per nome utilizzando i flag --reservation-affinity e --reservation. Per utilizzare questa prenotazione da qualsiasi progetto consumer con cui è condivisa, devi specificare anche il progetto che ha creato la prenotazione, my-owner-project.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché l'interfaccia e le dimensioni dell'SSD locale.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=projects/my-owner-project/reservations/reservation-02
    

REST

  1. Crea una prenotazione denominata reservation-02 con il specificReservationRequired impostato su true.

    POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake"
        }
      },
      "shareSettings": {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap": {
          "project-1": {
            "projectId": "project-1"
          },
          "project-2": {
            "projectId": "project-2"
          }
        }
      },
      "specificReservationRequired": true
    }
    
  2. Crea una VM che abbia come target reservation-02 per nome utilizzando il campo reservationAffinity. Per utilizzare questa prenotazione da qualsiasi progetto consumer con cui è condivisa, devi anche specificare il progetto proprietario della prenotazione, my-owner-project.

    Assicurati che le proprietà della VM corrispondano a quelle della prenotazione, tra cui la zona, il tipo di macchina (famiglia di macchine, vCPU e memoria), la piattaforma CPU minima, la quantità e il tipo di GPU, nonché l'interfaccia e le dimensioni dell'SSD locale.

    POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-clouid/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "projects/my-owner-project/reservations/reservation-02"
        ]
      }
    }
    

Creare VM senza utilizzare le prenotazioni

Se crei una prenotazione consumata automaticamente, tutte le VM in esecuzione con proprietà corrispondenti nel tuo progetto possono utilizzarla. Per impedire a una o più VM di utilizzare la prenotazione, procedi nel seguente modo:

  • Imposta la proprietà di affinità di prenotazione delle VM in modo che non consumi esplicitamente alcuna prenotazione come descritto in questa sezione.

  • Assicurati che le VM non corrispondano alle proprietà VM della prenotazione.

Per creare VM che non consumano esplicitamente le prenotazioni, seleziona uno dei seguenti metodi:

Crea una VM per non consumare prenotazioni

Per creare una VM che non utilizza esplicitamente le prenotazioni, seleziona una delle seguenti opzioni:

Console

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

    Vai a Crea un'istanza

  2. Nel campo Nome, inserisci un nome per la VM.

  3. Negli elenchi Regione e Zona, seleziona la regione e la zona in cui creare la VM.

  4. Nella sezione Configurazione macchina, specifica il tipo di macchina da utilizzare per la VM.

  5. Espandi la sezione Opzioni avanzate e segui questi passaggi:

    1. Espandi la sezione Gestione.

    2. Nella sezione Prenotazioni, nell'elenco Norme relative alle applicazioni, seleziona Non utilizzare.

  6. Fai clic su Crea.

gcloud

Per creare una VM che non consuma esplicitamente le prenotazioni, utilizza il comando gcloud compute instances create con il flag --reservation-affinity=none.

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --reservation-affinity=none \
    --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM.

  • ZONE: la zona in cui creare la VM.

REST

Per creare una VM che non consuma prenotazioni in modo esplicito, invia una richiesta POST al metodo instances.insert. Nel corpo della richiesta, includi il campo consumeReservationType impostato su NO_RESERVATION.

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "reservationAffinity": {
    "consumeReservationType": "NO_RESERVATION"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare la VM.

  • ZONE: la zona in cui creare la VM.

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM.

  • IMAGE_PROJECT: il progetto immagine che contiene l'immagine del sistema operativo, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Questo specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichi family/debian-12, viene utilizzata la versione più recente della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

Per ulteriori informazioni sulla creazione di una VM, consulta Creare e avviare un'istanza Compute Engine.

Crea un modello di istanza per non consumare prenotazioni

Per creare un modello di istanza che crei VM che non consumano esplicitamente le prenotazioni, seleziona una delle seguenti opzioni:

Console

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

    Vai a Crea un modello di istanza

  2. Nel campo Nome, inserisci un nome per il modello di istanza.

  3. Nella sezione Località, specifica se vuoi creare un modello di istanza regionale (predefinito) o globale.

  4. Nella sezione Configurazione macchina, specifica il tipo di macchina da utilizzare per le VM create utilizzando il modello.

  5. Espandi la sezione Opzioni avanzate e segui questi passaggi:

    1. Espandi la sezione Gestione.

    2. Nella sezione Prenotazioni, nell'elenco Norme relative alle applicazioni, seleziona Non utilizzare.

  6. Fai clic su Crea.

gcloud

Per creare un modello di istanza che crei VM che non consumano esplicitamente le prenotazioni, utilizza il comando gcloud compute instances-templates create con il flag --reservation-affinity=none.

Ad esempio, per creare un modello di istanza globale che crei VM che non consumano esplicitamente le prenotazioni, esegui il seguente comando:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --reservation-affinity=none

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per le VM create utilizzando il modello di istanza.

REST

Per creare un modello di istanza che crei VM che non consumano esplicitamente le prenotazioni, invia una richiesta POST a uno dei seguenti metodi:

Nel corpo della richiesta, includi il campo consumeReservationType e impostalo su NO_RESERVATION.

Ad esempio, per creare un modello di istanza globale che crei VM che non consumano esplicitamente le prenotazioni, effettua una richiesta come segue:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/InstanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare il modello di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.

  • MACHINE_TYPE: il tipo di macchina da utilizzare per le VM create utilizzando il modello di istanza.

  • IMAGE_PROJECT: il progetto immagine che contiene l'immagine del sistema operativo, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Questo specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichi family/debian-12, viene utilizzata la versione più recente della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

Per saperne di più sulla creazione di modelli di istanze, consulta Creare modelli di istanze.

Verificare che le proprietà della VM corrispondano a una prenotazione

Per verificare se le VM possono utilizzare automaticamente una prenotazione, puoi creare una copia della prenotazione come prenotazione specifica e poi verificare se una VM che prevedi di creare può utilizzarla. Se riesci a creare correttamente la VM, significa che hai verificato che la VM può utilizzare correttamente la prenotazione corrispondente. In caso contrario, la creazione della VM non riesce perché le proprietà non corrispondono o non sono presenti risorse riservate disponibili. Dopo il test, puoi eseguire una o più delle seguenti operazioni:

Verificare il consumo delle prenotazioni

Per assicurarti che le VM consumino efficacemente le prenotazioni, puoi verificarne il consumo utilizzando i seguenti metodi:

  • Visualizzare i dettagli della prenotazione

    Se il numero di VM che utilizzano una prenotazione aumenta di 1 dopo aver creato o aggiornato una VM, è probabile che la tua azione abbia causato l'inizio dell'utilizzo della prenotazione da parte della VM. Questo è il modo più rapido per verificare se una prenotazione è in corso di utilizzo. Tuttavia, potrebbe non essere efficace per verificare quale VM esatta sta utilizzando la prenotazione.

  • Crea la VM da scegliere come target per una prenotazione specifica

    Se riesci a creare una VM che ha come target una prenotazione specifica, significa che la VM sta utilizzando la prenotazione. Questo è il metodo più affidabile per verificare che una VM specifica stia utilizzando una prenotazione e che le proprietà della VM corrispondano a quelle della prenotazione.

  • Monitorare il consumo delle prenotazioni

    Utilizzando Cloud Monitoring, puoi accedere e visualizzare le informazioni associate al consumo delle prenotazioni create nel tuo progetto. Il monitoraggio aggiorna i dati sul consumo delle prenotazioni almeno ogni 30 minuti. Questo metodo è utile per verificare la tendenza di consumo di una o più prenotazioni in un progetto, nonché per ricevere notifiche per prenotazioni sottoutilizzate o inutilizzate.

  • Visualizzare l'utilizzo storico delle prenotazioni

    Utilizzando Capacity Planner (Preview), puoi accedere e visualizzare l'utilizzo storico delle prenotazioni dalla loro creazione fino alla loro eliminazione. Lo strumento di pianificazione della capacità aggiorna i dati sul consumo delle prenotazioni ogni 24 ore. Questo metodo è utile per verificare il consumo passato delle prenotazioni all'interno di un progetto, di una cartella o di un'organizzazione, nonché per aiutarti a pianificare le esigenze di capacità future.

Se noti che una VM non utilizza una prenotazione dopo aver verificato che l'affinità della prenotazione della VM può utilizzare la prenotazione, la prenotazione non è stata completamente utilizzata e le proprietà della VM e della prenotazione corrispondono, consulta Disponibilità delle risorse.

Visualizzare i report sull'utilizzo delle prenotazioni

Esporta report dettagliati sull'utilizzo di Compute Engine in un bucket Cloud Storage utilizzando la funzionalità di esportazione dell'utilizzo. Per le istruzioni, consulta Visualizzare i report sull'utilizzo.

Il report sull'utilizzo mostra quanto segue:

  • Le risorse prenotate in uso. Queste voci vengono visualizzate come normali risorse vCPU, memoria, GPU e SSD locali.
  • Le risorse prenotate non in uso. Queste voci hanno nomi SKU e URI delle risorse di prenotazione normali.
  • Risorse prenotate totali. Queste voci hanno nomi SKU di prenotazione e URI delle risorse di prenotazione. Non sono previsti costi per queste voci. Utilizza queste voci per calcolare la quantità di prenotazioni che stai utilizzando.
Misurazione Formato MeasurementId Formato Resource URI
Risorse riservate in uso com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME.

Ad esempio, https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Risorse prenotate non in uso com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Ad esempio, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Risorse riservate totali com.google.cloud/services/compute-engine/ReservationSKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Ad esempio, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation

Ad esempio, nel seguente snippet di un report sull'utilizzo per una prenotazione chiamata my-reservation:

  • La riga 1 mostra la RAM prenotata attualmente in uso. Il valore ResourceId della riga indica che questa RAM è utilizzata da una VM denominata my-instance.
  • La riga 2 mostra la RAM riservata non in uso. Il valore ResourceId della riga indica che questa RAM riservata è in possesso di my-reservation e non è ancora utilizzata da nessuna VM.
  • La riga 3 mostra la RAM totale prenotata della prenotazione.
Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
...

Risoluzione dei problemi

Scopri come risolvere i problemi relativi al consumo delle prenotazioni.

Passaggi successivi