Combina 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 un impegno di utilizzo di 1 o 3 anni (noti anche come impegni). Ti impegni a un importo minimo di utilizzo delle risorse o a una spesa minima e ricevi in cambio sconti per impegno di utilizzo (CUD) sui costi di utilizzo delle risorse. Tuttavia, gli impegni non riservano la capacità di zona per le risorse impegnate. Per ottenere risorse a livello di zona a prezzi scontati e allo stesso tempo garantire che venga riservata loro una capacità, devi acquistare impegni e creare prenotazioni per quelle 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

  • Rivedi le nozioni di base delle prenotazioni, inclusi requisiti e limitazioni. Per ulteriori informazioni, vedi Informazioni sulle prenotazioni.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

        Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Sconti per impegno di utilizzo (CUD) per le risorse riservate

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

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

    • Progetto e regione in cui vengono applicati
    • 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 nel tuo progetto utilizzano prenotazioni le cui proprietà corrispondono a questi impegni attivi, l'utilizzo di questi tipi di risorse diventa automaticamente idoneo per i CUD applicabili.

    Solo per gli impegni basati sulle risorse, puoi attivare la condivisione del CUD. In questo modo, puoi condividere i CUD di un progetto per coprire l'utilizzo in altri progetti collegati all'account di fatturazione Cloud dell'impegno.

    Se hai prenotato più risorse di quelle che ti sei impegnato ad acquistare, non riceverai sconti per utilizzo continuo per queste 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 nel tuo progetto utilizzano queste prenotazioni allegate, inizi a ricevere i CUD applicabili per questi tipi di risorse riservate. Se abiliti la condivisione dei CUD e colleghi una prenotazione condivisa, anche l'utilizzo di altri progetti consumer potrebbe diventare idoneo per i CUD condivisi. Tuttavia, per poter usufruire dell'utilizzo di altri progetti, devi limitare la condivisione della prenotazione all'interno dell'accountfatturazione Cloudg dell'impegno.

Collega le prenotazioni agli impegni basati sulle risorse

Puoi collegare le prenotazioni a qualsiasi impegno basato sulle risorse e assicurarti che la capacità venga mantenuta in zone specifiche per le risorse impegnate che prevedi di utilizzare. Puoi allegare più prenotazioni a un singolo impegno, ma una prenotazione può essere allegata a un solo impegno. Quando acquisti un impegno, puoi allegare prenotazioni a questo impegno 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, le prenotazioni rimangono attive finché l'impegno è attivo. Alla scadenza dell'impegno, Compute Engine elimina automaticamente tutte le prenotazioni associate. L'eliminazione di queste prenotazioni non influisce sulle VM in esecuzione che le utilizzavano. Le VM in esecuzione continuano a essere eseguite e ti vengono comunque addebitati costi per queste VM.

Risorse di cui è stato eseguito il commit che non richiedono prenotazioni collegate

Le vCPU e la memoria impegnate non richiedono di allegare prenotazioni corrispondenti agli 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 entrambe, senza collegare prenotazioni, vedi Acquistare impegni senza prenotazioni collegate.

Risorse impegnate che richiedono prenotazioni collegate

Le GPU e i dischi SSD locali di cui è stato eseguito il commit (ad eccezione dei dischi SSD locali Titanium per le istanze C4A, C4D o Z3) richiedono di allegare prenotazioni corrispondenti agli impegni. Quando acquisti un impegno che include GPU, dischi SSD locali o entrambi, devi anche prenotare queste risorse e allegare le prenotazioni all'impegno. Puoi farlo utilizzando una singola prenotazione o una combinazione di prenotazioni. Quando acquisti un impegno di questo tipo, puoi includere anche vCPU, memoria o entrambe. Tuttavia, non è necessario riservare queste vCPU o questa memoria.

Per scoprire come acquistare impegni per le GPU, consulta uno dei seguenti articoli:

Per scoprire come acquistare impegni per dischi SSD locali, consulta Acquista impegni con prenotazioni collegate in questo documento.

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

Quantità di risorse consentite nelle prenotazioni collegate

Per vCPU e memoria, puoi avere prenotazioni collegate che specificano quantità di risorse maggiori o minori rispetto a quelle a cui ti impegni. Se ti impegni a utilizzare più vCPU o memoria di quelle che prenoti, Compute Engine riserva la capacità solo per queste risorse prenotate. Tuttavia, puoi comunque utilizzare le risorse di cui è stato eseguito il commit aggiuntive 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 di:

  • Non collegare alcuna prenotazione.
  • Allega prenotazioni specificando 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 l'impegno contiene GPU, dischi SSD locali o entrambi, devi prenotare e collegare tutte queste risorse. Le prenotazioni collegate devono specificare i numeri e i tipi esatti di GPU e dischi SSD locali a cui ti impegni. Di conseguenza, non puoi avere un numero o tipi aggiuntivi di GPU o dischi SSD locali nelle prenotazioni allegate.

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 allegare prenotazioni che specificano 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

Acquistare impegni con prenotazioni allegate

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

Dopo l'acquisto di un impegno, questo diventa attivo il giorno successivo alle ore 24:00 UTC-8 (fuso orario del Pacifico), oppure 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 consoleGoogle Cloud ). Dopo l'attivazione, lo stato dell'impegno diventa ACTIVE. Ad esempio, supponiamo che tu acquisti l'impegno il 20 gennaio alle 22:00 UTC-8 o UTC-7 (fuso orario del Pacifico). Compute Engine crea il tuo impegno immediatamente 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).

Requisiti

Prima di acquistare un impegno con prenotazioni associate, 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 collegate per le risorse della stessa serie di famiglie di macchine.
  • Devi disattivare l'opzione di eliminazione automatica nelle prenotazioni allegate.
  • Se il tuo impegno include GPU, il tipo di GPU specificato nella prenotazione e nell'impegno deve corrispondere.
  • Per GPU e dischi SSD locali, il numero di risorse prenotate di ogni tipo di risorsa deve corrispondere esattamente al numero di risorse di cui è stato eseguito il commit per quel tipo di risorsa. Tuttavia, questo requisito non è applicabile quando acquisti un impegno per dischi SSD locali Titanium da utilizzare con i tipi di macchine C4A, C4D o Z3.

    Ad esempio, se vuoi acquistare un impegno per 4 GPU V100 e 2 dischi SSD locali, le prenotazioni allegate all'impegno devono specificare un totale di 4 GPU V100 e 2 SSD locali. La quantità di vCPU e memoria che riservi può essere superiore o inferiore a quella per cui ti impegni. Tuttavia, se acquisti un impegno per 4 vCPU C4A e 2 dischi SSD Titanium locali, non devi allegare alcuna prenotazione all'impegno.

  • 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 utilizzi la prenotazione al di fuori del progetto dell'impegno, devi eseguire entrambe le seguenti operazioni:

    • Condividi le prenotazioni solo tra progetti che appartengono allo stesso account di fatturazione Cloud dell'impegno.
    • Attiva la condivisione del 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 acquistare l'impegno. Se la condivisione del 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:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Acquista impegno. Si apre la pagina Acquista uno sconto per impegno di utilizzo 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 eseguire il commit delle risorse Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie di famiglie di macchine per le risorse di cui hai eseguito il commit. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

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

  6. Per Durata, procedi nel seguente modo:

    1. Per specificare il piano dell'impegno, seleziona 1 anno o 3 anni. Questa impostazione determina la durata preimpostata del tuo impegno.
    2. Facoltativo. Per specificare una durata 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, vedi Estendere la durata degli impegni.

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

  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 (vWS) NVIDIA RTX per i workload grafici, e prevedi di eseguire workload ad alta intensità di grafica, seleziona la 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 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, tipo di macchina e tipo di GPU corrispondono all'impegno. Poi, procedi nel seguente modo:

    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 che vuoi allegare 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 collegando prenotazioni esistenti, esegui il comando gcloud compute commitments create. Nel comando, includi il flag --existing-reservation per specificare una prenotazione esistente che vuoi allegare al tuo impegno. Includi una nuova istanza di questo flag per ogni prenotazione esistente che vuoi collegare. Puoi allegare un numero qualsiasi di prenotazioni esistenti al tuo impegno.

Ad esempio, per acquistare un impegno collegando 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 \
    --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 termine 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 forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • accelerator-optimized per le risorse del tipo di macchina A2
    • accelerator-optimized-a3 per le risorse dei tipi di macchina A3 Edge e A3 High
    • accelerator-optimized-a3-mega per le 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 le risorse del tipo di macchina C3
    • compute-optimized-c3d per le risorse del tipo di macchina C3D
    • general-purpose per le risorse del tipo di macchina N1
    • general-purpose-n2 per le risorse del tipo di macchina N2
    • general-purpose-n2d per le risorse della macchina 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 del 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 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: la quantità di spazio SSD locale in GB che vuoi includere nell'impegno. Ogni disco SSD locale ha 375 GB.

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

  • COMMITTED_ACCELERATOR_TYPE: il tipo di GPU che vuoi includere 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 collegare all'impegno.

Esempio: acquisto di un impegno allegando prenotazioni esistenti

Supponiamo di avere 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 allegate, 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 collegando 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 allegare al tuo impegno. Puoi allegare 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 del termine dell'impegno, TWELVE_MONTH o THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per le risorse del tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per le risorse dei tipi di macchina A3 Edge e A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le 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 le risorse del tipo di macchina C3
    • COMPUTE_OPTIMIZED_C3D per le risorse del tipo di macchina C3D
    • GENERAL_PURPOSE per le risorse del tipo di macchina N1
    • GENERAL_PURPOSE_N2 per le risorse del tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse della macchina 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 del 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 con incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: la quantità di spazio di archiviazione SSD locale in GB 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 includere 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: le ore 00:00 del fuso orario del Pacifico (USA e Canada) (UTC-8 o UTC-7), 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 collegare 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: acquisto di un impegno allegando prenotazioni esistenti

Supponiamo di avere 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 allegate, invia 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"
  ]
}

Crea nuove prenotazioni da allegare

Puoi creare le prenotazioni collegate 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 la condivisione del 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:

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

    Vai a Sconti per impegno di utilizzo

  2. Per acquistare un impegno, fai clic su Acquista impegno. Si apre la pagina Acquista uno sconto per impegno di utilizzo 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 eseguire il commit delle risorse Compute Engine.

  5. Nel campo Tipo di impegno, seleziona la serie di famiglie di macchine per le risorse di cui hai eseguito il commit. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

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

  6. Per Durata, scegli 1 anno o 3 anni come durata del periodo di impegno.

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

  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 (vWS) NVIDIA RTX per i workload grafici, e prevedi di eseguire workload ad alta intensità di grafica, seleziona la 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 il numero di dischi.

  11. Per creare una nuova prenotazione e collegarla all'impegno, nel campo Prenotazioni, seleziona Crea prenotazioni e poi fai quanto segue. 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 dell'impegno.
    4. Nel campo Zona, seleziona la zona in cui vuoi prenotare le risorse.
    5. Nella sezione Tipo di condivisione, specifica come vuoi condividere questa prenotazione in uno dei seguenti modi:

      • Per creare una prenotazione per un singolo progetto, seleziona Locale.
      • Per creare una prenotazione condivisa con più progetti, seleziona Condivisa. Poi, per specificare i progetti con cui condividere questa prenotazione, fai clic su Aggiungi progetti e seleziona i progetti che vuoi dall'organizzazione del progetto corrente.
    6. Nel campo Utilizza con un'istanza VM, seleziona il modo in cui 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 Utilizza automaticamente la prenotazione (valore predefinito).
      • Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM con proprietà corrispondenti che hanno come target specifico questa prenotazione in base al nome, fai clic su Seleziona una prenotazione specifica.
    7. Nella sezione Dettagli 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 prenotate in uno dei seguenti modi:

        1. Per specificare le proprietà delle VM utilizzando un modello di istanza esistente, seleziona 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 di questo modello deve corrispondere anche a quella 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 che hai specificato per l'impegno:

            • Per uso generico per le serie di macchine per uso generico
            • Ottimizzato per il calcolo per le serie di macchine ottimizzate per il calcolo
            • Ottimizzato 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 Preset e poi il tipo di macchina che preferisci.
            2. Per scegliere un tipo di macchina personalizzata, seleziona Personalizzato e poi specifica i valori di Core e Memoria che ti interessano.
          4. Per specificare una piattaforma CPU minima, GPU o entrambe, espandi il menu Piattaforma CPU e GPU e procedi nel seguente modo:

            1. (Facoltativo) Per specificare una piattaforma CPU minima, seleziona un'opzione nell'elenco Piattaforma CPU.
            2. (Facoltativo) Per prenotare 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 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 collegate 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 questo 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 nel comando che utilizzi per acquistare l'impegno. Se vuoi, puoi anche utilizzare questo approccio con i 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 vuoi per ogni prenotazione collegata. Ad esempio, per specificare la configurazione di una prenotazione condivisa con due progetti che specificano 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 allegare al tuo impegno il numero di prenotazioni esistenti che vuoi.

    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 collegate:

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 termine 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 forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • accelerator-optimized per le risorse del tipo di macchina A2
    • accelerator-optimized-a3 per le risorse dei tipi di macchina A3 Edge e A3 High
    • accelerator-optimized-a3-mega per le 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 le risorse del tipo di macchina C3
    • compute-optimized-c3d per le risorse del tipo di macchina C3D
    • general-purpose per le risorse del tipo di macchina N1
    • general-purpose-n2 per le risorse del tipo di macchina N2
    • general-purpose-n2d per le risorse della macchina 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 del 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 nell'impegno. Ad esempio, 10GB o 10240MB. Se non specifichi un'unità, Compute Engine utilizza GB come unità. 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 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 della prenotazione collegata.
  • RESERVATION_ZONE: la zona della prenotazione allegata.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: specifica se la prenotazione allegata è una prenotazione con target specifico; true o false. Per saperne di più sulle prenotazioni specificamente mirate, 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 collegata.

    • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio, n2-standard-4.
    • Per i tipi di macchine personalizzati, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, leggi 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 per 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.
  • 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 allegata in più progetti consumer.

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

  • 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 di consumo. 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 appartenere alla stessa organizzazione del progetto proprietario. Non includere l'ID del progetto in cui crei questa prenotazione, in quanto questo progetto è autorizzato a utilizzare questa prenotazione per impostazione predefinita. Escludi questi campi se vuoi creare una prenotazione per un singolo progetto.

Compute Engine crea l'impegno e le prenotazioni associate 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 operazione riuscita simile al seguente:

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

Esempi di acquisto di impegni tramite 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 allegare all'impegno.

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

Supponiamo che tu voglia acquistare un impegno commitment-01 nella regione us-central1 che include 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 quelle GPU riservate in 2 VM n1-standard-32 nella zona us-central1-a. Per acquistare questo impegno di esempio con la prenotazione allegata, esegui questo 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: acquisto di un impegno per GPU senza impegno per vCPU o memoria

Per eseguire il commit e riservare GPU e dischi SSD locali senza eseguire il commit per 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. Vuoi anche creare una nuova prenotazione come prenotazione collegata e specificare a Compute Engine di utilizzare la GPU riservata su una VM n1-standard-2 nella zona us-west2-b. Per acquistare questo impegno di esempio con la prenotazione allegata, 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 allegando 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. Vuoi anche creare e collegare due prenotazioni nella zona us-central1-a. Nella prima prenotazione, res-01, vuoi prenotare una VM n1-standard-2 con una GPU. Vuoi rendere res-01 una prenotazione mirata, il che significa che devi specificare il nome della prenotazione per utilizzare le VM riservate. Nella seconda prenotazione, res-02, vuoi prenotare una VM n1-standard-8 con due tipi di dischi SSD locali collegati.

Per acquistare questo impegno di esempio con le prenotazioni allegate, crea prima 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 prenotazioni collegate, esegui questo 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 collegate durante l'acquisto dell'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 il numero di prenotazioni esistenti che vuoi.

  • 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, invia 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 collegate:

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 termine dell'impegno, TWELVE_MONTH o THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: il tipo di impegno. I seguenti tipi di impegno forniscono opzioni per GPU, dischi SSD locali o entrambi:

    • ACCELERATOR_OPTIMIZED per le risorse del tipo di macchina A2
    • ACCELERATOR_OPTIMIZED_A3 per le risorse dei tipi di macchina A3 Edge e A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA per le 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 le risorse del tipo di macchina C3
    • COMPUTE_OPTIMIZED_C3D per le risorse del tipo di macchina C3D
    • GENERAL_PURPOSE per le risorse del tipo di macchina N1
    • GENERAL_PURPOSE_N2 per le risorse del tipo di macchina N2
    • GENERAL_PURPOSE_N2D per le risorse della macchina 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 del 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 con incrementi di 256 MB.

  • COMMITTED_LOCAL_SSD: la quantità di spazio di archiviazione SSD locale in GB 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 includere 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: le ore 00:00 del fuso orario del Pacifico (USA e Canada) (UTC-8 o UTC-7), 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 collegata.
  • RESERVATION_ZONE: la zona della prenotazione allegata.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: specifica se la prenotazione allegata è una prenotazione con target specifico; true o false. Per saperne di più sulle prenotazioni specificamente mirate, 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 collegata.

    • Per i tipi di macchine predefiniti, utilizza il formato MACHINE_FAMILY-standard-CPUS; ad esempio, n2-standard-4.
    • Per i tipi di macchine personalizzati, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, leggi 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 per 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.
  • 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 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 collegata.

  • 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 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 appartenere alla stessa organizzazione del progetto proprietario. Non includere l'ID del progetto in cui crei questa prenotazione, in quanto questo progetto è autorizzato a utilizzare questa prenotazione per impostazione predefinita. Escludi questi campi se vuoi creare una prenotazione per un singolo progetto.

Compute Engine crea l'impegno e le prenotazioni associate 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 API REST.

Esempi di acquisto di impegni tramite 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 allegare all'impegno.

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

Supponiamo che tu voglia acquistare un impegno commitment-01 nella regione us-central1 che include 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 le GPU riservate in due VM n1-standard-8 nella zona us-central1-a. Per acquistare questo impegno di esempio con la prenotazione allegata, invia 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: acquisto di un impegno per GPU senza impegno per vCPU o memoria

Per eseguire il commit e riservare GPU e dischi SSD locali senza eseguire il commit per 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. Vuoi anche creare una nuova prenotazione come prenotazione collegata e specificare a Compute Engine di utilizzare la GPU riservata su una VM n1-standard-2 nella zona us-west2-b. Per acquistare questo impegno di esempio con la prenotazione allegata, invia 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 allegando 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. Vuoi anche creare e collegare due prenotazioni nella zona us-central1-a. Nella prima prenotazione, res-01, vuoi prenotare una VM n1-standard-2 con una GPU. Vuoi rendere res-01 una prenotazione mirata, il che significa che devi specificare il nome della prenotazione per utilizzare le VM riservate. Nella seconda prenotazione, res-02, vuoi prenotare una VM n1-standard-8 con due 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 di vCPU e 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 allegate agli impegni

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

La prenotazione sostitutiva sarà sempre una prenotazione appena creata. Per sostituire una prenotazione allegata, devi specificare le proprietà della prenotazione che vuoi utilizzare come sostituzione. Compute Engine 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 esistente associata a un impegno con una nuova prenotazione, puoi richiedere una delle seguenti modifiche:

  • Puoi prenotare VM di un tipo di macchina diverso. Tuttavia, devi comunque prenotare VM della stessa serie di macchine per continuare a ricevere sconti per utilizzo continuo 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 VM, a condizione che la quantità totale di GPU e dischi SSD locali riservati rimanga invariata.
  • Puoi specificare che le prenotazioni sostituite siano prenotazioni per un singolo progetto (chiamate anche locali nella console Google Cloud ) o condivise.

Requisiti

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

  • Puoi sostituire solo una prenotazione allegata alla volta con esattamente una nuova prenotazione allegata. Per sostituire una prenotazione collegata, rimuovi contemporaneamente una prenotazione collegata esistente impostando il conteggio delle 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 fino a 100 VM per richiesta. Per apportare una modifica che riguarda più di 100 VM, dividi la modifica in più richieste più piccole o contatta l' Google Cloud assistenza.

La richiesta di sostituzione di una prenotazione dipende anche dalla disponibilità di 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 saperne di più, 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 capacità, attendi di apportare le modifiche corrispondenti alle VM solo dopo che la richiesta di sostituzione di una prenotazione è andata a buon fine.

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 attuale con le configurazioni delle seguenti prenotazioni collegate:

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

    Prenotazione attuale

    Per la prenotazione corrente, tutte le seguenti proprietà devono essere esattamente uguali a quando hai visualizzato la prenotazione. Ometti i campi per le proprietà che la prenotazione attuale non ha già.

    • CURRENT_RESERVATION_NAME: il nome della prenotazione attualmente collegata.
    • CURRENT_RESERVATION_ZONE: la zona della prenotazione collegata attuale.
    • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina della prenotazione corrente collegata.
    • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU prenotate nella prenotazione collegata corrente.
    • CURRENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore riservato nella prenotazione collegata corrente.
    • CURRENT_RESERVATION_INTERFACE_1 e CURRENT_RESERVATION_INTERFACE_2: il tipo di interfaccia utilizzata dal disco SSD locale per ogni VM riservata nella prenotazione collegata corrente. Le opzioni valide sono: scsi e nvme. Ogni disco SSD locale è 375 GB. Ripeti il parametro local_ssd per tutti gli SSD locali riservati.
    • CURRENT_RESERVATION_PROJECT_ID: l'ID progetto del progetto corrente che contiene l'impegno e la prenotazione allegata. Specifica questo campo se la prenotazione collegata corrente è condivisa tra più progetti consumer.
    • CURRENT_RESERVATION_SHARE_SETTING: Il tipo di condivisione per la prenotazione attuale. Specifica questo campo con il valore projects se la prenotazione collegata attuale è 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 allegata corrente, 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 tutti 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 personalizzati, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, leggi 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 per 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 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.

    • REPLACEMENT_RESERVATION_PROJECT_ID: l'ID progetto del progetto corrente che contiene l'impegno e la prenotazione allegata. Specifica questo campo se vuoi condividere la prenotazione sostitutiva in 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 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 appartenere alla stessa organizzazione del progetto proprietario. Non includere REPLACEMENT_RESERVATION_PROJECT_ID, che per impostazione predefinita è già autorizzato a utilizzare questa prenotazione.

  2. Esegui il comando gcloud beta compute commitments update-reservations e specifica il percorso del file YAML utilizzando il 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 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 esempio di impegno con una prenotazione allegata e come sostituire la prenotazione allegata di esempio.

Esempio di impegno con una prenotazione allegata

Ad esempio, supponiamo che tu voglia aggiornare le prenotazioni collegate 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 il seguente contenuto, che definisce 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 allegata res-1 hanno comportato le seguenti risorse impegnate e prenotate:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione allegata corrente
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM riservate n1-standard-4)*
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 allegata all'esempio, res-1, riserva 4 VM n1-standard-4, ognuna con 1 GPU P100 e 2 dischi SSD locali di tipo interfaccia scsi. Il n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Sostituisci la prenotazione di esempio allegata

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

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione allegata corrente
(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 riservate n1-standard-4)*
16 vCPU e 60 GB
(2 VM riservate e condivise n1-standard-8)
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 allegata all'esempio, res-1, riserva 4 VM n1-standard-4, ognuna con 1 GPU P100 e 2 dischi SSD locali di tipo interfaccia scsi. Il n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Nello specifico, la prenotazione collegata di sostituzione definisce res-2, che riserva 2 VM n1-standard-8, ognuna con una 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 e 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 il seguente contenuto:

    - 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. Questo è anche l'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 uguali a quando hai visualizzato la prenotazione. Ometti i campi per le proprietà non ancora specificate nella prenotazione attuale.

  • CURRENT_RESERVATION_NAME: il nome della prenotazione attualmente collegata.
  • CURRENT_RESERVATION_ZONE: la zona della prenotazione collegata attuale.
  • CURRENT_RESERVATION_MACHINE_TYPE: il tipo di macchina della prenotazione corrente collegata.
  • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: il numero di GPU prenotate nella prenotazione collegata corrente.
  • CURRENT_RESERVATION_ACCELERATOR_TYPE: il tipo di acceleratore riservato nella prenotazione collegata corrente.
  • CURRENT_RESERVATION_INTERFACE_1 e CURRENT_RESERVATION_INTERFACE_2: il tipo di interfaccia utilizzata dai dischi SSD locali per ogni VM riservata nella prenotazione collegata corrente. 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 attuale. Specifica questo parametro con il valore projects se la prenotazione collegata attuale è 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 allegata corrente, 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 tutti 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 personalizzati, utilizza il formato MACHINE_FAMILY-custom-CPUS-MEMORY; ad esempio n2-custom-4-5120. Per un elenco completo delle limitazioni, leggi 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 per 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 nella prenotazione sostitutiva.

  • REPLACEMENT_RESERVATION_INTERFACE_1 e REPLACEMENT_RESERVATION_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 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 sostitutiva 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 appartenere alla stessa organizzazione del progetto proprietario. Non includere PROJECT_ID, che per impostazione predefinita è già autorizzato a utilizzare questa prenotazione.

Esempio di sostituzione di una prenotazione associata a un impegno

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

Esempio di impegno con una prenotazione allegata

Ad esempio, supponiamo che tu voglia sostituire la prenotazione allegata res-1 per l'impegno my-commitment-with-reservations, acquistato effettuando 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 allegata res-1 hanno comportato le seguenti risorse impegnate e prenotate:

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione allegata corrente
(res-1)
vCPU e memoria 16 vCPU e 60 GB 16 vCPU e 60 GB
(4 VM riservate n1-standard-4)*
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 allegata all'esempio, res-1, riserva 4 VM n1-standard-4, ognuna con 1 GPU P100 e 2 dischi SSD locali di tipo interfaccia scsi. Il n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Sostituisci la prenotazione di esempio allegata

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

Tipo di risorsa Risorse nell'impegno
(my-commitment-with-reservations)
Risorse nella prenotazione allegata corrente
(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 riservate n1-standard-4)*
16 vCPU e 60 GB
(2 VM riservate e condivise n1-standard-8)
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 allegata all'esempio, res-1, riserva 4 VM n1-standard-4, ognuna con 1 GPU P100 e 2 dischi SSD locali di tipo interfaccia scsi. Il n1-standard-4 tipo di macchina utilizza 4 vCPU e 15 GB per ogni VM.

Nello specifico, la prenotazione collegata di sostituzione definisce res-2, che riserva 2 VM n1-standard-8, ognuna con una 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 e 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, invia 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