Esegui prenotazioni

Questo documento spiega come utilizzare Compute Engine per:

  • Utilizza istanze di macchine virtuali (VM) prenotate.

  • Verificare l'utilizzo delle prenotazioni.

  • Visualizzare i report sull'utilizzo delle prenotazioni.

Per ulteriori informazioni sul consumo delle prenotazioni in altri prodotti Google Cloud che utilizzano VM, consulta la documentazione sulle 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 è 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.

    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 utilizzare le prenotazioni, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare le prenotazioni. Per visualizzare le autorizzazioni esatte necessarie, 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 delle VM:
    • compute.instances.create sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM&: compute.images.useReadOnly nell'immagine
    • a utilizzare uno snapshot per creare la VM con i due punti compute.snapshots.useReadOnly nello snapshot
    • a utilizzare un modello di istanza per creare la VM&: compute.instanceTemplates.useReadOnly nel modello di istanza
    • ad assegnare una rete legacy alla VM e ai due punti compute.networks.use del progetto
    • Per specificare un indirizzo IP statico per la VM&: compute.addresses.use nel progetto
    • Per assegnare un indirizzo IP esterno alla VM quando si utilizza una rete legacy&due punti compute.networks.useExternalIp nel progetto
    • 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
    • a impostare i metadati dell'istanza VM per VM&: compute.instances.setMetadata nel progetto
    • a impostare i tag per la VM con i due punti compute.instances.setTags sulla VM
    • a impostare le etichette per la VM con i due punti compute.instances.setLabels sulla VM
    • Per impostare un account di servizio affinché la VM utilizzi i due punti compute.instances.setServiceAccount sulla VM
    • a creare un nuovo disco per la VM&: compute.disks.create nel progetto
    • Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura&due punti, compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura&due punti compute.disks.useReadOnly sul disco

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Consuma VM prenotate

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

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

    Questa opzione è utile se crei ed elimini molte VM e vuoi utilizzare le tue prenotazioni quando possibile. In questo scenario, è possibile creare una VM indipendentemente dal fatto che le proprietà corrispondano o meno a una prenotazione. Se corrispondono, la VM inizia a utilizzare la prenotazione a seconda dell'ordine di consumo della prenotazione.

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

    Questa opzione è utile quando, ad esempio, vuoi conservare una determinata 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ò utilizzare nessuna prenotazione: la VM non può consumare nessuna prenotazione.

    Questa opzione è utile quando, ad esempio, crei una VM temporanea che non vuoi utilizzare risorse riservate.

Utilizza le VM da qualsiasi prenotazione corrispondente

In questo modello di consumo, le VM esistenti e nuove consumano automaticamente una prenotazione se le loro proprietà corrispondono alle proprietà delle VM specificate nella prenotazione.

Quando utilizzi questo modello di consumo, le VM nel progetto attuale consumano tutte le prenotazioni di singoli progetti prima di utilizzare eventuali prenotazioni condivise. Per ulteriori informazioni su come le prenotazioni vengono utilizzate automaticamente, consulta la pagina relativa all'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 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 consumare qualsiasi prenotazione (impostazione predefinita), segui questi passaggi:

    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

          Viene visualizzata la pagina Prenotazioni.

        2. 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 impegno di utilizzo.

          Vai a Sconti per impegno di utilizzo

          Viene visualizzata la pagina Elenco impegni.

        2. Fai clic su Acquista impegno.

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

        3. Specifica le proprietà dell'impegno. Nella sezione Prenotazioni, fai clic su Aggiungi un elemento.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per maggiori informazioni su come acquistare un impegno con una prenotazione collegata, consulta Impegni di acquisto con prenotazioni collegate.

    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 Condiviso. Per condividere questa prenotazione con altri progetti, fai clic su Aggiungi progetti e seleziona i progetti che ti interessano dall'organizzazione del progetto attuale.
    5. Nella sezione Utilizza con un'istanza VM, seleziona Utilizza automaticamente la prenotazione in modo che qualsiasi VM corrispondente possa 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 che corrispondono a un modello di istanza esistente, seleziona Utilizza modello di istanza e scegli un modello di istanza dall'elenco.
      • Altrimenti, seleziona Specifica il tipo di macchina e 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) Specifica una piattaforma CPU e/o una 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. Quindi, 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 gli 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 collegate, fai clic su Acquista.
  2. Nello stesso progetto o in uno con cui è condivisa la prenotazione, crea una VM che abbia come target qualsiasi prenotazione aperta.

    Assicurati che le proprietà della VM corrispondano alle proprietà della VM in reservation-01, tra cui zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU e interfaccia e dimensione SSD locali.

    Per maggiori 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, comprese le eventuali proprietà 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 espandi la sezione Gestione. Nell'elenco Prenotazioni, seleziona Utilizza 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 zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, quantità e interfaccia di SSD locali.

    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",
        }
      },
      "specificReservationRequired": false
    }
    
  2. Crea una VM che abbia come target qualsiasi prenotazione aperta e che corrisponda alle proprietà della VM in reservation-01, tra cui zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, quantità e interfaccia di SSD locali.

    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",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

Utilizza 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 utilizzare questa prenotazione 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 delle VM che abbiano come target questa prenotazione. Puoi creare una VM che ha come target una prenotazione specifica solo se le proprietà della VM e le proprietà della prenotazione corrispondono. In caso contrario, la creazione della VM non è riuscito.

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

Ad esempio, crea una prenotazione specifica denominata reservation-02, quindi crea 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 solo progetto specifica o Utilizzare una prenotazione condivisa specifica.

Utilizza una prenotazione specifica per un solo progetto

Per utilizzare una prenotazione specifica per un solo progetto, utilizza la console Google Cloud, gcloud CLI o REST.

Console

  1. Per creare una prenotazione con risorse che possono essere utilizzate solo dalle VM che hanno come target la prenotazione in base al 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

          Viene visualizzata la pagina Prenotazioni.

        2. 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 impegno di utilizzo.

          Vai a Sconti per impegno di utilizzo

          Viene visualizzata la pagina Elenco impegni.

        2. Fai clic su Acquista impegno.

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

        3. Specifica le proprietà dell'impegno. Nella sezione Prenotazioni, fai clic su Aggiungi un elemento.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per maggiori informazioni su come acquistare un impegno con una prenotazione collegata, consulta Impegni di acquisto con prenotazioni collegate.

    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 un'istanza VM, seleziona Seleziona una prenotazione specifica, in modo che solo le VM corrispondenti che abbiano come target questa prenotazione per nome possano utilizzare questa prenotazione.

    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 che corrispondono a un modello di istanza esistente, seleziona Utilizza modello di istanza e scegli un modello di istanza dall'elenco.
      • Altrimenti, seleziona Specifica il tipo di macchina e 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) Specifica una piattaforma CPU e/o una 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. Quindi, 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 gli 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 collegate, fai clic su Acquista.
  2. Nello stesso progetto, crea una VM che abbia come target quella specifica prenotazione per nome.

    Assicurati che le proprietà della VM corrispondano alle proprietà della VM di quella 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é l'interfaccia e le dimensioni SSD locali.

    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, comprese le eventuali proprietà 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 espandi la sezione Gestione. Nell'elenco Prenotazioni, seleziona Seleziona una prenotazione specifica, quindi il Nome prenotazione con le proprietà corrispondenti che vuoi che la 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 flag --require-specific-reservation. Queste risorse riservate possono essere utilizzate solo dalle VM che hanno come target specificatamente 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 alle proprietà della VM della prenotazione, inclusi zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, interfaccia e dimensioni SSD locali.

    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 campo 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 alle proprietà della VM della prenotazione, inclusi zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, interfaccia e dimensioni SSD locali.

    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",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        [
          "reservation-02"
        ]
      },
      ...
    }
    

Utilizza una prenotazione condivisa specifica

Per utilizzare una prenotazione condivisa specifica, utilizza la console Google Cloud, gcloud CLI o REST.

Console

  1. Per creare una prenotazione condivisa con risorse che possono essere utilizzate solo dalle VM che hanno come target 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

          Viene visualizzata la pagina Prenotazioni.

        2. 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 impegno di utilizzo.

          Vai a Sconti per impegno di utilizzo

          Viene visualizzata la pagina Elenco impegni.

        2. Fai clic su Acquista impegno.

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

        3. Specifica le proprietà dell'impegno. Nella sezione Prenotazioni, fai clic su Aggiungi un elemento.

          Viene visualizzata la sezione Aggiungi una nuova prenotazione.

          Per maggiori informazioni su come acquistare un impegno con una prenotazione collegata, consulta Impegni di acquisto con prenotazioni collegate.

    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 attuale con cui vuoi condividere la prenotazione.

    6. Nella sezione Utilizza con un'istanza VM, seleziona Seleziona una prenotazione specifica, in modo che solo le VM corrispondenti che abbiano come target questa prenotazione per nome possano utilizzare questa prenotazione.

    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 che corrispondono a un modello di istanza esistente, seleziona Utilizza modello di istanza e scegli un modello di istanza dall'elenco.
      • Altrimenti, seleziona Specifica il tipo di macchina e 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) Specifica una piattaforma CPU e/o una 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. Quindi, 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 gli 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 collegate, fai clic su Acquista.
  2. Nello stesso progetto o in uno stesso progetto con cui è condivisa la prenotazione, crea una VM che abbia come target quella specifica prenotazione per nome.

    Assicurati che le proprietà della VM corrispondano alle proprietà della VM di quella 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é l'interfaccia e le dimensioni SSD locali.

    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, comprese le eventuali proprietà 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 espandi la sezione Gestione. Nell'elenco Prenotazioni, seleziona Seleziona una prenotazione specifica, quindi procedi nel seguente modo:

      1. Seleziona un progetto di prenotazione in cui le prenotazioni sono condivise con il progetto attuale. Per questo esempio, seleziona il progetto che hai utilizzato per creare reservation-02.
      2. Seleziona il nome della prenotazione della prenotazione condivisa che vuoi che questa 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 flag --require-specific-reservation. Queste risorse riservate possono essere utilizzate solo dalle VM che hanno come target specificatamente 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 tutti i progetti consumer con cui è condivisa la prenotazione, devi specificare anche il progetto che ha creato la prenotazione, my-owner-project.

    Assicurati che le proprietà della VM corrispondano alle proprietà della VM della prenotazione, inclusi zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, interfaccia e dimensioni SSD locali.

    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 campo 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 la prenotazione, devi specificare anche il progetto proprietario della prenotazione, my-owner-project.

    Assicurati che le proprietà della VM corrispondano alle proprietà della VM della prenotazione, inclusi zona, tipo di macchina (famiglia di macchine, vCPU e memoria), piattaforma CPU minima, quantità e tipo di GPU, interfaccia e dimensioni SSD locali.

    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",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        [
          "projects/my-owner-project/reservations/reservation-02"
        ]
      },
      ...
    }
    

Crea VM senza consumare le prenotazioni

Per evitare esplicitamente di consumare risorse da qualsiasi prenotazione, imposta la proprietà di affinità della prenotazione in modo che non utilizzi alcuna prenotazione durante la creazione della VM. In alternativa, per evitare implicitamente di utilizzare le tue prenotazioni, crea una VM che non corrisponde alle proprietà VM di nessuna delle tue prenotazioni.

Console

  1. Crea una VM che non utilizzi esplicitamente da una prenotazione.

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

      Vai a Crea un'istanza

    2. Creare una VM. Per saperne di più, consulta Creare e avviare una VM.

    3. Espandi la sezione Opzioni avanzate, quindi segui questi passaggi:

      1. Espandi la sezione Gestione.
      2. Per assicurarti che questa VM non utilizzi prenotazioni esistenti, seleziona Non utilizzare nell'elenco Prenotazioni.
    4. Fai clic su Crea.

gcloud

Crea una VM che non consuma esplicitamente da una prenotazione.

gcloud compute instances create instance-3 --reservation-affinity=none

In alternativa, crea una VM che non corrisponde alle proprietà della VM in nessuna delle tue prenotazioni. Per esaminare le proprietà della prenotazione, consulta Visualizzare le prenotazioni.

REST

Crea una VM che non consuma esplicitamente da una prenotazione.

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

{
  "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

In alternativa, crea una VM che non corrisponde alle proprietà della VM in nessuna delle tue prenotazioni. Per esaminare le proprietà della prenotazione, consulta Visualizzare le prenotazioni.

Testa che le proprietà delle VM corrispondono a una prenotazione

Per verificare se le VM possono utilizzare automaticamente una prenotazione, puoi creare una copia della prenotazione come prenotazione specifica, quindi verificare se una VM che prevedi di creare può utilizzare questa prenotazione. Se riesci a creare correttamente la VM, hai verificato che può utilizzare correttamente la prenotazione corrispondente. In caso contrario, la creazione della VM non va a buon fine perché le proprietà non corrispondono o non sono nessuna risorsa prenotata disponibile. Dopo il test, puoi eseguire una o più delle seguenti operazioni:

Verifica l'utilizzo delle prenotazioni

Per verificare se una VM utilizza correttamente una prenotazione, utilizza uno dei seguenti metodi:

  • Visualizza i dettagli della prenotazione prima e dopo la creazione o l'aggiornamento di una VM.

    Se il numero di VM utilizzate in base a una prenotazione aumenta di 1 dopo la modifica, è probabile che la modifica abbia portato alla VM in modo da iniziare a utilizzare la prenotazione. Questo è il metodo più semplice per verificare l'utilizzo delle prenotazioni, ma potrebbe non funzionare bene per verificare quale VM esatta utilizza una prenotazione.

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

    Se riesci a creare correttamente una VM che ha come target una prenotazione specifica, la VM utilizza la prenotazione. Questo è il metodo più affidabile per verificare che una VM specifica utilizzi una prenotazione e che le proprietà VM corrispondano a una prenotazione.

  • Monitora il consumo delle prenotazioni.

    Con Cloud Monitoring puoi accedere e visualizzare le informazioni associate al consumo delle prenotazioni create nel progetto attuale. Se noti una modifica nelle misurazioni di una prenotazione, significa che una VM ha utilizzato la prenotazione. Questo metodo è utile per verificare la tendenza di consumo di una o più prenotazioni e per ricevere notifiche per le prenotazioni sottoutilizzate o inutilizzate.

Visualizza 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 Visualizzazione dei 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 che non sono in uso. Queste voci hanno nomi SKU e URI delle risorse di prenotazione normali.
  • Risorse prenotate totali. Queste voci hanno nomi di SKU di prenotazione e URI delle risorse di prenotazione. Non ci sono costi associati a queste voci. Utilizza queste voci per calcolare la quantità di prenotazioni che utilizzi.
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 riservate che non sono 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 prenotate 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 da un report sull'utilizzo per una prenotazione denominata my-reservation:

  • La riga 1 mostra la RAM riservata 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 prenotata è trattenuta da 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
...

Passaggi successivi