Combinare le prenotazioni con gli sconti per impegno di utilizzo


Gli sconti per impegno di utilizzo (CUD) offrono prezzi molto scontati per le risorse Compute Engine in cambio di contratti basati su impegno di utilizzo di 1 o 3 anni (noti anche come impegni). Ti impegni a un volume minimo di utilizzo delle risorse o a una spesa minima e in cambio ricevi CUD sui costi di utilizzo delle risorse. Tuttavia, gli impegni non prevedono la prenotazione della capacità a livello di zona per le risorse impegnate. Per ottenere risorse a livello di zona a prezzi scontati e assicurarti che la capacità sia riservata per queste risorse, devi acquistare impegni e creare prenotazioni per le risorse a livello di zona.

Questo documento spiega come ricevere CUD per le risorse riservate e come collegare le prenotazioni agli impegni basati sulle risorse.

Prima di iniziare

  • Esamina le nozioni di base sulle prenotazioni, nonché i relativi requisiti e le limitazioni. Per ulteriori informazioni, consulta Prenotazioni di risorse a livello di zona di Compute Engine.
  • 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 ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

CUD per le risorse riservate

Ricevi CUD dagli impegni attivi per qualsiasi utilizzo di risorse idonee nei tuoi progetti. Se hai anche prenotazioni per mantenere la capacità per le risorse del progetto, i CUD degli impegni attivi possono essere applicati anche a queste risorse riservate. Affinché le risorse riservate diventino idonee a ricevere gli sconti per impegno di utilizzo (CUD), si applicano i seguenti requisiti:

  • Non ricevi altre forme di sconto per l'utilizzo delle risorse.
  • Le VM devono utilizzare le prenotazioni mentre gli impegni sono attivi.
  • Almeno le seguenti proprietà devono corrispondere tra i tuoi impegni attivi e le prenotazioni consumate dalle VM:

    • Progetto e regione in cui si applicano
    • Serie di famiglie di macchine

A seconda del tipo di risorsa, puoi ricevere CUD per le risorse riservate in uno dei seguenti modi:

  • vCPU e memoria: per ricevere CUD per uno o entrambi questi tipi di risorse, puoi acquistare impegni basati sulle risorse o sulla spesa che includono i tipi di risorse richiesti. Quando le VM del tuo progetto utilizzano prenotazioni le cui proprietà corrispondono a questi impegni attivi, ricevi automaticamente gli sconti per impegno di utilizzo applicabili per questi tipi di risorse riservate. Se hai riservato più risorse di quelle previste, non riceverai CUD per le risorse aggiuntive.

  • GPU e dischi SSD locali: per ricevere CUD per uno o entrambi questi tipi di risorse, devi:

    • Acquista impegni basati sulle risorse che includono i tipi di risorse richiesti.
    • Crea prenotazioni per tutte le risorse impegnate con proprietà che corrispondono al tuo impegno e allega queste prenotazioni all'impegno.

    Quando le VM del tuo progetto utilizzano queste prenotazioni collegate, inizi a ricevere gli sconti CUD applicabili per questi tipi di risorse riservate.

Collegare le prenotazioni agli impegni basati sulle risorse

Puoi associare le prenotazioni a qualsiasi impegno basato su risorse e assicurarti che la capacità sia mantenuta in zone specifiche per le risorse impegnate che prevedi di utilizzare. Puoi associare più prenotazioni a un singolo impegno, ma una prenotazione può essere associata a un solo impegno. Quando acquisti un impegno, puoi associare le prenotazioni in uno dei seguenti modi:

  • Utilizzo di prenotazioni esistenti le cui proprietà corrispondono all'impegno
  • Creazione di nuove prenotazioni corrispondenti durante l'acquisto dell'impegno

Dopo aver acquistato un impegno con prenotazioni allegate, queste rimangono attive finché l'impegno è attivo. Alla scadenza dell'impegno, Compute Engine elimina automaticamente le prenotazioni allegate. L'eliminazione di queste prenotazioni non influisce sulle VM in esecuzione che le utilizzavano. Le VM in esecuzione continuano a funzionare e ti vengono addebitati gli importi relativi.

Risorse impegnate che non richiedono prenotazioni allegate

Le vCPU e la memoria impegnate non richiedono l'associazione di prenotazioni corrispondenti ai tuoi impegni. Tuttavia, quando acquisti un impegno che include vCPU, memoria o entrambe, puoi comunque scegliere di allegare prenotazioni che specificano queste risorse. Per scoprire come acquistare impegni solo per vCPU, memoria o entrambi, senza associare prenotazioni, consulta Acquisto di impegni senza prenotazioni associate.

Risorse impegnate che richiedono prenotazioni collegate

Le GPU e i dischi SSD locali impegnati richiedono di associare prenotazioni corrispondenti ai tuoi impegni. Quando acquisti un impegno che include GPU, dischi SSD locali o entrambi, devi anche prenotare queste risorse e collegare queste prenotazioni al tuo impegno. Puoi farlo utilizzando una singola prenotazione o una combinazione di prenotazioni. Quando acquisti un impegno di questo tipo, puoi anche includere vCPU, memoria o entrambi. Tuttavia, non è necessario prenotare queste vCPU o questa memoria. Per scoprire come acquistare impegni che includono una o entrambe le GPU e i dischi SSD locali, consulta la sezione Acquistare impegni con prenotazioni allegate in questo documento.

Per visualizzare l'elenco completo delle serie di macchine che supportano i CUD per GPU e dischi SSD locali, consulta la sezione Tipi di impegno hardware della documentazione dei CUD basati su risorse.

Quantità di risorse consentite nelle prenotazioni collegate

Per vCPU e memoria, puoi avere prenotazioni allegate che specificano quantità maggiori o inferiori di risorse rispetto a quelle che ti impegni a utilizzare. Se ti impegni a utilizzare più vCPU o memoria di quelle che prenoti, Compute Engine riserva la capacità solo per queste risorse riservate. Tuttavia, puoi comunque utilizzare le risorse aggiuntive impegnate a seconda della loro disponibilità nella tua regione. Se prenoti più vCPU o memoria di quelle che ti impegni a utilizzare, non ricevi CUD per le risorse aggiuntive che prenoti.

Ad esempio, quando acquisti un impegno per 4 vCPU e 30 GB di memoria, puoi scegliere tra le seguenti opzioni:

  • Non collegare alcuna prenotazione.
  • Collega le prenotazioni specificando una qualsiasi combinazione di questi tipi di risorse, ad esempio:

    • 4 vCPU e 30 GB di memoria
    • 2 vCPU e 50 GB di memoria
    • 10 vCPU e 10 GB di memoria

Tuttavia, se il tuo impegno contiene GPU, dischi SSD locali o entrambi, devi prenotare e collegare tutte queste risorse. Le prenotazioni allegate devono specificare i numeri e i tipi esatti di GPU e dischi SSD locali che hai commesso. Di conseguenza, non puoi avere un numero o tipi aggiuntivi di GPU o dischi SSD locali nelle prenotazioni collegate. Ad esempio, supponiamo che tu acquisti un impegno per 30 GB di memoria e 4 GPU NVIDIA P100. La prenotazione collegata (o la combinazione di prenotazioni collegate) può specificare qualsiasi quantità di vCPU o memoria, ma deve avere esattamente 4 GPU di tipo NVIDIA P100. In questo esempio, non puoi collegare prenotazioni specificando una delle seguenti combinazioni di risorse:

  • 6 GPU NVIDIA P100
  • 2 GPU NVIDIA P100
  • 4 GPU NVIDIA P100 e 2 GPU NVIDIA V100
  • 4 GPU NVIDIA P100 e 4 dischi SSD locali

Acquista impegni con prenotazioni allegate

Quando acquisti un nuovo impegno, puoi associare le prenotazioni al tuo impegno in uno dei seguenti modi:

Dopo l'acquisto, l'impegno diventa attivo il giorno successivo alle ore 00:00 UTC-8 (fuso orario del Pacifico) o UTC-7 se è in vigore l'ora legale. Tra il momento dell'acquisto e la data di attivazione, lo stato dell'impegno rimane NOT_YET_ACTIVE (o PENDING nella console Google Cloud). Dopo l'attivazione, lo stato dell'impegno diventaACTIVE. Ad esempio, supponiamo che tu acquisti l'impegno il 20 gennaio alle ore 22:00 UTC-8 (fuso orario del Pacifico) Compute Engine crea immediatamente il tuo impegno con lo stato NOT_YET_ACTIVE. Tuttavia, il tuo impegno diventa ACTIVE solo il 21 gennaio alle ore 00:00 UTC-8 (fuso orario del Pacifico) per gli Stati Uniti e il Canada.

Requisiti

Prima di acquistare un impegno con prenotazioni allegate, esamina questi requisiti e assicurati che l'impegno e le prenotazioni soddisfino i seguenti criteri:

  • Devi acquistare l'impegno e creare le prenotazioni collegate nello stesso progetto e nella stessa regione.
  • Devi acquistare l'impegno e creare le prenotazioni allegate per le risorse della stessa serie di famiglie di macchine.
  • Devi disattivare l'opzione di eliminazione automatica sulle prenotazioni allegate.
  • Se il tuo impegno include GPU, il tipo di GPU specificato nella prenotazione debe essere uguale a quello dell'impegno.
  • Per le GPU e i dischi SSD locali, il numero di risorse riservate di ciascun tipo di risorsa deve corrispondere esattamente al numero di risorse impegnate per quel tipo di risorsa. Ad esempio, se vuoi acquistare un impegno per 4 GPU V100, le prenotazioni associate all'impegno devono specificare un totale di 4 GPU V100. Tuttavia, la quantità di vCPU e memoria che prenoti può essere superiore o inferiore a quella che ti impegni a utilizzare.
  • Per le GPU, acquista impegni per i tipi di GPU specifici che intendi utilizzare. Ad esempio, puoi acquistare impegni per GPU NVIDIA P100 o NVIDIA V100, ma non puoi utilizzare un impegno acquistato per GPU NVIDIA P100 per coprire le GPU NVIDIA V100.
  • Se la prenotazione collegata è una prenotazione condivisa e vuoi ricevere i CUD applicabili quando la utilizzi al di fuori del progetto del tuo impegno, devi eseguire entrambe le seguenti operazioni:

    • Condividi le prenotazioni solo tra i progetti che appartengono allo stesso account di fatturazione Cloud dell'impegno.
    • Abilita la condivisione CUD per l'account di fatturazione Cloud.

Collega prenotazioni esistenti

Puoi collegare le prenotazioni esistenti durante l'acquisto dell'impegno utilizzando la console Google Cloud, Google Cloud CLI o REST.

Console

Prima di acquistare un impegno utilizzando la console Google Cloud, seleziona il progetto che vuoi utilizzare per l'acquisto dell'impegno. Se la condivisione dei dati CUD è abilitata per un account di fatturazione Cloud, puoi acquistare l'impegno utilizzando qualsiasi progetto di quell'account di fatturazione Cloud. Dopo aver selezionato il progetto, svolgi i seguenti passaggi:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Acquista impegno. Viene visualizzata la pagina Acquista uno sconto per impegno di utilizzo, con la scheda Hardware.

  3. Nel campo Nome, inserisci un nome per l'impegno.

  4. Nel campo Regione, seleziona la regione in cui vuoi eseguire il commit per le risorse Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie della famiglia di macchine per le risorse impegnate. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • A2 ottimizzato per l'acceleratore per le risorse del tipo di macchina A2
    • A3 ottimizzato per l'acceleratore per le risorse tipo di macchina A3 Edge e High
    • A3 Mega ottimizzato per l'acceleratore per le risorse del tipo di macchina A3 Mega
    • C2 ottimizzate per il calcolo per le risorse di tipo di macchina C2
    • C2D ottimizzato per il calcolo per le risorse di tipo di macchina C2D
    • C3 per uso generico per le risorse del tipo di macchina C3
    • C3D per uso generico per le risorse di tipo di macchina C3D
    • N1 per uso generico per le risorse di tipo di macchina N1
    • Uso generico N2 per le risorse di tipo di macchina N2
    • N2D per uso generico per le risorse delle macchine N2D
    • G2 ottimizzate per la grafica per le risorse del tipo di macchina G2
    • M3 con ottimizzazione per la memoria per le risorse del tipo di macchina M3
    • Z3 ottimizzata per lo spazio di archiviazione per le risorse del tipo di macchina Z3

  6. Per Durata:

    1. Per specificare il piano del tuo impegno, seleziona 1 anno o 3 anni. Questa impostazione determina la durata preimpostata del tuo impegno.
    2. Facoltativo. Per specificare una durata del termine personalizzata per l'impegno, fai clic sul pulsante di attivazione/disattivazione Estendi data di fine e poi, nel campo Data, specifica una data di fine personalizzata. Per ulteriori informazioni, consulta Prolungare la durata degli impegni.

  7. Nel campo Core, inserisci il numero di vCPU a cui vuoi impegnarti.

  8. Nel campo Memoria, inserisci la quantità di memoria, in GB, che vuoi impegnare.

  9. Per eseguire il commit delle GPU, nella sezione GPU, fai clic su Aggiungi GPU e poi procedi nel seguente modo:

    1. Nel campo Tipo di GPU, seleziona il tipo di GPU.
    2. Nel campo Numero di GPU, inserisci il numero di GPU.
    3. (Facoltativo) Se il modello di GPU supporta le workstation virtuali NVIDIA RTX (vWS) per i carichi di lavoro grafici e prevedi di eseguire carichi di lavoro ad alta intensità di grafica, seleziona la casella di controllo Abilita workstation virtuale (NVIDIA GRID).
  10. Per impegnarti a utilizzare i dischi SSD locali, nella sezione SSD locali, fai clic su Aggiungi SSD e poi, nel campo Numero di SSD, specifica il numero di dischi.

  11. Per collegare una o più prenotazioni esistenti all'impegno, nel campo Prenotazioni seleziona Collega prenotazioni esistenti.

    La console Google Cloud mostra un elenco di tutte le prenotazioni nel tuo progetto la cui regione, il tipo di macchina e il tipo di GPU corrispondono all'impegno. Poi:

    1. Facoltativo. Per visualizzare le prenotazioni con proprietà specifiche, nel menu Filtra aggiungi o rimuovi i filtri per le proprietà che ti interessano.
    2. Seleziona tutte le prenotazioni da associare all'impegno.
  12. Per completare l'acquisto dell'impegno con le prenotazioni allegate:

    1. Fai clic su Acquista.
    2. Nella finestra di dialogo Acquista uno sconto per impegno di utilizzo, se accetti i termini specifici del servizio, fai di nuovo clic su Acquista.

gcloud

Per acquistare un impegno allegando prenotazioni esistenti, esegui il comando gcloud compute commitments create. Nel comando, includi il flag --existing-reservation per specificare una prenotazione esistente che vuoi associare al tuo impegno. Includi una nuova istanza di questo flag per ogni prenotazione esistente che vuoi allegare. Puoi collegare al tuo impegno un numero qualsiasi di prenotazioni esistenti.

Ad esempio, per acquistare un impegno allegando due prenotazioni, esegui il seguente comando:

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
    --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --custom-end-time=CUSTOM_END_DATE \
    --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \
    --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'

Sostituisci quanto segue:

  • COMMITMENT_NAME: il nome dell'impegno.
  • REGION: la regione in cui si trova l'impegno.
  • PROJECT_ID: l'ID del progetto in cui vuoi acquistare l'impegno con le prenotazioni allegate.
  • DURATION: la durata del committente, 12-month o 36-month.
  • CUSTOM_END_DATE: facoltativo. Una data di fine personalizzata per il periodo di validità, che deve essere formattata come YYYY-MM-DD. Ad esempio, per specificare una data di fine personalizzata del 20 aprile 2024, formattala come 2024-04-20.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • accelerator-optimized per le risorse di tipo di macchina A2
    • accelerator-optimized-a3 per le risorse tipo di macchina A3 Edge e High
    • accelerator-optimized-a3-mega per le risorse del tipo di macchina A3 Mega
    • compute-optimized per le risorse di tipo di macchina C2
    • compute-optimized-c2d per le risorse di tipo di macchina C2D
    • compute-optimized-c3 per le risorse di tipo di macchina C3
    • compute-optimized-c3d per le risorse di tipo di macchina C3D
    • general-purpose per le risorse di tipo di macchina N1
    • general-purpose-n2 per le risorse di tipo di macchina N2
    • general-purpose-n2d per le risorse delle macchine N2D
    • graphics-optimized per le risorse del tipo di macchina G2
    • memory-optimized-m3 per le risorse del tipo di macchina M3
    • storage-optimized-z3 per le risorse di tipo di macchina Z3

  • COMMITTED_VCPUS: il numero di vCPU che vuoi includere nell'impegno. Il numero deve essere un numero intero positivo.

  • COMMITTED_MEMORY: la quantità di memoria, in MB o GB, che vuoi includere nel tuo impegno. Ad esempio, 10240MB o 10GB. Se non specifichi un'unità, Compute Engine utilizza come unità i GB. Puoi acquistare memoria con incrementi di 0,25 GB.

  • COMMITTED_LOCAL_SSD: la quantità, in GB, di spazio SSD locale che vuoi inserire nell'impegno. Ogni disco SSD locale ha una capacità di 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: il numero di GPU che vuoi includere nell'impegno.

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi inserire nell'impegno.

  • RESERVATION_NAME_1 e RESERVATION_NAME_2: i nomi delle prenotazioni esistenti che vuoi allegare all'impegno.

  • RESERVATION_ZONE_1 e RESERVATION_ZONE_2: le zone delle prenotazioni esistenti che vuoi associare all'impegno.

Esempio: acquista un impegno collegando le prenotazioni esistenti

Supponiamo che tu abbia due prenotazioni res-01 e res-02 nelle zone us-central1-a e us-central1-b del progetto myproject. Supponiamo che queste prenotazioni abbiano una capacità combinata per 4 GPU NVIDIA P100 e 4 dischi SSD locali. Per acquistare un nuovo impegno nella regione us-central1 di questo progetto per queste GPU e questi dischi SSD locali e utilizzare queste prenotazioni esistenti come prenotazioni collegate, esegui il seguente comando. Tieni presente che l'impegno di esempio contiene anche vCPU e memoria.

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB,local-ssd=1500 \
    --resources-accelerator=type=nvidia-tesla-p100,count=4 \
    --plan 12-month \
    --existing-reservation=name=res-01,zone=us-central1-a \
    --existing-reservation=name=res-02,zone=us-central1-b
    

REST

Per acquistare un impegno allegando prenotazioni esistenti, invia una richiesta POST al metodo regionCommitments.insert. Nella richiesta, includi il campo existingReservations per specificare un elenco separato da virgole di tutte le prenotazioni esistenti che vuoi collegare al tuo impegno. Puoi associare al tuo impegno un numero qualsiasi di prenotazioni esistenti.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "COMMITMENT_NAME",
  "plan": "DURATION",
  "type": COMMITMENT_TYPE,
  "resources":
  [
    {
      "amount": "COMMITTED_VCPUS",
      "type": "VCPU"
    },
    {
      "amount": "COMMITTED_MEMORY",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
      "amount": "COMMITTED_ACCELERATOR_COUNT",
      "type": "ACCELERATOR"
    }
    {
      "amount": "COMMITTED_LOCAL_SSD",
      "type": "LOCAL_SSD"
    }
  ],
  "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",
  "existingReservations": "RESERVATION_URLs"
}

Sostituisci quanto segue:

  • COMMITMENT_NAME: il nome dell'impegno.
  • REGION: la regione in cui si trova l'impegno.
  • PROJECT_ID: l'ID del progetto in cui vuoi acquistare l'impegno con le prenotazioni allegate.
  • DURATION: la durata dell'impegno, TWELVE_MONTH o THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per le risorse di tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per le risorse tipo di macchina A3 Edge e High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le risorse del tipo di macchina A3 Mega
    • COMPUTE_OPTIMIZED per le risorse di tipo di macchina C2
    • COMPUTE_OPTIMIZED_C2D per le risorse di tipo di macchina C2D
    • COMPUTE_OPTIMIZED_C3 per le risorse di tipo di macchina C3
    • COMPUTE_OPTIMIZED_C3D per le risorse di tipo di macchina C3D
    • GENERAL_PURPOSE per le risorse di tipo di macchina N1
    • GENERAL_PURPOSE_N2 per le risorse di tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse delle macchine N2D
    • GRAPHICS_OPTIMIZED per le risorse del tipo di macchina G2
    • MEMORY_OPTIMIZED_M3 per le risorse del tipo di macchina M3
    • STORAGE_OPTIMIZED_Z3 per le risorse di tipo di macchina Z3

  • COMMITTED_VCPUS: il numero di vCPU che vuoi inserire nell'impegno. Il numero deve essere un numero intero positivo.

  • COMMITTED_MEMORY: la quantità di memoria, in MB, che vuoi includere nell'impegno. Ad esempio, 10240MB. Puoi acquistare memoria in incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: la quantità, in GB, di spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni disco SSD locale ha una dimensione di 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: il numero di GPU che vuoi includere nell'impegno.

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi inserire nell'impegno.

  • CUSTOM_END_DATE: facoltativo. Una data di fine personalizzata per il periodo di validità, che deve essere formattata come YYYY-MM-DD. Ad esempio, per specificare una data di fine personalizzata del 20 aprile 2024, formattala come 2024-04-20.

  • END_TIME: 00:00 UTC-8 o UTC-7 (fuso orario del Pacifico degli Stati Uniti e del Canada), come offset del tempo universale coordinato (UTC). Specifica questo valore solo se hai specificato una data di fine personalizzata per il tuo impegno. Specifica uno dei seguenti valori:

    • Durante l'ora legale: 07:00:00
    • In altri orari: 08:00:00
  • RESERVATION_URLs: un elenco separato da virgole di URL delle prenotazioni esistenti che vuoi allegare all'impegno. Ad esempio, per allegare due prenotazioni, res-1 e res-2, specifica quanto segue:

    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1",
    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
    

Esempio: acquista un impegno collegando le prenotazioni esistenti

Supponiamo che tu abbia due prenotazioni res-01 e res-02 nelle zone us-central1-a e us-central1-b del progetto myproject. Supponiamo che queste prenotazioni abbiano una capacità combinata per 4 GPU NVIDIA P100 e 4 dischi SSD locali. Per acquistare un nuovo impegno nella regione us-central1 di questo progetto per queste GPU e questi dischi SSD locali e per utilizzare queste prenotazioni esistenti come prenotazioni collegate, effettua la seguente richiesta POST. Tieni presente che l'impegno di esempio contiene anche vCPU e memoria.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p100",
      "amount": "4",
      "type": "ACCELERATOR"
    },
    {
      "amount": "1536000",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations":
  [
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01",
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02"
  ]
}

Creare nuove prenotazioni da allegare

Puoi creare le prenotazioni associate durante l'acquisto dell'impegno utilizzando la console Google Cloud, Google Cloud CLI o REST.

Console

Prima di acquistare un impegno utilizzando la console Google Cloud, seleziona il progetto che vuoi utilizzare per l'acquisto dell'impegno. Se la condivisione dei dati CUD è abilitata per un account di fatturazione Cloud, puoi acquistare l'impegno utilizzando qualsiasi progetto di quell'account di fatturazione Cloud. Dopo aver selezionato il progetto, procedi nel seguente modo:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Acquista impegno. Viene visualizzata la pagina Acquista uno sconto per impegno di utilizzo, con la scheda Hardware.

  3. Nel campo Nome, inserisci un nome per l'impegno.

  4. Nel campo Regione, seleziona la regione in cui vuoi eseguire il commit per le risorse Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie della famiglia di macchine per le risorse impegnate. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • A2 ottimizzato per l'acceleratore per le risorse del tipo di macchina A2
    • A3 ottimizzato per l'acceleratore per le risorse tipo di macchina A3 Edge e High
    • A3 Mega ottimizzato per l'acceleratore per le risorse del tipo di macchina A3 Mega
    • C2 ottimizzate per il calcolo per le risorse di tipo di macchina C2
    • C2D ottimizzato per il calcolo per le risorse di tipo di macchina C2D
    • C3 per uso generico per le risorse del tipo di macchina C3
    • C3D per uso generico per le risorse di tipo di macchina C3D
    • N1 per uso generico per le risorse di tipo di macchina N1
    • Uso generico N2 per le risorse di tipo di macchina N2
    • N2D per uso generico per le risorse delle macchine N2D
    • G2 ottimizzate per la grafica per le risorse del tipo di macchina G2
    • M3 con ottimizzazione per la memoria per le risorse del tipo di macchina M3
    • Z3 ottimizzata per lo spazio di archiviazione per le risorse del tipo di macchina Z3

  6. In Durata, scegli 1 anno o 3 anni come durata del termine dell'impegno.

  7. Nel campo Core, inserisci il numero di vCPU a cui vuoi impegnarti.

  8. Nel campo Memoria, inserisci la quantità di memoria, in GB, che vuoi impegnare.

  9. Per eseguire il commit delle GPU, nella sezione GPU, fai clic su Aggiungi GPU e poi procedi nel seguente modo:

    1. Nel campo Tipo di GPU, seleziona il tipo di GPU.
    2. Nel campo Numero di GPU, inserisci il numero di GPU.
    3. (Facoltativo) Se il modello di GPU supporta le workstation virtuali NVIDIA RTX (vWS) per i carichi di lavoro grafici e prevedi di eseguire carichi di lavoro ad alta intensità di grafica, seleziona la casella di controllo Abilita workstation virtuale (NVIDIA GRID).
  10. Per impegnarti a utilizzare i dischi SSD locali, nella sezione SSD locali, fai clic su Aggiungi SSD e poi, nel campo Numero di SSD, specifica il numero di dischi.

  11. Per creare una nuova prenotazione e collegarla all'impegno, nel campo Prenotazioni, seleziona Crea prenotazioni e segui la procedura riportata di seguito. Ripeti questo passaggio per ogni nuova prenotazione che vuoi creare e allegare.

    1. Fai clic su Aggiungi una prenotazione. Viene visualizzata la sezione Nuova prenotazione.
    2. Nel campo Nome, inserisci un nome per la prenotazione allegata.
    3. Nel campo Regione, seleziona la stessa regione del tuo impegno.
    4. Nel campo Zona, seleziona la zona in cui vuoi prenotare le risorse.
    5. Nella sezione Tipo di condivisione, specifica come vuoi condividere la prenotazione in uno dei seguenti modi:

      • Per creare una prenotazione per un singolo progetto, seleziona Locale.
      • Per creare una prenotazione condivisa con più progetti, selezionate Condivisa. Per specificare i progetti con cui condividere questa prenotazione, fai clic su Aggiungi progetti e poi seleziona i progetti che ti interessano dall'organizzazione del progetto corrente.
    6. Nel campo Utilizza con un'istanza VM, seleziona in che modo vuoi che le VM utilizzino la prenotazione in uno dei seguenti modi:

      • Per consentire alle VM con proprietà corrispondenti di utilizzare automaticamente questa prenotazione, fai clic su Usa automaticamente la prenotazione (impostazione predefinita).
      • Per utilizzare le risorse di questa prenotazione solo quando crei VM con proprietà corrispondenti che hanno come target specifico questa prenotazione per nome, fai clic su Seleziona una prenotazione specifica.
    7. Nella sezione Dettagli della risorsa:

      1. Nel campo Numero di istanze VM, inserisci il numero di istanze VM che vuoi prenotare.
      2. Nella sezione Configurazione macchina, specifica le proprietà delle VM riservate in uno dei seguenti modi:

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

          Nel campo Modello di istanza, seleziona un modello di istanza che specifichi la stessa serie di famiglie di macchine del tuo impegno. Se selezioni un modello di istanza regionale, la regione del modello deve corrispondere anche alla regione specificata nell'impegno.

        2. Per specificare manualmente le proprietà delle VM, seleziona Seleziona il tipo di macchina e poi procedi nel seguente modo:

          1. Seleziona la famiglia di macchine che si applica alla serie di macchine specificata per l'impegno:

            • General purpose per le serie di macchine per uso generico
            • Ottimizzato per il calcolo per le serie di macchine ottimizzate per il calcolo
            • Ottimizzata per la memoria per le serie di macchine ottimizzate per la memoria
            • GPU per le serie di macchine ottimizzate per l'acceleratore
          2. Nella tabella con la colonna Serie, seleziona la stessa serie di macchine specificata per l'impegno.

          3. Nel campo Tipo di macchina, specifica un tipo di macchina predefinito o personalizzato in uno dei seguenti modi:

            1. Per scegliere un tipo di macchina predefinita, seleziona Preimpostato e poi il tipo di macchina che ti interessa.
            2. Per scegliere un tipo di macchina personalizzata, seleziona Personalizzato e poi specifica i Core e la Memoria che ti interessano.
          4. Per specificare una piattaforma CPU minima, le GPU o entrambe, espandi il menu Piattaforma CPU e GPU ed esegui i seguenti passaggi:

            1. (Facoltativo) Per specificare una piattaforma CPU minima, seleziona un'opzione nell'elenco Piattaforma CPU.
            2. (Facoltativo) Per prenotare le 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.

          5. Per prenotare i dischi SSD locali:

            1. Nel campo Numero di dischi, seleziona il numero di dischi SSD locali che vuoi per ogni VM.
            2. Nel campo Tipo di interfaccia, seleziona l'interfaccia per i dischi SSD locali.
    8. Per completare la specifica delle proprietà per questa prenotazione, fai clic su Fine.

  12. Per completare l'acquisto dell'impegno con le prenotazioni allegate:

    1. Fai clic su Acquista.
    2. Nella finestra di dialogo Acquista uno sconto per impegno di utilizzo, se accetti i termini specifici del servizio, fai di nuovo clic su Acquista.

gcloud

Per creare le prenotazioni allegate durante l'acquisto dell'impegno, esegui il comando gcloud compute commitments create.

A seconda che tu voglia allegare una singola prenotazione o più prenotazioni, esegui il comando in uno dei seguenti modi:

  • Per creare e collegare una singola prenotazione al tuo impegno, definisci le proprietà della prenotazione collegata eseguendo il seguente comando:

    gcloud compute commitments create COMMITMENT_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --plan DURATION \
        --type COMMITMENT_TYPE
        --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
        --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
        --custom-end-time=CUSTOM_END_DATE \
        --reservation=RESERVATION_NAME \
        --reservation-zone=RESERVATION_ZONE \
        --machine-type=RESERVED_MACHINE_TYPE \
        --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \
        --vm-count=NUMBER_OF_RESERVED_VMs \
        --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \
        --local-ssd=interface=INTERFACE_1,size=375 \
        --local-ssd=interface=INTERFACE_2,size=375 \
        --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \
        --share-setting=SHARE_SETTING \
        --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
    
  • Per creare e collegare più prenotazioni al tuo impegno, definisci le proprietà della prenotazione utilizzando un file YAML e poi specifica questo file YAML nel comando che utilizzi per acquistare l'impegno. Se vuoi, puoi anche utilizzare questo approccio con file YAML per creare e collegare una singola prenotazione al tuo impegno. Per creare le prenotazioni collegate utilizzando questo approccio:

    1. Crea il file YAML nella directory corrente e specifica la configurazione che preferisci per ogni prenotazione collegata. Per example, per specificare la configurazione di una prenotazione condivisa con due progetti che specifica GPU, due dischi SSD locali e una piattaforma CPU minima, includi il seguente testo nel file YAML:

      - reservation: RESERVATION_NAME
        reservation_zone: RESERVATION_ZONE
        require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE
        vm_count: NUMBER_OF_RESERVED_VMs
        machine_type: RESERVED_MACHINE_TYPE
        accelerator:
        - count: RESERVED_ACCELERATOR_COUNT
          type: RESERVED_ACCELERATOR_TYPE
        localssd:
        - interface: INTERFACE_1
          size: 375
        - interface: INTERFACE_2
          size: 375
        project: OWNER_PROJECT_ID
        minimum-cpu-platform: MINIMUM_CPU_PLATFORM
        share-setting: SHARE_SETTING
        share-with:
        - CONSUMER_PROJECT_ID_1
        - CONSUMER_PROJECT_ID_2
      
      

      Per specificare la configurazione per più prenotazioni, ripeti queste proprietà per ogni prenotazione che vuoi creare. Puoi collegare al tuo impegno un numero qualsiasi di prenotazioni esistenti.

    2. Esegui il comando gcloud compute commitments create e includi il flag --reservation-from-file.

      gcloud compute commitments create COMMITMENT_NAME \
          --region REGION \
          --project PROJECT_ID \
          --plan DURATION \
          --type COMMITMENT_TYPE \
          --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
          --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
          --reservations-from-file=YAML_FILE
      

Sostituisci quanto segue con le proprietà corrispondenti dell'impegno e delle prenotazioni allegate:

Impegno

  • COMMITMENT_NAME: il nome dell'impegno.
  • REGION: la regione in cui si trova l'impegno.
  • PROJECT_ID: l'ID del progetto in cui vuoi acquistare l'impegno con le prenotazioni allegate.
  • DURATION: la durata dell'impegno, 12-month o 36-month.
  • CUSTOM_END_DATE: facoltativo. Una data di fine personalizzata per il periodo di validità, che deve essere formattata come YYYY-MM-DD. Ad esempio, per specificare una data di fine personalizzata del 20 aprile 2024, formattala come 2024-04-20.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • accelerator-optimized per le risorse di tipo di macchina A2
    • accelerator-optimized-a3 per le risorse tipo di macchina A3 Edge e High
    • accelerator-optimized-a3-mega per le risorse del tipo di macchina A3 Mega
    • compute-optimized per le risorse di tipo di macchina C2
    • compute-optimized-c2d per le risorse di tipo di macchina C2D
    • compute-optimized-c3 per le risorse di tipo di macchina C3
    • compute-optimized-c3d per le risorse di tipo di macchina C3D
    • general-purpose per le risorse di tipo di macchina N1
    • general-purpose-n2 per le risorse di tipo di macchina N2
    • general-purpose-n2d per le risorse delle macchine N2D
    • graphics-optimized per le risorse del tipo di macchina G2
    • memory-optimized-m3 per le risorse del tipo di macchina M3
    • storage-optimized-z3 per le risorse di tipo di macchina Z3

  • COMMITTED_VCPUS: il numero di vCPU che vuoi includere nell'impegno. Il numero deve essere un numero intero positivo.

  • COMMITTED_MEMORY: la quantità di memoria, in MB o GB, che vuoi includere nel tuo impegno. Ad esempio, 10GB o 10240MB. Se non specifichi un'unità, Compute Engine utilizza come unità i GB. Puoi acquistare memoria con incrementi di 0,25 GB.

  • COMMITTED_LOCAL_SSD: la quantità, in GB, di spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni disco SSD locale ha una dimensione di 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: il numero di GPU che vuoi inserire nell'impegno.

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi inserire nell'impegno.

  • YAML_FILE: il percorso del file YAML che contiene la configurazione delle prenotazioni allegate.

Prenotazioni collegate

  • RESERVATION_NAME: il nome della prenotazione allegata.
  • RESERVATION_ZONE: la zona della prenotazione collegata.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: specifica se la prenotazione allegata è una prenotazione con target specifico. Deve essere true o false. Per ulteriori informazioni sulle prenotazioni mirate in modo specifico, consulta Come funzionano le prenotazioni.
  • NUMBER_OF_RESERVED_VMS: il numero di VM che vuoi prenotare nella prenotazione allegata.
  • RESERVED_MACHINE_TYPE: il tipo di macchina che vuoi per le VM nella prenotazione allegata.

    • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio n2-standard-4.
    • Per i tipi di macchine personalizzate, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, consulta le specifiche per i tipi di macchine personalizzate.

      Sostituisci quanto segue:

      • MACHINE_FAMILY: la famiglia di tipi di macchine; ad esempio, specifica n2 per le VM N2.
      • CPUS: il numero di vCPUs.
      • MEMORY: la memoria totale di una VM prenotata. La memoria deve essere un multiplo di 256 MB e deve essere fornita in MB. Ad esempio, per creare una VM N2 con 4 vCPU e 5 GB di memoria, ovvero 5120 MB, utilizza n2-custom-4-5120.
  • RESERVED_ACCELERATOR_COUNT: il numero di GPU da aggiungere per VM nella prenotazione allegata.

  • RESERVED_ACCELERATOR_TYPE: il tipo di acceleratore che vuoi aggiungere alla prenotazione allegata.

  • INTERFACE_1 e INTERFACE_2: il tipo di interfaccia che vuoi che i dischi SSD locali per ogni VM riservata utilizzino. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro local_ssd per ogni disco SSD locale che vuoi aggiungere. Puoi specificare fino a 24 dischi SSD locali.

  • OWNER_PROJECT_ID: l'ID del progetto in cui vuoi acquistare l'impegno con la prenotazione allegata. Specifica questo campo se vuoi condividere la prenotazione collegata su più progetti consumer.

  • MINIMUM_CPU_PLATFORM: la piattaforma CPU minima che vuoi specificare per la prenotazione allegata.

  • SHARE_SETTING: il tipo di condivisione per la prenotazione allegata. Specifica questo campo con il valore projects se vuoi condividere la prenotazione allegata in più progetti consumer. Escludi questo campo se vuoi creare una prenotazione per un singolo progetto.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti che possono condividere questa prenotazione, ad esempio project-1 e project-2. Puoi includere fino a 100 progetti consumer. Questi progetti devono trovarsi nella stessa organizzazione del progetto proprietario. Non includere l'ID del progetto in cui crei questa prenotazione, in quanto il progetto è autorizzato a utilizzarla per impostazione predefinita. Escludi questi campi se vuoi creare una prenotazione per un singolo progetto.

Compute Engine crea l'impegno e le prenotazioni allegate solo se al momento della richiesta sono disponibili risorse sufficienti del tipo di macchina specificato nella zona di destinazione e una quota sufficiente. Se l'acquisto è andato a buon fine, viene visualizzato un messaggio di conferma simile al seguente:

Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]

Esempi per gli impegni di acquisto mediante la creazione di nuove prenotazioni da allegare

Gli scenari e i comandi di esempio riportati di seguito mostrano come acquistare un impegno per GPU, dischi SSD locali o entrambi creando nuove prenotazioni da associare all'impegno.

Esempio 1: acquista un impegno per le GPU collegando una singola nuova prenotazione

Supponiamo che tu voglia acquistare un impegno commitment-01 nella regione us-central1 che includa 4 GPU NVIDIA V100. Vuoi creare una nuova prenotazione reservation-01 come prenotazione collegata per queste GPU. Supponiamo che tu voglia anche specificare a Compute Engine di utilizzare queste GPU prenotate su 2 VM n1-standard-32 nella zona us-central1-a. Per acquistare questo impegno di esempio con la prenotazione collegata, esegui il seguente comando:

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-32 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

Esempio 2: acquista un impegno per le GPU senza impegnarti a utilizzare vCPU o memoria

Per impegnarti a prenotare GPU e dischi SSD locali senza impegnarti a utilizzare vCPU o memoria, specifica 0 come valore per le quantità di vCPU e memoria. Ad esempio, supponiamo che tu voglia acquistare un impegno commitment-02 per una singola GPU NVIDIA P4 nella regione us-west2. Inoltre, vuoi creare una nuova prenotazione come prenotazione allegata e specificare a Compute Engine di utilizzare la GPU prenotata su una VM n1-standard-2 nella zona us-west2-b. Per acquistare questo impegno di esempio con la prenotazione associata, esegui il seguente comando:

gcloud compute commitments create commitment-02 \
    --region=us-west2 \
    --project=myproject \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-2 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

Esempio 3: acquista un impegno per GPU e dischi SSD locali collegando più nuove prenotazioni

Supponiamo che tu voglia acquistare un impegno commitment-03 per 1 GPU NVIDIA V100 e 2 dischi SSD locali nella regione us-central1. Inoltre, vuoi creare e allegare due prenotazioni nella us-central1-a zona. Nella prima prenotazione, res-01, vuoi prenotare 1 VM n1-standard-2 con 1 GPU. Vuoi creare una prenotazione res-01 mirata, il che significa che devi scegliere come target specifico la prenotazione per nome per utilizzare le VM riservate. Nella seconda prenotazione, res-02, vuoi prenotare 1 VM n1-standard-8 con 2 tipi di dischi SSD locali collegati.

Per acquistare questo impegno di esempio con le prenotazioni allegate, innanzitutto crea il file YAML con le proprietà di entrambe le prenotazioni.

- reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-v100
- reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-8
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

Dopo aver creato il file YAML, per completare l'acquisto dell'impegno con le relative prenotazioni collegate, esegui il seguente comando. Tieni presente che l'impegno di esempio contiene anche risorse vCPU e di memoria.

gcloud compute commitments create commitment-03 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=YAML_FILE

REST

Per creare le prenotazioni allegate durante l'acquisto del tuo impegno, invia una richiesta POST al metodo regionCommitments.insert. Nella richiesta, includi il campo reservations per definire un elenco di tutte le nuove prenotazioni che vuoi creare e allegare. Puoi allegare al tuo impegno un qualsiasi numero di prenotazioni esistenti.

  • Per creare la nuova prenotazione specificando manualmente tutte le proprietà della VM, includi il campo instanceProperties ed escludi il campo sourceInstanceTemplate.

    Ad esempio, per specificare manualmente la configurazione di una prenotazione condivisa con due progetti che specifica GPU, due dischi SSD locali e una piattaforma CPU minima, effettua la seguente richiesta:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "RESERVED_ACCELERATOR_COUNT",
                "acceleratorType": "RESERVED_ACCELERATOR_TYPE"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_1"
              },
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_2"
              }
            ],
            "machineType": "RESERVED_MACHINE_TYPE",
            "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
          }
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    
  • Per creare la nuova prenotazione specificando un modello di istanza, includi il campo sourceInstanceTemplate ed escludi il campo instanceProperties.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    

Sostituisci quanto segue con le proprietà corrispondenti dell'impegno e delle prenotazioni allegate:

Impegno

  • COMMITMENT_NAME: il nome dell'impegno.
  • REGION: la regione in cui si trova l'impegno.
  • PROJECT_ID: l'ID del progetto in cui vuoi acquistare l'impegno con le prenotazioni allegate.
  • DURATION: la durata del committente, TWELVE_MONTH o THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per le risorse di tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per le risorse tipo di macchina A3 Edge e High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le risorse del tipo di macchina A3 Mega
    • COMPUTE_OPTIMIZED per le risorse di tipo di macchina C2
    • COMPUTE_OPTIMIZED_C2D per le risorse di tipo di macchina C2D
    • COMPUTE_OPTIMIZED_C3 per le risorse di tipo di macchina C3
    • COMPUTE_OPTIMIZED_C3D per le risorse di tipo di macchina C3D
    • GENERAL_PURPOSE per le risorse di tipo di macchina N1
    • GENERAL_PURPOSE_N2 per le risorse di tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse delle macchine N2D
    • GRAPHICS_OPTIMIZED per le risorse del tipo di macchina G2
    • MEMORY_OPTIMIZED_M3 per le risorse del tipo di macchina M3
    • STORAGE_OPTIMIZED_Z3 per le risorse di tipo di macchina Z3

  • COMMITTED_VCPUS: il numero di vCPU che vuoi includere nell'impegno. Il numero deve essere un numero intero positivo.

  • COMMITTED_MEMORY: la quantità di memoria, in MB, che vuoi includere nell'impegno. Ad esempio, 10240MB. Puoi acquistare memoria in incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: la quantità, in GB, di spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni disco SSD locale ha una dimensione di 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: il numero di GPU che vuoi inserire nell'impegno.

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi inserire nell'impegno.

  • CUSTOM_END_DATE: facoltativo. Una data di fine personalizzata per il periodo di validità, che deve essere formattata come YYYY-MM-DD. Ad esempio, per specificare una data di fine personalizzata del 20 aprile 2024, formattala come 2024-04-20.

  • END_TIME: 00:00 UTC-8 o UTC-7 (fuso orario del Pacifico degli Stati Uniti e del Canada), come offset del tempo universale coordinato (UTC). Specifica questo valore solo se hai specificato una data di fine personalizzata per il tuo impegno. Specifica uno dei seguenti valori:

    • Durante l'ora legale: 07:00:00
    • In altri orari: 08:00:00

Prenotazioni collegate

  • RESERVATION_NAME: il nome della prenotazione allegata.
  • RESERVATION_ZONE: la zona della prenotazione collegata.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: specifica se la prenotazione allegata è una prenotazione con target specifico. Deve essere true o false. Per ulteriori informazioni sulle prenotazioni mirate in modo specifico, consulta Come funzionano le prenotazioni.
  • NUMBER_OF_RESERVED_VMS: il numero di VM che vuoi prenotare nella prenotazione allegata.
  • RESERVED_MACHINE_TYPE: il tipo di macchina che vuoi per le VM nella prenotazione allegata.

    • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio, n2-standard-4.
    • Per i tipi di macchine personalizzate, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, consulta le specifiche per i tipi di macchine personalizzate.

      Sostituisci quanto segue:

      • MACHINE_FAMILY: la famiglia di tipi di macchine; ad esempio, specifica n2 per le VM N2.
      • CPUS: il numero di vCPUs.
      • MEMORY: la memoria totale di una VM prenotata. La memoria deve essere un multiplo di 256 MB e deve essere fornita in MB. Ad esempio, per creare una VM N2 con 4 vCPU e 5 GB di memoria, ovvero 5120 MB, utilizza n2-custom-4-5120.
  • RESERVED_ACCELERATOR_COUNT: il numero di GPU da aggiungere per VM nella prenotazione allegata.

  • RESERVED_ACCELERATOR_TYPE: il tipo di acceleratore che vuoi aggiungere alla prenotazione allegata.

  • INTERFACE_1 e INTERFACE_2: il tipo di interfaccia che vuoi che i dischi SSD locali per ogni VM riservata utilizzino. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una capacità di 375 GB. Ripeti il parametro localSsds per ogni disco SSD locale che vuoi aggiungere. Puoi specificare fino a 24 dischi SSD locali.

  • MINIMUM_CPU_PLATFORM: la piattaforma CPU minima che vuoi specificare per la prenotazione allegata.

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza che vuoi utilizzare per creare la prenotazione collegata.

  • SHARE_SETTING: il tipo di condivisione per la prenotazione allegata. Specifica questo campo con il valore SPECIFIC_PROJECTS se vuoi condividere la prenotazione allegata su più progetti consumer. Escludi questo campo se vuoi creare una prenotazione per un solo progetto.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti che possono condividere questa prenotazione, ad esempio project-1 e project-2. Puoi includere fino a 100 progetti consumer. Questi progetti devono trovarsi nella stessa organizzazione del progetto proprietario. Non includere l'ID del progetto in cui crei questa prenotazione, in quanto il progetto è autorizzato a utilizzarla per impostazione predefinita. Escludi questi campi se vuoi creare una prenotazione per un singolo progetto.

Compute Engine crea l'impegno e le prenotazioni allegate solo se al momento della richiesta sono presenti risorse sufficienti del tipo di macchina specificato nella zona di destinazione e una quota sufficiente. Se l'acquisto è andato a buon fine, Compute Engine restituisce lo stato 200 per la richiesta dell'API REST.

Esempi per gli impegni di acquisto mediante la creazione di nuove prenotazioni da allegare

Gli scenari e i comandi di esempio riportati di seguito mostrano come acquistare un impegno per GPU, dischi SSD locali o entrambi creando nuove prenotazioni da associare all'impegno.

Esempio 1: acquista un impegno per le GPU collegando una singola nuova prenotazione

Supponiamo che tu voglia acquistare un impegno commitment-01 nella regione us-central1 che includa 4 GPU NVIDIA V100. Vuoi creare una nuova prenotazione reservation-01 come prenotazione allegata per queste GPU. Supponiamo che tu voglia anche specificare a Compute Engine di utilizzare queste GPU riservate su 2 VM n1-standard-8 nella zona us-central1-a. Per acquistare questo impegno di esempio con la prenotazione allegata, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Esempio 2: acquista un impegno per le GPU senza impegnarti a utilizzare vCPU o memoria

Per impegnarti a utilizzare e prenotare GPU e dischi SSD locali senza impegnarti a utilizzare vCPU o memoria, specifica 0 come valore per le quantità di vCPU e memoria. Ad esempio, supponiamo che tu voglia acquistare un impegno commitment-02 per una singola GPU NVIDIA P4 nella regione us-west2. Inoltre, vuoi creare una nuova prenotazione come prenotazione allegata e specificare Compute Engine in modo da utilizzare la GPU prenotata su una VM n1-standard-2 nella zona us-west2-b. Per acquistare questo impegno di esempio con la prenotazione allegata, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments

{
  "name": "commitment-02",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p4",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 4,
              "acceleratorType": "nvidia-tesla-p4"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-west2-b"
    }
  ]
}

Esempio 3: acquista un impegno per GPU e dischi SSD locali collegando più nuove prenotazioni

Supponiamo che tu voglia acquistare un impegno commitment-03 per 1 GPU NVIDIA V100 e 2 dischi SSD locali nella regione us-central1. Inoltre, vuoi creare e allegare due prenotazioni nella us-central1-a zona. Nella prima prenotazione, res-01, vuoi prenotare 1 VM n1-standard-2 con 1 GPU. Vuoi creare una prenotazione res-01 mirata, il che significa che devi scegliere come target specifico la prenotazione per nome per utilizzare le VM riservate. Nella seconda prenotazione, res-02, vuoi prenotare 1 VM n1-standard-8 con 2 tipi di dischi SSD locali collegati. Per acquistare questo impegno di esempio con le prenotazioni allegate, effettua la seguente richiesta POST. Tieni presente che l'impegno di esempio contiene anche risorse vCPU e di memoria.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-03",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "1",
      "type": "ACCELERATOR"
    },
    {
      "amount": "768000",
      "type": "LOCAL_SSD"
    }
  ],
  "reservations":
  [
    {
      "name": "res-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "us-central1-a"
    },
    {
      "name": "res-02",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            },
            {
              "diskSizeGb": "375",
              "interface": "NVME"
            }
          ]
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Sostituire le prenotazioni associate agli impegni

Sostituisci la prenotazione associata esistente del tuo impegno con una nuova prenotazione se vuoi modificare i tipi e i numeri di VM che utilizzano le risorse impegnate.

La prenotazione sostitutiva sarà sempre una prenotazione appena creata. Per sostituire una prenotazione allegata, devi specificare le proprietà della prenotazione che vuoi utilizzare come sostitutiva. Compute Engine quindi crea automaticamente una nuova prenotazione con queste proprietà e la utilizza per sostituire la prenotazione collegata. Non puoi utilizzare una prenotazione esistente per sostituire la prenotazione allegata.

Modifiche consentite

Quando sostituisci la prenotazione associata esistente di un impegno con una nuova prenotazione, puoi richiedere una delle seguenti modifiche:

  • Puoi prenotare VM di un altro tipo di macchina. Tuttavia, devi comunque prenotare VM della stessa serie di macchine per continuare a ricevere CUD per le risorse riservate.
  • Puoi modificare il numero di VM che vuoi prenotare.
  • Puoi modificare la quantità di GPU e dischi SSD locali collegati per VM, purché la quantità totale di GPU e dischi SSD locali riservati rimanga invariata.
  • Puoi specificare che le prenotazioni sostituite siano locali o condivise.

Requisiti

Quando sostituisci la prenotazione allegata del tuo impegno con una nuova, la tua richiesta deve soddisfare tutti i seguenti requisiti:

  • Puoi sostituire una sola prenotazione collegata alla volta con esattamente una nuova prenotazione collegata. Per sostituire una prenotazione collegata, rimuovi contemporaneamente una prenotazione collegata esistente impostando il relativo conteggio VM su 0 e definisci una nuova prenotazione collegata che vuoi sostituire.
  • La nuova prenotazione deve esistere nello stesso progetto dell'impegno.
  • La nuova prenotazione deve trovarsi nella stessa zona della prenotazione rimossa.
  • La quantità e i tipi di GPU specificati nella nuova prenotazione devono corrispondere a quelli della prenotazione rimossa.
  • I numeri e i tipi di dischi SSD locali specificati nella nuova prenotazione devono corrispondere a quelli della prenotazione rimossa.
  • Puoi modificare solo fino a 100 VM per richiesta. Per apportare una modifica che coinvolge più di 100 VM, suddividila in più richieste più piccole o rivolgiti all'assistenza Google Cloud.

La tua richiesta di sostituzione di una prenotazione dipende anche dalla disponibilità della capacità in quel momento. Se la capacità per una richiesta non è disponibile, la richiesta non va a buon fine e restituisce un errore di disponibilità della risorsa, che puoi provare a risolvere modificando o posticipando la richiesta. Per ulteriori informazioni, consulta la documentazione relativa alla risoluzione dei problemi di disponibilità delle risorse.

Se la richiesta di sostituzione di una prenotazione allegata non va a buon fine, la prenotazione allegata e le risorse prenotate esistenti rimangono invariate. Per preservare la tua capacità, attendi di apportare eventuali modifiche corrispondenti alle VM fino a quando la richiesta di sostituzione di una prenotazione non viene completata.

Procedura per sostituire una prenotazione allegata

Puoi sostituire le prenotazioni di un impegno utilizzando Google Cloud CLI o REST.

gcloud

Per sostituire le prenotazioni associate agli impegni:

  1. Crea un file YAML nella directory corrente con le configurazioni delle seguenti prenotazioni allegate:

    I contenuti del file YAML sono simili al seguente:

    - reservation: CURRENT_RESERVATION_NAME
      reservation_zone: CURRENT_RESERVATION_ZONE
      vm_count: 0
      machine_type: CURRENT_RESERVATION_MACHINE_TYPE
      accelerator:
      - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
        type: CURRENT_RESERVATION_ACCELERATOR_TYPE
      local_ssd:
      - interface: CURRENT_RESERVATION_INTERFACE_1
        size: 375
      - interface: CURRENT_RESERVATION_INTERFACE_2
        size: 375
      project: CURRENT_RESERVATION_PROJECT_ID
      share_setting: CURRENT_RESERVATION_SHARE_SETTING
      share_with:
      - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
      - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
    - reservation: REPLACEMENT_RESERVATION_NAME
      reservation_zone: REPLACEMENT_RESERVATION_ZONE
      vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs
      machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE
      accelerator:
      - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT
        type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
      local_ssd:
      - interface: REPLACEMENT_RESERVATION_INTERFACE_1
        size: 375
      - interface: REPLACEMENT_RESERVATION_INTERFACE_2
        size: 375
      project: REPLACEMENT_RESERVATION_PROJECT_ID
      share_setting: REPLACEMENT_RESERVATION_SHARE_SETTING
      share_with:
      - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
      - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
    
    

    Sostituisci quanto segue con le proprietà corrispondenti delle prenotazioni attuali e di sostituzione:

    Prenotazione attuale

    Per la prenotazione corrente, tutte le seguenti proprietà devono essere esattamente le stesse di quando hai visualizzato la prenotazione. Ometti i campi per le proprietà non ancora presenti nella prenotazione corrente.

    • CURRENT_RESERVATION_NAME: il nome della prenotazione attualmente collegata.
    • CURRENT_RESERVATION_ZONE: la zona della prenotazione attualmente collegata.
    • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina della prenotazione attualmente collegata.
    • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU riservate nella prenotazione attualmente collegata.
    • CURRENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore riservato nella prenotazione attualmente collegata.
    • CURRENT_RESERVATION_INTERFACE_1 e CURRENT_RESERVATION_INTERFACE_2: il tipo di interfaccia utilizzato dal disco SSD locale per ogni VM prenotata nella prenotazione attualmente collegata. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro local_ssd per tutti i dischi SSD locali riservati.
    • CURRENT_RESERVATION_PROJECT_ID: l'ID del progetto corrente che contiene l'impegno e la prenotazione allegata. Specifica questo campo se la prenotazione attualmente collegata è condivisa tra più progetti consumer.
    • CURRENT_RESERVATION_SHARE_SETTING: Il tipo di condivisione per la prenotazione corrente. Specifica questo campo con il valore projects se la prenotazione attualmente collegata è condivisa tra più progetti consumer.
    • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 e CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto con cui condividi la prenotazione attualmente collegata, ad esempio project-1 e project-2.

    Prenotazione sostitutiva

    Per la prenotazione sostitutiva, imposta le seguenti proprietà come obbligatorie. Assicurati di soddisfare tutti i requisiti quando specifichi queste proprietà. Ometti i campi aggiuntivi che non vuoi utilizzare.

    • REPLACEMENT_RESERVATION_NAME: il nome della nuova prenotazione sostitutiva.
    • REPLACEMENT_RESERVATION_ZONE: la zona della nuova prenotazione sostitutiva.
    • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: il numero di VM che vuoi prenotare nella nuova prenotazione di sostituzione.
    • REPLACEMENT_RESERVATION_MACHINE_TYPE: il tipo di macchina che vuoi per le VM nella nuova prenotazione sostitutiva.

      • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio, n2-standard-4.
      • Per i tipi di macchine personalizzate, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, consulta le specifiche per i tipi di macchine personalizzate.

      Sostituisci quanto segue:

      • MACHINE_FAMILY: la famiglia di tipi di macchine; ad esempio, specifica n2 per le VM N2.
      • CPUS: il numero di vCPUs.
      • MEMORY: la memoria totale di una VM prenotata. La memoria deve essere un multiplo di 256 MB e deve essere fornita in MB. Ad esempio, per creare una VM N2 con 4 vCPU e 5 GB di memoria, ovvero 5120 MB, utilizza n2-custom-4-5120.
    • REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU da aggiungere, per VM, nella prenotazione sostitutiva.

    • REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore che vuoi aggiungere alla prenotazione della sostituzione.

    • REPLACEMENT_RESERVATION_INTERFACE_1 e REPLACEMENT_RESERVATION_INTERFACE_2: il tipo di interfaccia che vuoi che i dischi SSD locali utilizzino per ogni VM prenotata. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro local_ssd per ogni disco SSD locale che vuoi aggiungere. Puoi specificare fino a 24 dischi SSD locali.

    • REPLACEMENT_RESERVATION_PROJECT_ID: l'ID del progetto corrente che contiene l'impegno e la prenotazione allegata. Specifica questo campo se vuoi condividere la prenotazione sostitutiva su più progetti consumer.

    • REPLACEMENT_RESERVATION_SHARE_SETTING: il tipo di condivisione per la prenotazione sostitutiva. Specifica questo campo con il valore projects se vuoi condividere la prenotazione sostitutiva su più progetti consumer.

    • REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 e REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti che possono condividere questa prenotazione, ad esempio project-1,project-2. Puoi includere fino a 100 progetti per consumatori. Questi progetti devono trovarsi nella stessa organizzazione del progetto proprietario. Non includere REPLACEMENT_RESERVATION_PROJECT_ID, che è già autorizzato a utilizzare questa prenotazione per impostazione predefinita.

  2. Esegui il comando gcloud beta compute commitments update-reservations e specifica il percorso del file YAML utilizzando il --reservations-from-file flag.

    gcloud beta compute commitments update-reservations COMMITMENT_NAME \
        --project= PROJECT_ID \
        --region= REGION \
        --reservations-from-file= YAML_FILE
    

    Sostituisci quanto segue:

    • COMMITMENT_NAME: il nome dell'impegno con la prenotazione allegata.
    • PROJECT_ID: l'ID progetto dell'impegno con la prenotazione allegata.
    • REGION: la regione in cui si trova l'impegno.
    • YAML_FILE: il percorso del file YAML che contiene la configurazione delle prenotazioni attuali e di sostituzione.

Esempio di sostituzione di una prenotazione associata a un impegno

Per dimostrarlo, questa sezione mostra un impegno di esempio con una prenotazione allegata e come sostituire la prenotazione di esempio allegata.

Esempio di impegno con una prenotazione allegata

Ad esempio, supponiamo che tu voglia aggiornare le prenotazioni allegate per l'impegno my-commitment-with-reservations acquistato utilizzando il seguente comando:

  gcloud beta compute commitments create my-commitment-with-reservations \
      --region=asia-east1 \
      --resources=vcpu=16,memory=60GB,local-ssd=3000 \
      --resources-accelerator=type=nvidia-tesla-p100,count=4 \
      --plan=12-month \
      --type=general-purpose \
      --reservations-from-file=one-reservation.yaml

Per questo esempio, supponiamo che quando è stato eseguito questo comando, one-reservation.yaml fosse un file nella directory corrente con i seguenti contenuti, che definiscono una prenotazione allegata denominata res-1.

  - reservation: res-1
    reservation_zone: asia-east1-a
    vm_count: 4
    machine_type: n1-standard-4
    accelerator:
    - count: 1
      type: nvidia-tesla-p100
    local_ssd:
    - interface: scsi
      size: 375
    - interface: scsi
      size: 375

Questo impegno my-commitment-with-reservations e la prenotazione res-1 allegata hanno generato le seguenti risorse impegnate e riservate:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione attuale collegata
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 riservate)*
GPU 4 GPU P100 4 GPU P100
(1 GPU P100 per VM, per 4 VM)*
Dischi SSD locali 3000 GB o 8 dischi SSD locali 3000 GB o 8 dischi SSD locali
(750 GB o 2 dischi SSD locali per VM, per 4 VM)*

*Nello specifico, la prenotazione associata di esempio, res-1, riserva 4 VM n1-standard-4, ciascuna con 1 GPU P100 e 2 dischi SSD locali di tipo di interfaccia scsi. Il n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Sostituire la prenotazione di esempio allegata

Supponiamo che tu voglia sostituire la prenotazione collegata res-1 con una nuova prenotazione collegata res-2 e modificare le risorse riservate come segue:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione attuale collegata
(res-1)
Risorse nella prenotazione collegata di sostituzione
(res-2)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 riservate)*
16 vCPU e 60 GB
(2 VM n1-standard-8 riservate e condivise)
GPU 4 GPU P100 4 GPU P100
(1 GPU P100 per VM, per 4 VM)*
4 GPU P100
(2 GPU P100 per VM, per 2 VM)
Dischi SSD locali 3000 GB o 8 dischi SSD locali 3000 GB o 8 dischi SSD locali
(750 GB o 2 dischi SSD locali per VM, per 4 VM)*
3000 GB o 8 dischi SSD locali
(1500 GB o 4 dischi SSD locali per VM, per 2 VM)*

*Nello specifico, la prenotazione associata di esempio, res-1, riserva 4 VM n1-standard-4, ciascuna con 1 GPU P100 e 2 dischi SSD locali di tipo di interfaccia scsi. Il tipo di macchina n1-standard-4 utilizza 4 vCPU e 15 GB per ogni VM.

Nello specifico, la prenotazione associata di sostituzione definisce res-2, che riserva 2 VM n1-standard-8, ciascuna con 1 GPU P100 e 4 dischi SSD locali di tipo scsi. Inoltre, res-2 è condiviso con altri due progetti, project-1 e project-2, ed è di proprietà del progetto corrente, my-project. Il tipo di macchina n1-standard-8 utilizza 8 vCPU e 30 GB per ogni VM.

Per sostituire la prenotazione allegata res-1 con res-2 per l'impegno my-commitment-with-reservations:

  1. Crea un file denominato two-reservations.yaml nella directory attuale con i seguenti contenuti:

    - reservation: res-1
      reservation_zone: asia-east1-a
      vm_count: 0
      machine_type: n1-standard-4
      accelerator:
      - count: 1
        type: nvidia-tesla-p100
      local_ssd:
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
    - reservation: res-2
      reservation_zone: asia-east1-a
      vm_count: 2
      machine_type: n1-standard-8
      accelerator:
      - count: 2
        type: nvidia-tesla-p100
      project: my-project
      share_setting: projects
      share_with:
      - project-1
      - project-2
      local_ssd:
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
    
  2. Esegui questo comando:

    gcloud beta compute commitments update-reservations my-commitment-with-reservations \
        --region=asia-east1 \
        --reservations-from-file=two-reservations.yaml
    

REST

Per sostituire le prenotazioni associate agli impegni, invia una richiesta POST utilizzando il metodo regionCommitments.updateReservations.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations

{
  "reservations":
  [
    {
      "name": "REPLACEMENT_RESERVATION_NAME",
      "specificReservation":
      {
        "count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS",
              "acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE"
            }
          ],
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "REPLACEMENT_RESERVATION_INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "REPLACEMENT_RESERVATION_INTERFACE_2"
            }
          ],
          "machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE"

        }
      },
      "zone": "REPLACEMENT_RESERVATION_ZONE",
      "shareSettings":
      {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap":
        {
          "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1":
          {
            "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1"
          },
          "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2":
          {
            "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2"
          }
         }
      }
    },
    {
      "name": "CURRENT_RESERVATION_NAME",
      "specificReservation":
      {
        "count": "0",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS",
              "acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE"
            }
          ],
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "CURRENT_RESERVATION_INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "CURRENT_RESERVATION_INTERFACE_2"
            }
          ],
          "machineType": "CURRENT_RESERVATION_MACHINE_TYPE"

        }
      },
      "zone": "CURRENT_RESERVATION_ZONE",
      "shareSettings":
      {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap":
        {
          "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1":
          {
            "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1"
          },
          "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2":
          {
            "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2"
          }
         }
      }
    }
  ]
}

Sostituisci quanto segue con le proprietà corrispondenti dell'impegno, della prenotazione attuale e della prenotazione sostitutiva:

Impegno

  • COMMITMENT_NAME: il nome dell'impegno con la prenotazione allegata.
  • PROJECT_ID: l'ID progetto dell'impegno con la prenotazione allegata. Si tratta anche dell'ID progetto per le prenotazioni correnti e allegate.
  • COMMITMENT_ZONE: la zona dell'impegno con la prenotazione allegata.

Prenotazione attuale

Per la prenotazione corrente, tutte le seguenti proprietà devono essere esattamente le stesse di quando hai visualizzato la prenotazione. Ometti i campi per le proprietà non già specificate nella prenotazione corrente.

  • CURRENT_RESERVATION_NAME: il nome della prenotazione attualmente collegata.
  • CURRENT_RESERVATION_ZONE: la zona della prenotazione attualmente collegata.
  • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina della prenotazione attualmente collegata.
  • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU riservate nella prenotazione attualmente collegata.
  • CURRENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore riservato nella prenotazione attualmente collegata.
  • CURRENT_RESERVATION_INTERFACE_1 e CURRENT_RESERVATION_INTERFACE_2: il tipo di interfaccia utilizzato dai dischi SSD locali per ogni VM prenotata nella prenotazione attualmente collegata. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro localSsds per tutti i dischi SSD locali riservati.
  • CURRENT_RESERVATION_SHARE_SETTING: Il tipo di condivisione per la prenotazione corrente. Specifica questo parametro con il valore projects se la prenotazione attualmente collegata è condivisa tra più progetti consumer.
  • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 e CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto con cui condividi la prenotazione attualmente collegata, ad esempio project-1 e project-2.

Prenotazione sostitutiva

Per la prenotazione sostitutiva, imposta le seguenti proprietà come obbligatorie. Assicurati di soddisfare tutti i requisiti quando specifichi queste proprietà. Ometti i campi aggiuntivi che non vuoi utilizzare.

  • REPLACEMENT_RESERVATION_NAME: il nome della nuova prenotazione sostitutiva.
  • REPLACEMENT_RESERVATION_ZONE: la zona della nuova prenotazione sostitutiva.
  • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: il numero di VM che vuoi prenotare nella nuova prenotazione sostitutiva.
  • REPLACEMENT_RESERVATION_MACHINE_TYPE: il tipo di macchina che vuoi per le VM nella nuova prenotazione sostitutiva.

    • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio, n2-standard-4.
    • Per i tipi di macchine personalizzate, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, consulta le specifiche per i tipi di macchine personalizzate.

    Sostituisci quanto segue:

    • MACHINE_FAMILY: la famiglia di tipi di macchine. Ad esempio, specifica n2 per le VM N2.
    • CPUS: il numero di vCPUs.
    • MEMORY: la memoria totale di una VM riservata. La memoria deve essere un multiplo di 256 MB e deve essere fornita in MB. Ad esempio, per creare una VM N2 con 4 vCPU e 5 GB di memoria, ovvero 5120 MB, utilizza n2-custom-4-5120.
  • REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU da aggiungere, per VM, nella prenotazione sostitutiva.

  • REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore che vuoi aggiungere nella prenotazione sostitutiva.

  • REPLACEMENT_RESERVATION_INTERFACE_1 e REPLACEMENT_RESERVATION_INTERFACE_2: il tipo di interfaccia che vuoi che venga utilizzato per i dischi SSD locali per ogni VM prenotata. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro localSsds per ogni disco SSD locale che vuoi aggiungere. Puoi specificare fino a 24 dischi SSD locali.

  • REPLACEMENT_RESERVATION_SHARE_SETTING: Il tipo di condivisione per la prenotazione sostitutiva. Specifica questo parametro con il valore projects se vuoi condividere la prenotazione della sostituzione su più progetti consumer.

  • REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 e REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti che possono condividere questa prenotazione, ad esempio project-1,project-2. Puoi includere fino a 100 progetti per consumatori. Questi progetti devono trovarsi nella stessa organizzazione del progetto proprietario. Non includere PROJECT_ID, che è già autorizzato a utilizzare questa prenotazione per impostazione predefinita.

Esempio di sostituzione di una prenotazione collegata a un impegno

Per dimostrarlo, questa sezione mostra un impegno di esempio con una prenotazione allegata e come sostituire la prenotazione di esempio allegata.

Esempio di impegno con una prenotazione allegata

Ad esempio, supponiamo che tu voglia sostituire la prenotazione obbligatoriares-1 per l'impegno my-commitment-with-reservations, acquistato inviando la seguente richiesta POST:

  POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments

  {
    "name": "my-commitment-with-reservations",
    "plan": "TWELVE_MONTH",
    "reservations":
    [
      {
        "name": "res-1",
        "specificReservation":
        {
          "count": "4",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "1",
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-4"
          }
        },
        "zone": "asia-east1-a"
      }
    ],
    "resources":
    [
      {
        "amount": "16",
        "type": "VCPU"
      },
      {
        "amount": "61440",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "nvidia-tesla-p100",
        "amount": "4",
        "type": "ACCELERATOR"
      }
      {
        "amount": "3072000",
        "type": "LOCAL_SSD"
      }
    ],
    "type": "GENERAL_PURPOSE"
  }

Questo impegno my-commitment-with-reservations e la prenotazione res-1 allegata hanno generato le seguenti risorse impegnate e riservate:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione attuale collegata
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 riservate)*
GPU 4 GPU P100 4 GPU P100
(1 GPU P100 per VM, per 4 VM)*
Dischi SSD locali 3000 GB o 8 dischi SSD locali 3000 GB o 8 dischi SSD locali
(750 GB o 2 dischi SSD locali per VM, per 4 VM)*

*Nello specifico, la prenotazione associata di esempio, res-1, riserva 4 VM n1-standard-4, ciascuna con 1 GPU P100 e 2 dischi SSD locali di tipo di interfaccia scsi. Il tipo di macchina n1-standard-4 utilizza 4 vCPU e 15 GB per ogni VM.

Sostituire la prenotazione di esempio allegata

Supponiamo che tu voglia sostituire la prenotazione collegata res-1 con una nuova prenotazione collegata res-2 e modificare le risorse riservate come segue:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione attuale collegata
(res-1)
Risorse nella prenotazione collegata di sostituzione
(res-2)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 riservate)*
16 vCPU e 60 GB
(2 VM n1-standard-8 riservate e condivise)
GPU 4 GPU P100 4 GPU P100
(1 GPU P100 per VM, per 4 VM)*
4 GPU P100
(2 GPU P100 per VM, per 2 VM)
Dischi SSD locali 3000 GB o 8 dischi SSD locali 3000 GB o 8 dischi SSD locali
(750 GB o 2 dischi SSD locali per VM, per 4 VM)*
3000 GB o 8 dischi SSD locali
(1500 GB o 4 dischi SSD locali per VM, per 2 VM)*

*Nello specifico, la prenotazione associata di esempio, res-1, riserva 4 VM n1-standard-4, ciascuna con 1 GPU P100 e 2 dischi SSD locali di tipo di interfaccia scsi. Il tipo di macchina n1-standard-4 utilizza 4 vCPU e 15 GB per ogni VM.

Nello specifico, la prenotazione associata di sostituzione definisce res-2, che riserva 2 VM n1-standard-8, ciascuna con 1 GPU P100 e 4 dischi SSD locali di tipo scsi. Inoltre, res-2 è condiviso con altri due progetti, project-1 e project-2, ed è di proprietà del progetto corrente, my-project. Il tipo di macchina n1-standard-8 utilizza 8 vCPU e 30 GB per ogni VM.

Per sostituire la prenotazione allegata res-1 con res-2 per l'impegno my-commitment-with-reservations, effettua la seguente richiesta POST utilizzando il metodo regionCommitments.updateReservations:

  POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservations/updateReservations

  {
    "reservations":
    [
      {
        "name": "res-2",
        "specificReservation":
        {
          "count": "2",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": 2,
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-8"
          }
        },
        "zone": "asia-east1-a"
      },
      {
        "name": "res-1",
        "specificReservation":
        {
          "count": "0",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": 1,
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-4"
          }
        },
        "zone": "asia-east1-a"
      }
    ]
  }

Passaggi successivi