Combina le prenotazioni con gli sconti per impegno di utilizzo


Sconti per impegno di utilizzo (CUD) offrire prezzi molto scontati per le tue risorse Compute Engine in cambio i 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 sconti per impegno di utilizzo sui costi di utilizzo delle risorse. Tuttavia, gli impegni non riservare capacità di zona per le risorse impegnate. Per ottenere risorse di zona sui prezzi scontati e assicura la prenotazione della capacità per questi, devi sia impegni di acquisto sia creare prenotazioni di risorse di zona.

Questo documento spiega come ricevere gli sconti per impegno di utilizzo (CUD) per le risorse prenotate e come collegare le prenotazioni a impegni basati sulle risorse.

Prima di iniziare

  • Rivedi le informazioni di base sulle prenotazioni, i relativi requisiti e limitazioni. Per ulteriori informazioni, vedi Prenotazioni delle risorse di zona Compute Engine.
  • Se non l'hai ancora fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

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

    Console

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

    gcloud

    1. 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, vedi Esegui 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 di cui mantenere la capacità risorse in quel progetto, gli sconti per impegno di utilizzo (CUD) provenienti da impegni attivi possono essere applicati anche a quelle risorse prenotate. Affinché le risorse prenotate siano idonee a ricevono gli sconti per impegno di utilizzo (CUD), si applicano i seguenti requisiti:

  • Non stai ricevendo altre forme di sconto per l'utilizzo delle risorse.
  • Le VM devono utilizzare le prenotazioni mentre gli impegni sono attivi.
  • Come minimo, le seguenti proprietà devono corrispondere ai valori attivi gli impegni e le prenotazioni utilizzate dalle VM:

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

A seconda del tipo di risorsa, puoi ricevere sconti per impegno di utilizzo (CUD) per le risorse prenotate 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 nel progetto utilizzano qualsiasi prenotazione con proprietà corrispondenti a questi impegni attivi, riceverai automaticamente gli sconti per impegno di utilizzo (CUD) applicabili per questi tipi di risorse prenotate. Se hai prenotato più risorse di che hai sottoscritto, non riceverai sconti per impegno di utilizzo (CUD) per queste risorse aggiuntive.

  • GPU e dischi SSD locali: per ricevere sconti per impegno di utilizzo (CUD) per una o entrambe le opzioni di risorse, devi fare quanto segue:

    • Acquista impegni basati sulle risorse che includono i tipi di risorse richiesti.
    • Creare prenotazioni per tutte le risorse di cui è stato eseguito il commit con proprietà che corrispondere all'impegno e collegare queste prenotazioni all'impegno.

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

Collega le prenotazioni a impegni basati sulle risorse

Puoi collegare le prenotazioni a qualsiasi impegno basato sulle risorse e assicurarti che la capacità viene mantenuta in zone specifiche per le risorse impegnate che prevedi di per gli utilizzi odierni. Puoi allegare più prenotazioni a un singolo impegno, ma una prenotazione può essere associata a un solo impegno. Quando acquisti un impegno, puoi collegare le prenotazioni a quell'impegno in uno dei seguenti modi:

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

Dopo aver acquistato un impegno con prenotazioni allegate, le prenotazioni e rimarranno attivi finché l'impegno sarà attivo. Alla scadenza dell'impegno, Compute Engine elimina automaticamente tutte le prenotazioni collegate. Eliminazione in corso... queste prenotazioni non hanno alcun effetto sulle VM in esecuzione che utilizzavano queste prenotazioni. Le VM in esecuzione continuano a essere eseguite e ti viene comunque addebitato l'importo per queste VM.

Risorse impegnate che non richiedono prenotazioni collegate

Le vCPU e la memoria impegnate non richiedono di collegare le prenotazioni corrispondenti i tuoi impegni. Tuttavia, quando acquisti un impegno che include vCPU, memoria o entrambe, puoi comunque scegliere di collegare le prenotazioni che specificano a queste risorse. Per scoprire come acquistare impegni esclusivamente per vCPU, memoria, o entrambe le cose, senza collegare prenotazioni, consulta Impegni di acquisto senza prenotazioni allegate.

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 qualsiasi GPU, Dischi SSD locali o entrambi, devi anche prenotare le risorse e collegarle le prenotazioni al tuo impegno. Puoi farlo utilizzando una singola prenotazione una combinazione di prenotazioni. Quando acquisti un impegno di questo tipo, puoi anche che includono vCPU, memoria o entrambe. Tuttavia, non è necessario prenotare le vCPU o 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 gli sconti per impegno di utilizzo (CUD) per GPU e Per i dischi SSD locali, consulta Tipi di impegno della documentazione relativa agli sconti per impegno di utilizzo (CUD) basati sulle risorse.

Quantità di risorse consentite nelle prenotazioni collegate

Per vCPU e memoria, puoi avere prenotazioni collegate specificando più meno risorse rispetto a quelle che ti impegni a raggiungere. Se ti impegni ad aumentare di vCPU o memoria rispetto a quella prenotata, Compute Engine prenota la capacità solo per queste risorse prenotate. Tuttavia, puoi comunque utilizzare le risorse aggiuntive impegnate a seconda della loro disponibilità nella tua regione. Se se prenoti più vCPU o memoria di quanto ti impegni, non riceverai sconti per impegno di utilizzo (CUD) per le risorse aggiuntive che prenoti.

Ad esempio, quando acquistare un impegno per 4 vCPU e 30 GB di memoria, puoi scegliere una delle seguenti opzioni:

  • Non collegare affatto prenotazioni.
  • collegare prenotazioni che specifichino una qualsiasi combinazione di questi tipi di risorse. della 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, devono prenotare e collegare tutte queste risorse. Le prenotazioni allegate devono specificare i numeri esatti e i tipi di GPU e dischi SSD locali che impegnarsi. Di conseguenza, non puoi avere numeri o tipi aggiuntivi di GPU o dischi SSD locali nelle prenotazioni collegate. Ad esempio, supponi di acquistare un impegno per 30 GB e 4 GPU NVIDIA P100. La prenotazione allegata (o la combinazione di prenotazioni collegate) può specificare qualsiasi quantità di vCPU o memoria, ma avere esattamente 4 GPU di tipo NVIDIA P100. In questo esempio, non puoi collegare prenotazioni che specifichino 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

Impegni di acquisto con prenotazioni allegate

Quando acquisti un nuovo impegno, puoi collegare le prenotazioni a l'impegno in uno dei seguenti modi:

Dopo aver acquistato un impegno, questo diventa attivo sulla il giorno successivo alle 00:00 US and Canadian Pacific Time (UTC-8 o UTC-7 durante 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 diventa ACTIVE. Ad esempio, supponi di acquistare l'impegno il 20 gennaio alle 22:00. Fuso orario del Pacifico - Stati Uniti e Canada (UTC-8 o UTC-7). Compute Engine crea immediatamente con il suo 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 queste e assicurati che l'impegno e le prenotazioni soddisfino i i seguenti criteri:

  • Devi acquistare l'impegno e creare le prenotazioni allegate nel lo stesso progetto e la stessa regione.
  • Devi acquistare l'impegno e creare le prenotazioni allegate per di risorse della stessa serie di famiglie di macchine.
  • Devi disattivare 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 GPU e dischi SSD locali, il numero di risorse prenotate di ciascun il tipo di risorsa deve corrispondere esattamente al numero di risorse di cui è stato eseguito il commit per quel tipo di risorsa. Ad esempio, se vuoi acquistare un impegno per 4 GPU V100, le prenotazioni allegate al tuo impegno devono specificare 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 NVIDIA P100 o NVIDIA V100, ma non puoi utilizzare un impegno acquistato per le GPU NVIDIA P100, per coprire le GPU NVIDIA V100.
  • Se la prenotazione allegata è condivisa e vuoi ricevere gli sconti per impegno di utilizzo (CUD) applicabili quando utilizzi la prenotazione al di fuori del tuo del progetto, devi eseguire entrambe le operazioni seguenti:

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 acquistare l'impegno. Se Condivisione dello sconto per impegno di utilizzo (CUD) è abilitato per un account di fatturazione Cloud, puoi acquistare l'impegno utilizzando qualsiasi progetto di quella fatturazione Cloud . Dopo aver selezionato il progetto, segui questi passaggi:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Impegno di acquisto. La pagina Acquista uno sconto per impegno di utilizzo si apre e viene visualizzata la scheda Hardware.

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

  4. Nel campo Regione, seleziona la regione in cui vuoi impegnarti alle risorse di Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie di famiglie di macchine per le tue risorse impegnate. I seguenti tipi di impegno offrono per GPU, dischi SSD locali o entrambi:

    • A2 ottimizzata per l'acceleratore per le risorse tipo di macchina A2
    • A3 ottimizzato per l'acceleratore per risorse di tipo di macchina A3 High
    • A3 Mega ottimizzato per l'acceleratore per le risorse del tipo di macchina A3 Mega
    • C2 ottimizzato per il calcolo per risorse tipo di macchina C2
    • C2D ottimizzato per il calcolo per risorse tipo di macchina C2D
    • C3 per uso generico per risorse tipo di macchina C3
    • C3D per uso generico per le risorse 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 ottimizzato per la grafica per risorse tipo di macchina G2
    • Risorse del tipo di macchina M3 ottimizzate per la memoria forM3
    • Z3 ottimizzata per lo spazio di archiviazione per le risorse del tipo di macchina Z3

  6. Nel campo Durata, seleziona la durata del periodo 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, quindi:

    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 GPU supporta Workstation virtuali (vWS) NVIDIA RTX per carichi di lavoro di grafica e prevedi di eseguire carichi di lavoro ad alta intensità di grafica, seleziona Casella di controllo Abilita workstation virtuale (NVIDIA GRID).
  10. Per eseguire il commit dei dischi SSD locali, nella sezione SSD locali, fai clic su Aggiungi SSD e poi, nel campo Numero di SSD, specifica la di dischi permanenti.

  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 in del progetto le cui regione, tipo di macchina e tipo di GPU corrispondono l'impegno di un'azienda. 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.
    di Gemini Advanced.
  12. Per completare l'acquisto dell'impegno con le prenotazioni allegate: segui questi passaggi:

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

gcloud

Per acquistare un impegno collegando le prenotazioni esistenti, esegui Comando gcloud compute commitments create. Nel comando, includi il flag --existing-reservation per specificare un per la prenotazione esistente da collegare al tuo impegno. Includi un'opzione una nuova istanza di questo flag per ogni prenotazione esistente a cui vuoi allega. Puoi collegare un numero qualsiasi di prenotazioni esistenti al tuo l'impegno di un'azienda.

Ad esempio, per acquistare un impegno allegando due prenotazioni, esegui questo 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 \
    --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 periodo dell'impegno, 12-month o 36-month.
  • COMMITMENT_TYPE: tipo di impegno. La i seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali entrambi:

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

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

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

  • COMMITTED_LOCAL_SSD: l'importo, in GB, di Spazio SSD locale che vuoi includere nell'impegno. Ogni disco SSD locale è di 375 GB.

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

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi includere nel tuo impegno.

  • RESERVATION_NAME_1 e RESERVATION_NAME_2: i nomi degli utenti alle prenotazioni esistenti che vuoi collegare all'impegno.

  • RESERVATION_ZONE_1 e RESERVATION_ZONE_2: le zone del alle prenotazioni esistenti che vuoi collegare 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 contengano una capacità combinata per 4 NVIDIA P100 GPU e 4 dischi SSD locali. Per acquistare un nuovo impegno nel us-central1 regione di questo progetto per queste GPU e dischi SSD locali, e utilizza queste prenotazioni esistenti come prenotazioni collegate, esegui . 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 \
    --resources-accelerator=type=nvidia-tesla-v100,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 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"
    }
  ],
  "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: tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per risorse di tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per risorse di tipo di macchina A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le risorse del tipo di macchina A3 Mega
    • COMPUTE_OPTIMIZED per le risorse del tipo di macchina C2
    • COMPUTE_OPTIMIZED_C2D per le risorse del tipo di macchina C2D
    • COMPUTE_OPTIMIZED_C3 per 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 risorse di tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse macchina N2D
    • GRAPHICS_OPTIMIZED per risorse di tipo di macchina G2
    • MEMORY_OPTIMIZED_M3 per risorse di tipo di macchina M3
    • STORAGE_OPTIMIZED_Z3 per 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: l'importo, in MB, di che vuoi includere nell'impegno. Ad esempio, 10240MB. Tu possono acquistare memoria in incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: l'importo, in GB, di Spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni disco SSD locale è di 375 GB.

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

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

  • RESERVATION_URLs: un elenco separato da virgole di URL delle prenotazioni esistenti che vuoi collegare al l'impegno di un'azienda. Ad esempio, per collegare due prenotazioni, res-1 e res-2, specificare 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

Supponi di avere due prenotazioni res-01 e res-02 nel us-central1-a e us-central1-b zone del progetto myproject. Supponiamo che queste prenotazioni contengano una capacità combinata per 4 NVIDIA P100 GPU e 4 dischi SSD locali. Per acquistare un nuovo impegno nel us-central1 regione di questo progetto per queste GPU e dischi SSD locali e per utilizzare queste prenotazioni esistenti come prenotazioni collegate, effettua la seguente richiesta POST. Tieni presente che anche l'impegno di esempio contiene 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-v100",
      "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"
  ]
}

Crea nuove prenotazioni da collegare

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 Condivisione dello sconto per impegno di utilizzo (CUD) è abilitato per un account di fatturazione Cloud, puoi acquistare l'impegno utilizzando qualsiasi progetto di quella fatturazione Cloud . Dopo aver selezionato il progetto, segui questi passaggi:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Impegno di acquisto. La pagina Acquista uno sconto per impegno di utilizzo si apre e viene visualizzata la scheda Hardware.

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

  4. Nel campo Regione, seleziona la regione in cui vuoi impegnarti alle risorse di Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie di famiglie di macchine per le tue risorse impegnate. I seguenti tipi di impegno offrono per GPU, dischi SSD locali o entrambi:

    • A2 ottimizzata per l'acceleratore per le risorse tipo di macchina A2
    • A3 ottimizzato per l'acceleratore per risorse di tipo di macchina A3 High
    • A3 Mega ottimizzato per l'acceleratore per le risorse del tipo di macchina A3 Mega
    • C2 ottimizzato per il calcolo per risorse tipo di macchina C2
    • C2D ottimizzato per il calcolo per risorse tipo di macchina C2D
    • C3 per uso generico per risorse tipo di macchina C3
    • C3D per uso generico per le risorse 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 ottimizzato per la grafica per risorse tipo di macchina G2
    • Risorse del tipo di macchina M3 ottimizzate per la memoria forM3
    • Z3 ottimizzato per lo spazio di archiviazione per le risorse del tipo di macchina Z3

  6. Per Durata, scegli 1 anno o 3 anni come durata dell'impegno.

  7. Nel campo Core, inserisci il numero di vCPU che 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, quindi:

    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 GPU supporta Workstation virtuali (vWS) NVIDIA RTX per carichi di lavoro di grafica e prevedi di eseguire carichi di lavoro ad alta intensità di grafica, seleziona Casella di controllo Abilita workstation virtuale (NVIDIA GRID).
  10. Per eseguire il commit dei dischi SSD locali, nella sezione SSD locali, fai clic su Aggiungi SSD e poi, nel campo Numero di SSD, specifica la di dischi permanenti.

  11. Per creare una nuova prenotazione e collegarla all'impegno, nel Nel campo Prenotazioni, seleziona Crea prenotazioni ed esegui le seguire. Ripeti questo passaggio per ogni nuova prenotazione da 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 dell'impegno.
    4. Nel campo Zona, seleziona la zona in cui vuoi prenotare le risorse.
    5. Nella sezione Tipo di condivisione, specifica la modalità di condivisione in uno dei seguenti modi:

      • Per creare una prenotazione per un singolo progetto, seleziona Locale.
      • Per creare una prenotazione condivisa con più progetti, Seleziona Condivisi. Quindi, per specificare i progetti con cui condividere per questa prenotazione, fai clic Aggiungere progetti e quindi seleziona i progetti che ti interessano dall'elenco dell'organizzazione del progetto.
    6. Nel campo Utilizza con istanza VM, seleziona come vuoi che le VM usufruire della prenotazione in uno dei seguenti modi:

      • Consentire il consumo automatico delle VM con proprietà corrispondenti questa prenotazione, fai clic su Utilizza la prenotazione automaticamente (impostazione predefinita).
      • Per utilizzare le risorse di questa prenotazione solo durante la creazione delle VM con proprietà corrispondenti che scelgono come target questo una prenotazione per nome, fai clic su Seleziona una prenotazione specifica.
    7. Nella sezione Dettagli risorsa, segui questi passaggi:

      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 prenotate 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, anche la regione di quel modello di istanza deve corrispondere la regione specificata nell'impegno.

        2. Per specificare manualmente le proprietà delle VM, seleziona Seleziona il tipo di macchina, quindi:

          1. Seleziona la famiglia di macchine applicabile che hai specificato per l'impegno:

            • Uso generico per serie di macchine per uso generico
            • Ottimizzato per il calcolo per macchine ottimizzate per il calcolo serie
            • Ottimizzata per la memoria per macchina ottimizzato per la memoria serie
            • GPU per serie di macchine ottimizzate per l'acceleratore
          2. Nella tabella contenente la colonna Serie, seleziona la della stessa serie di macchine che hai specificato l'impegno di un'azienda.

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

            1. Per scegliere un tipo di macchina predefinita, seleziona Preimpostazione e seleziona il tipo di macchina che preferisci.
            2. Per scegliere un tipo di macchina personalizzato, seleziona Personalizzato e poi specifica i Core e la Memoria che ti interessano.
          4. Per specificare una piattaforma CPU minima, GPU o entrambe: espandi Menu Piattaforma CPU e GPU ed eseguire le operazioni seguenti:

            1. (Facoltativo) Per specificare una piattaforma CPU minima, nel campo Plaform CPU, seleziona un'opzione.
            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 il numero di dischi SSD locali che vuoi per ogni VM.
            2. Nel campo Tipo di interfaccia, seleziona la per i dischi SSD locali.
            di Gemini Advanced.
    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: segui questi passaggi:

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

gcloud

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

A seconda che tu voglia collegare 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 questo :

    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 \
        --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 quindi specificare YAML nel comando che utilizzi per acquistare il tuo impegno. Facoltativamente, puoi anche utilizzare questo approccio basato sui file YAML per creare collegare una singola prenotazione al tuo impegno. Per creare il file allegato usando questo approccio, segui questi passaggi:

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

      - 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 questi passaggi per ogni prenotazione che vuoi creare. Puoi collegare il numero di prenotazioni esistenti che vuoi l'impegno di un'azienda.

    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 le 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.
  • COMMITMENT_TYPE: tipo di impegno. La i seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

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

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

  • COMMITTED_MEMORY: l'importo, in MB o GB, di memoria che vuoi includere nell'impegno. Ad esempio, 10GB o 10240MB. Se non specifichi un'unità, Compute Engine utilizza GB come unità. Puoi acquistare memoria in incrementi di 0,25 GB.

  • COMMITTED_LOCAL_SSD: l'importo, in GB, di Spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni SSD locale sia di 375 GB.

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

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

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

Prenotazioni collegate

  • RESERVATION_NAME: il nome del token allegato prenotazione.
  • RESERVATION_ZONE: la zona della prenotazione collegata.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: specifica se la prenotazione allegata è una prenotazione con targeting specifico; true o false. Per ulteriori informazioni sulle specifiche per le prenotazioni con targeting, 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 macchina 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, leggi le specifiche per tipi di macchine personalizzate.

      Sostituisci quanto segue:

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

  • RESERVED_ACCELERATOR_TYPE: il tipo di acceleratore che vuoi aggiungere la 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 i dischi SSD.

  • 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 alla prenotazione allegata. Specifica questo campo con il valore projects se vuoi condividere la prenotazione allegata tra più per i progetti consumer. Escludi questo campo se vuoi creare un 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 segmenti di pubblico in modo programmatico a gestire i progetti. Questi progetti devono trovarsi nella stessa organizzazione progetto proprietario. Non includere l'ID del progetto in cui crei per questa prenotazione, poiché il progetto può utilizzare questo per impostazione predefinita. Escludi questi campi se vuoi creare per un singolo progetto.

Compute Engine crea l'impegno e le prenotazioni collegate solo se ci sono risorse sufficienti per il tipo di macchina specificato zona target e una quota sufficiente al momento della richiesta. Se le tue l'acquisto è andato a buon fine, viene visualizzato un messaggio di operazione riuscita simile al seguente:

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

Esempi di impegni di acquisto mediante la creazione di nuove prenotazioni da collegare

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: acquistare un impegno per le GPU mediante il collegamento di una nuova prenotazione

Supponiamo di voler acquistare un impegno commitment-01 nel Regione us-central1 che include 4 GPU NVIDIA V100. Vuoi creare un'istanza nuova prenotazione reservation-01 come prenotazione allegata per per le GPU. Supponiamo anche di voler specificare che Compute Engine utilizza le GPU prenotate su 2 VM n1-standard-32 in us-central1-a zona di destinazione. Per acquistare questo impegno di esempio con la prenotazione allegata, 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 in vCPU o memoria

Eseguire il commit e la prenotazione di GPU e dischi SSD locali senza impegnarsi a vCPU o memoria, specifica 0 come valore per le quantità di vCPU e memoria. Ad esempio, supponi di voler acquistare un impegno commitment-02 per un singola GPU NVIDIA P4 nella regione us-west2. Devi inoltre creare un nuovo come prenotazione allegata e specificare Compute Engine per utilizzare la GPU prenotata su una VM n1-standard-2 nel us-west2-b zona. Per acquistare questo impegno di esempio con i relativi allegati esegui questo 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 di voler acquistare un impegno commitment-03 per 1 GPU NVIDIA V 100 e 2 dischi SSD locali nella regione us-central1. Inoltre vuoi creare e collegare due prenotazioni us-central1-a zona. Nella prima prenotazione, res-01, vuoi riserva 1 VM n1-standard-2 con 1 GPU. Vuoi rendere res-01 un con targeting, perciò devi scegliere come target in modo specifico per nome al fine di usare le rispettive VM prenotate. 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, devi prima creare 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 la relativa alle prenotazioni collegate, esegui il comando seguente. Tieni presente che l'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 collegare. Puoi allegare qualsiasi di prenotazioni esistenti per le quali vuoi sottoscrivere l'impegno.

  • Per creare la nuova prenotazione specificando manualmente tutte le VM includono il campo instanceProperties ed escludi le proprietà 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"
      }
    ],
    "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 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"
      }
    ],
    "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 le 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 periodo dell'impegno, TWELVE_MONTH o THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: tipo di impegno. I seguenti tipi di impegno offrono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per risorse di tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per risorse di tipo di macchina A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le risorse del tipo di macchina A3 Mega
    • COMPUTE_OPTIMIZED per le risorse del tipo di macchina C2
    • COMPUTE_OPTIMIZED_C2D per le risorse del tipo di macchina C2D
    • COMPUTE_OPTIMIZED_C3 per 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 risorse di tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse macchina N2D
    • GRAPHICS_OPTIMIZED per risorse di tipo di macchina G2
    • MEMORY_OPTIMIZED_M3 per risorse di tipo di macchina M3
    • STORAGE_OPTIMIZED_Z3 per le risorse del tipo di macchina Z3

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

  • COMMITTED_MEMORY: l'importo, in MB, di che vuoi includere nell'impegno. Ad esempio, 10240MB. Tu possono acquistare memoria in incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: l'importo, in GB, di Spazio di archiviazione SSD locale che vuoi includere nell'impegno. Ogni SSD locale sia di 375 GB.

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

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

Prenotazioni collegate

  • RESERVATION_NAME: il nome del token allegato prenotazione.
  • 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 specifiche per le prenotazioni con targeting, 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 desiderato VM nella prenotazione collegata.

    • 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, leggi le specifiche per 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 per un VM. La memoria deve essere un multiplo di 256 MB e deve essere fornito 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 la prenotazione allegata.

  • INTERFACE_1 e INTERFACE_2: il tipo di interfaccia che vuoi i dischi SSD locali per ogni disco SSD riservato VM da utilizzare. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale è di 375 GB. Ripeti il parametro localSsds per ogni SSD locale il disco 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 che vuoi utilizzare per creare i tuoi file prenotazione.

  • SHARE_SETTING: il tipo di condivisione per la prenotazione allegata. Specifica questo campo con il valore SPECIFIC_PROJECTS se vuoi condividere la prenotazione allegata in 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 segmenti di pubblico in modo programmatico a gestire i progetti. Questi progetti devono trovarsi nella stessa organizzazione progetto proprietario. Non includere l'ID del progetto in cui crei per questa prenotazione, poiché il progetto può utilizzare questo per impostazione predefinita. Escludi questi campi se vuoi creare un per un singolo progetto.

Compute Engine crea solo l'impegno e le prenotazioni allegate se nella destinazione sono presenti risorse sufficienti del tipo di macchina specificato e una quota sufficiente al momento della richiesta. Se il tuo acquisto è riuscita, Compute Engine restituisce uno stato 200 per Richiesta 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: acquistare un impegno per le GPU mediante il collegamento di una nuova prenotazione

Supponiamo di voler acquistare un impegno commitment-01 nel Regione us-central1 che include 4 GPU NVIDIA V100. Vuoi crea una nuova prenotazione reservation-01 come allegato per quelle 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 in vCPU o memoria

Eseguire il commit e la prenotazione di GPU e dischi SSD locali senza impegnarsi a vCPU o memoria, specifica 0 come valore per le quantità di vCPU e memoria. Ad esempio, supponi di voler acquistare un impegno commitment-02 per una singola GPU NVIDIA P4 nella regione us-west2. Devi inoltre creare una nuova prenotazione come prenotazione allegata e specificare Compute Engine per utilizzare la GPU prenotata su una VM n1-standard-2 in zona us-west2-b. Per acquistare questo impegno di esempio con i relativi allegati 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 di voler acquistare un impegno commitment-03 per 1 GPU NVIDIA V 100 e 2 dischi SSD locali nella regione us-central1. Inoltre vuoi creare e collegare due prenotazioni us-central1-a zona. Nella prima prenotazione, res-01, vuoi riserva 1 VM n1-standard-2 con 1 GPU. Vuoi rendere res-01 un con targeting, perciò devi scegliere come target in modo specifico per nome al fine di usare le rispettive VM prenotate. 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 per 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"
    }
  ]
}

Sostituisci le prenotazioni collegate agli impegni

Sostituisci la prenotazione esistente dell'impegno con una nuova se vuoi modificare i tipi e i numeri di VM che utilizzano di risorse di cui è stato eseguito il commit.

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

Modifiche consentite

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

  • Puoi prenotare le VM da un tipo di macchina diverso. Tuttavia, devi comunque prenotare VM della stessa serie di macchine per continuare a ricevere Sconti per impegno di utilizzo (CUD) per le risorse prenotate.
  • Puoi modificare il numero di VM che vuoi prenotare.
  • Puoi modificare la quantità di GPU e dischi SSD locali collegati per con la quantità totale di GPU e dischi SSD locali prenotati rimangono invariati.
  • Puoi specificare che le prenotazioni sostituite siano locali o condivise.

Requisiti

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

  • Puoi sostituire una sola prenotazione allegata alla volta con una sola prenotazione nuova prenotazione allegata. Per sostituire una prenotazione collegata, contemporaneamente Rimuovi una prenotazione collegata esistente impostando il conteggio delle relative VM su 0 e definisci una nuova prenotazione allegata con cui sostituirla.
  • La nuova prenotazione deve esistere nello stesso progetto dell'impegno.
  • La nuova prenotazione deve trovarsi nella stessa zona della prenotazione rimossa.
  • Il numero e i tipi di GPU specificati nella nuova prenotazione devono corrispondere ai valori 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 contatta l'assistenza Google Cloud.

La 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à delle risorse, che puoi provare a risolvere Modificando o posticipando la richiesta. Per ulteriori informazioni, consulta la documentazione su risoluzione dei problemi relativi alla disponibilità delle risorse.

Se la richiesta di sostituzione di una prenotazione allegata non va a buon fine, le risorse prenotate esistenti non subiranno modifiche. 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 collegata

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

gcloud

Per sostituire le prenotazioni collegate agli impegni:

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

    I contenuti del file YAML sono simili ai seguenti:

    - 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
      localssd:
      - 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
      localssd:
      - 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 come quando hai visualizzato la prenotazione. Ometti i campi per tutte le proprietà non ancora presenti nella prenotazione attuale.

    • CURRENT_RESERVATION_NAME: il nome del è attualmente associata alla prenotazione.
    • CURRENT_RESERVATION_ZONE: la zona della prenotazione attualmente collegata.
    • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina del modello prenotazione.
    • 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 dell'interfaccia utente del disco SSD locale per ogni utilizzo della VM prenotata nell'attuale prenotazione allegata. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale ha una dimensione di 375 GB. Ripeti il parametro local_ssd per tutte le risorse prenotate Dischi SSD locali.
    • CURRENT_RESERVATION_PROJECT_ID: l'ID del progetto attuale con e la prenotazione allegata. Specifica questo campo se la prenotazione attualmente associata è 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 attuale allegata è condivisa tra più progetti consumer.
    • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 e CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti con cui condividi la prenotazione attuale collegata, ad esempio project-1 e project-2.

    Prenotazione sostitutiva

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

    • REPLACEMENT_RESERVATION_NAME: il nome di la nuova prenotazione della sostituzione.
    • REPLACEMENT_RESERVATION_ZONE: la zona di la nuova prenotazione della sostituzione.
    • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: il numero di VM da prenotare nella nuova sostituzione prenotazione.
    • REPLACEMENT_RESERVATION_MACHINE_TYPE: il tipo di macchina desiderato VM nella nuova prenotazione di sostituzione.

      • Per i tipi di macchina 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 macchine tipi; Ad esempio, specifica n2 per le VM N2.
      • CPUS: il numero di vCPUs.
      • MEMORY: la memoria totale per VM prenotata. La memoria deve essere un multiplo di 256 MB e deve essere fornito in MB; Ad esempio, per creare una VM N2 con 4 e 5 GB di memoria, ovvero 5120 MB, utilizzano n2-custom-4-5120.
    • REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU che vuoi aggiungere, per VM, prenotazione di una sostituzione.

    • 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 per la sostituzione tra più per i 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 della sostituzione in 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 consumer. 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 gcloud beta compute commitments update-reservations. e specificare il percorso del file YAML utilizzando Flag --reservations-from-file.

    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 del con la prenotazione allegata.
    • PROJECT_ID: l'ID progetto del con la prenotazione allegata.
    • REGION: la regione in cui è applicato l'impegno individuarlo.
    • YAML_FILE: il percorso del file YAML che contiene la configurazione delle prenotazioni attuali e di sostituzione.

Esempio per la sostituzione di una prenotazione collegata a un impegno

Per dimostrarlo, questa sezione mostra impegno di esempio con una prenotazione allegata e su come sostituire l'esempio di prenotazione collegata.

Impegno di esempio con una prenotazione allegata

Ad esempio, supponiamo che tu voglia aggiornare le prenotazioni allegate per l'impegno my-commitment-with-reservations, acquistato con 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 al momento dell'esecuzione del comando one-reservation.yaml era un file nella directory corrente con seguenti, 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 allegata
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 prenotate)*
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)*

*In particolare, l'esempio prenotazione allegata, res-1, prenota 4 n1-standard-4 VM, ciascuna con 1 GPU P100 e 2 dischi SSD locali di scsi tipo di interfaccia. n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Sostituisci la prenotazione collegata di esempio

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 allegata
(res-1)
Risorse nella prenotazione di sostituzione allegata
(res-2)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 prenotate)*
16 vCPU e 60 GB
(2 VM n1-standard-8 prenotate 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)*

*In particolare, l'esempio prenotazione allegata, res-1, prenota 4 n1-standard-4 VM, ciascuna con 1 GPU P100 e 2 dischi SSD locali di scsi tipo di interfaccia. n1-standard-4 tipo di macchina 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 2 progetti, project-1 e project-2 e di proprietà del progetto attuale, my-project. La 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, segui questi passaggi:

  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, la prenotazione corrente e la prenotazione sostitutiva:

Impegno

  • COMMITMENT_NAME: il nome dell'impegno con la prenotazione allegata.
  • PROJECT_ID: l'ID progetto dell'impegno con la prenotazione allegata. È anche l'ID progetto per per le prenotazioni attuali e collegate.
  • COMMITMENT_ZONE: la zona dell'impegno con la prenotazione allegata.

Prenotazione attuale

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

  • CURRENT_RESERVATION_NAME: il nome del è attualmente associata alla prenotazione.
  • CURRENT_RESERVATION_ZONE: la zona del è attualmente associata alla prenotazione.
  • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina del modello prenotazione.
  • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: il di GPU prenotate nell'attuale prenotazione 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 dell'interfaccia utente dei dischi SSD locali per ogni utilizzo della VM prenotata nell'attuale prenotazione allegata. 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 prenotati.
  • CURRENT_RESERVATION_SHARE_SETTING: Il tipo di condivisione per la prenotazione corrente. Specifica questo parametro con il valore projects se la prenotazione attuale allegata è condivisa tra più progetti consumer.
  • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 e CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: gli ID progetto dei progetti con cui condividi la prenotazione attuale collegata, ad esempio project-1 e project-2.

Prenotazione sostituzione

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

  • REPLACEMENT_RESERVATION_NAME: il nome del nuova prenotazione di sostituzione.
  • REPLACEMENT_RESERVATION_ZONE: la zona del nuova prenotazione di sostituzione.
  • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: il di VM da 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 macchina 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, leggi le specifiche per tipi di macchine personalizzate.

    Sostituisci quanto segue:

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

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

  • REPLACEMENT_RESERVATION_INTERFACE_1 e REPLACEMENT_RESERVATION_INTERFACE_2: il tipo di interfaccia con 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 con il valore projects se vuoi condividere i tuoi una prenotazione di sostituzione in 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 consumer. Questi progetti devono trovarsi nella stessa organizzazione del progetto del proprietario. Non includere PROJECT_ID, che è già autorizzato a utilizzare questa prenotazione per impostazione predefinita.

Esempio per la sostituzione di una prenotazione collegata a un impegno

Per dimostrarlo, questa sezione mostra impegno di esempio con una prenotazione allegata e su come sostituire l'esempio di prenotazione collegata.

Impegno di esempio con una prenotazione allegata

Ad esempio, supponiamo che tu voglia sostituire la prenotazione allegata res-1 per l'impegno my-commitment-with-reservations, ovvero acquistato presentando 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 gli allegati la prenotazione res-1 ha comportato il commit e l'utilizzo delle seguenti opzioni di risorse:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione attuale allegata
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 prenotate)*
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 allegata
(res-1)
Risorse nella prenotazione di sostituzione allegata
(res-2)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM n1-standard-4 prenotate)*
16 vCPU e 60 GB
(2 VM n1-standard-8 prenotate 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)*

*In particolare, l'esempio prenotazione allegata, res-1, prenota 4 n1-standard-4 VM, ciascuna con 1 GPU P100 e 2 dischi SSD locali di scsi tipo di interfaccia. n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

In particolare, la sostituzione la prenotazione allegata definisce res-2, che ne riserva 2 n1-standard-8 VM, ciascuna con 1 GPU P100 e 4 dischi SSD locali di tipo di interfaccia 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, esegui quanto segue richiesta POST utilizzando 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