Modifica le prenotazioni


Questo documento spiega come modificare le prenotazioni. Per modificare le prenotazioni associate agli impegni, consulta Sostituire le prenotazioni associate agli impegni.

Modifica una prenotazione quando, ad esempio, le tue esigenze di capacità cambiano o vuoi modificare i carichi di lavoro che possono utilizzare una prenotazione.

Limitazioni

Prima di modificare una prenotazione, tieni presente quanto segue:

  • Puoi modificare una prenotazione condivisa solo nello stesso progetto in cui l'hai creata.

  • Puoi modificare una prenotazione creata automaticamente solo dopo quanto segue:

    • Per una prenotazione futura creata in AI Hypercomputer, puoi modificare la prenotazione solo dopo l'ora di inizio.

    • Per una prenotazione futura creata in Compute Engine, puoi modificare la prenotazione solo dopo l'ora di fine.

  • Puoi modificare una prenotazione futura creata automaticamente in AI Hypercomputer solo per consentire o impedire ai job Vertex AI di utilizzarla.

Prima di iniziare

  • 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 .

Ruoli obbligatori

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

Questo ruolo predefinito contiene le autorizzazioni necessarie per modificare le prenotazioni. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per modificare le prenotazioni sono necessarie le seguenti autorizzazioni:

  • Per modificare l'opzione di eliminazione automatica in una prenotazione, i progetti consumer in una prenotazione condivisa o se i job Vertex AI possono utilizzare una prenotazione di istanze con GPU collegate: compute.reservations.update sul progetto
  • Per modificare il numero di istanze in una prenotazione: compute.reservations.resize sul progetto

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

Modifica le prenotazioni

In base alle proprietà che vuoi modificare in una prenotazione, utilizza uno dei seguenti metodi:

Per modificare le proprietà non menzionate in questo elenco, devi creare una nuova prenotazione. Per istruzioni, vedi Modificare altre proprietà in una prenotazione in questo documento.

Modificare l'eliminazione automatica di una prenotazione

Puoi modificare il momento in cui Compute Engine elimina automaticamente una prenotazione esistente eseguendo una delle seguenti operazioni:

  • Attiva l'opzione di eliminazione automatica o modifica il momento in cui la prenotazione viene eliminata automaticamente.

  • Disattiva l'opzione di eliminazione automatica.

Per modificare l'eliminazione automatica di una prenotazione, seleziona una delle seguenti opzioni:

Console

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

    Vai a Prenotazioni

  2. Nella scheda Prenotazioni on demand (predefinita), nella colonna Nome, fai clic sul nome della prenotazione da modificare.

    Si apre la pagina dei dettagli della prenotazione.

  3. Nella riga Ora di eliminazione automatica, fai clic su Modifica ora di eliminazione automatica.

  4. Nel riquadro Aggiorna prenotazione, esegui una delle seguenti operazioni:

    • Per eliminare la prenotazione in una data e un'ora specifica, segui questi passaggi:

      1. Se l'opzione di eliminazione automatica non è ancora attiva, fai clic sul pulsante di attivazione/disattivazione Abilita eliminazione automatica in modo che sia impostato su On.

      2. Nel campo Ora di eliminazione automatica, inserisci una data e un'ora in cui Compute Engine elimina automaticamente la prenotazione.

    • Altrimenti, fai clic sul pulsante di attivazione/disattivazione Attiva l'eliminazione automatica per disattivare l'opzione.

  5. Fai clic su Invia.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

Quando attivi l'opzione di eliminazione automatica in una prenotazione, puoi specificare una data e un'ora in cui la prenotazione deve essere eliminata o una durata dopo la quale deve essere eliminata.

Per attivare l'opzione di eliminazione automatica o modificare il momento in cui la prenotazione deve essere eliminata, svolgi una delle seguenti operazioni:

  • Per eliminare la prenotazione in una data e ora specifica, utilizza il comando gcloud beta compute reservations update con il flag --delete-at-time.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-at-time=DELETE_AT_TIME \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione esistente.

    • DELETE_AT_TIME: una data e un'ora formattate come timestamp RFC 3339.

    • ZONE: la zona in cui si trova la prenotazione.

  • Per eliminare la prenotazione dopo un periodo di tempo specifico, utilizza il comando gcloud beta compute reservations update con il flag --delete-after-duration.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-after-duration=DELETE_AFTER_DURATION \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione esistente.

    • DELETE_AFTER_DURATION: una durata in giorni, ore, minuti o secondi prima che la prenotazione venga eliminata automaticamente. Ad esempio, specifica 30m per 30 minuti o 1d2h3m4s per 1 giorno, 2 ore, 3 minuti e 4 secondi.

    • ZONE: la zona in cui si trova la prenotazione.

Per disattivare l'opzione di eliminazione automatica, utilizza il comando gcloud beta compute reservations update con il flag --disable-auto-delete.

gcloud beta compute reservations update RESERVATION_NAME \
    --disable-auto-delete \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome di una prenotazione esistente.

  • ZONE: la zona in cui si trova la prenotazione.

REST

Quando attivi l'opzione di eliminazione automatica in una prenotazione, puoi specificare una data e un'ora in cui la prenotazione deve essere eliminata o una durata dopo la quale deve essere eliminata.

Per attivare l'opzione di eliminazione automatica o modificare il momento in cui la prenotazione deve essere eliminata, svolgi una delle seguenti operazioni:

  • Per eliminare la prenotazione in una data e ora specifica, invia una richiesta PATCH al metodo beta.reservations.update. Nell'URL della richiesta, includi il parametro di query paths impostato su deleteAtTime.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime
    
    {
      "name": "RESERVATION_NAME",
      "deleteAtTime": "DELETE_AT_TIME"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova la prenotazione.

    • ZONE: la zona in cui si trova la prenotazione.

    • RESERVATION_NAME: il nome di una prenotazione esistente.

    • DELETE_AT_TIME: una data e un'ora formattate come timestamp RFC 3339.

  • Per eliminare la prenotazione dopo un periodo di tempo specifico, invia una richiesta PATCH al metodo beta.reservations.update. Nell'URL della richiesta, includi il parametro di query paths impostato su deleteAfterDuration.seconds.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAfterDuration.seconds
    
    {
      "name": "RESERVATION_NAME",
      "deleteAfterDuration": {
        "seconds": "DELETE_AFTER_DURATION"
      }
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova la prenotazione.

    • ZONE: la zona in cui si trova la prenotazione.

    • RESERVATION_NAME: il nome di una prenotazione esistente.

    • DELETE_AFTER_DURATION: una durata in secondi prima che la prenotazione venga eliminata automaticamente. Ad esempio, specifica 86400 per 86.400 secondi (1 giorno).

Per disattivare l'opzione di eliminazione automatica, invia una richiesta PATCH al metodo beta.reservations.update. Nella richiesta, specifica il parametro di query paths=deleteAtTime&paths=deleteAfterDuration e ometti il corpo della richiesta.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime&paths=deleteAfterDuration

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la prenotazione.

  • ZONE: la zona in cui si trova la prenotazione.

  • RESERVATION_NAME: il nome di una prenotazione esistente.

Modificare i progetti consumer in una prenotazione condivisa

Puoi consentire ai progetti di utilizzare una prenotazione condivisa solo se si trovano nella stessa organizzazione del progetto proprietario. Per scoprire come eseguire la migrazione di un progetto all'organizzazione del progetto proprietario, consulta la sezione Migrazione dei progetti tra risorse dell'organizzazione nella documentazione di Resource Manager.

Dopo aver modificato i progetti consumer che possono utilizzare una prenotazione condivisa, il consumo della prenotazione potrebbe cambiare. Ad esempio, qualsiasi progetto consumer rimosso interrompe l'utilizzo delle risorse dalla prenotazione. Inoltre, se la prenotazione è stata configurata per essere utilizzata automaticamente da qualsiasi VM che corrisponde alle proprietà della prenotazione (il comportamento predefinito), qualsiasi progetto consumer aggiunto potrebbe iniziare a utilizzare le risorse della prenotazione. Se vuoi monitorare l'utilizzo di una prenotazione, scopri come verificare l'utilizzo delle prenotazioni.

Per modificare i progetti consumer che possono utilizzare una prenotazione condivisa, seleziona una delle seguenti opzioni:

Console

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

    Vai a Prenotazioni

  2. Nella scheda Prenotazioni on demand (predefinita), nella colonna Nome, fai clic sul nome della prenotazione che vuoi descrivere.

    Si apre la pagina dei dettagli della prenotazione.

  3. Fai clic su Modifica.

  4. Nella sezione Progetti selezionati, esegui una delle seguenti operazioni:

    • Per interrompere la condivisione della prenotazione con un progetto consumer specifico, fai clic su Elimina.

    • Per iniziare a condividere la prenotazione con uno o più progetti specifici:

      1. Fai clic su Aggiungi progetti.

      2. Seleziona la casella di controllo per ogni progetto dell'organizzazione del progetto proprietario con cui vuoi condividere la prenotazione.

      3. Fai clic su Seleziona.

  5. Per confermare le modifiche, fai clic su Salva.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

Quando modifichi i progetti consumer per una prenotazione condivisa, devi specificare un elenco separato da virgole degli ID dei progetti a cui vuoi consentire o impedire di utilizzare la prenotazione condivisa. Questi progetti devono appartenere alla stessa organizzazione del progetto proprietario. Non specificare il progetto proprietario nell'elenco. Per impostazione predefinita, è già autorizzato a utilizzare la prenotazione condivisa.

Per modificare i progetti consumer per una prenotazione condivisa, seleziona uno dei seguenti metodi:

  • Per consentire a uno o più progetti di utilizzare una prenotazione condivisa, utilizza il comando gcloud compute reservations update con il flag --add-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --add-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

    • CONSUMER_PROJECT_IDS: un elenco separato da virgole di ID dei progetti con cui condividere la prenotazione. Ad esempio, specifica project-1,project-2.

    • ZONE: la zona in cui si trova la prenotazione condivisa.

  • Per impedire a uno o più progetti di utilizzare una prenotazione condivisa, utilizza il comando gcloud compute reservations update con il flag --remove-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --remove-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

    • CONSUMER_PROJECT_IDS: un elenco separato da virgole di ID dei progetti con cui vuoi interrompere la condivisione della prenotazione. Ad esempio, specifica project-1,project-2.

    • ZONE: la zona in cui si trova la prenotazione condivisa.

  • Per sostituire l'elenco dei progetti che possono utilizzare una prenotazione condivisa, utilizza il comando gcloud beta compute reservations update con il flag --share-with.

    gcloud beta compute reservations update RESERVATION_NAME \
        --share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

    • ZONE: la zona in cui si trova la prenotazione condivisa.

    • CONSUMER_PROJECT_IDS: un elenco separato da virgole di ID dei progetti con cui condividere la prenotazione. Ad esempio, specifica project-1,project-2.

REST

Quando modifichi i progetti consumer per una prenotazione condivisa, devi specificare gli ID dei progetti a cui vuoi consentire o impedire di utilizzare la prenotazione condivisa. Questi progetti devono appartenere alla stessa organizzazione del progetto proprietario. Non specificare il progetto proprietario. Per impostazione predefinita, è già autorizzato a utilizzare la prenotazione condivisa.

Per modificare i progetti consumer per una prenotazione condivisa, seleziona uno dei seguenti metodi:

  • Per consentire a uno o più progetti di utilizzare una prenotazione condivisa, invia una richiesta PATCH al metodo reservations.update. Nell'URL della richiesta, includi il parametro di query paths=shareSettings.projectMap.PROJECT_ID per ogni progetto con cui vuoi condividere la prenotazione.

    Ad esempio, per consentire a due progetti di utilizzare una prenotazione condivisa, invia la seguente richiesta PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME",
      "shareSetting": {
        "projectMap": {
          "CONSUMER_PROJECT_ID_1": {
            "projectId": "CONSUMER_PROJECT_ID_1"
          },
          "CONSUMER_PROJECT_ID_2": {
            "projectId": "CONSUMER_PROJECT_ID_2"
          }
        }
      }
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto proprietario, ovvero il progetto utilizzato per creare la prenotazione condivisa.

    • ZONE: la zona in cui si trova la prenotazione condivisa.

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

    • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: gli ID di due progetti con cui vuoi condividere la prenotazione.

  • Per impedire a uno o più progetti di utilizzare una prenotazione condivisa, invia una richiesta PATCH al metodo reservations.update. Nell'URL della richiesta, includi il parametro di query paths=shareSettings.projectMap.PROJECT_ID per ogni progetto con cui vuoi interrompere la condivisione della prenotazione. Inoltre, devi omettere il campo shareSetting dal corpo della richiesta.

    Ad esempio, per impedire a due progetti di utilizzare una prenotazione condivisa, invia la seguente richiesta PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto proprietario, ovvero il progetto utilizzato per creare la prenotazione condivisa.

    • ZONE: la zona in cui si trova la prenotazione condivisa.

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

    • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: gli ID di due progetti con cui vuoi interrompere la condivisione della prenotazione.

Modifica il numero di istanze riservate in una prenotazione

Puoi aumentare o diminuire il numero di istanze di calcolo riservate in una prenotazione. Tuttavia, prima di modificare il numero di istanze, tieni presente quanto segue per evitare errori:

  • Per aumentare il numero di istanze in una prenotazione, assicurati che:

  • Per ridurre il numero di istanze in una prenotazione specifica, assicurati che il numero di istanze che utilizzano la prenotazione non superi il nuovo numero inferiore. In caso affermativo, esegui una delle seguenti operazioni con le istanze in eccesso rispetto al nuovo numero:

    • Elimina istanze

    • Arresta o sospendi le istanze

Per modificare il numero di istanze riservate in una prenotazione, seleziona una delle seguenti opzioni:

Console

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

    Vai a Prenotazioni

  2. Nella scheda Prenotazioni on demand (predefinita), nella colonna Nome, fai clic sul nome della prenotazione da modificare.

    Si apre la pagina dei dettagli della prenotazione.

  3. Fai clic su Modifica.

  4. Nel campo Numero di istanze VM, inserisci il numero aggiornato di istanze da prenotare.

  5. Per confermare, fai clic su Salva.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

Per modificare il numero di istanze riservate in una prenotazione, utilizza il comando gcloud compute reservations update.

gcloud compute reservations update RESERVATION_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome di una prenotazione esistente.

  • NUMBER_OF_VMS: il nuovo numero di istanze da prenotare.

  • ZONE: la zona in cui si trova la prenotazione.

REST

Per modificare il numero di istanze riservate in una prenotazione, invia una richiesta POST al metodo reservations.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/resize

{
  "specificSkuCount": "NUMBER_OF_VMS"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la prenotazione.

  • ZONE: la zona in cui si trova la prenotazione.

  • RESERVATION_NAME: il nome di una prenotazione esistente.

  • NUMBER_OF_VMS: il nuovo numero di istanze da prenotare.

Modificare la policy di condivisione di una prenotazione

Quando modifichi le norme di condivisione di una prenotazione di istanze di calcolo GPU, controlli se i job di addestramento o previsione di Vertex AI utilizzano la prenotazione.

Prima di impedire ai job Vertex AI di utilizzare una prenotazione, interrompi tutti i job Vertex AI che la utilizzano. In caso contrario, si verificano degli errori.

Per modificare la policy di condivisione di una prenotazione di istanze GPU, seleziona una delle seguenti opzioni:

Console

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

    Vai a Prenotazioni

  2. Nella scheda Prenotazioni on demand (predefinita), nella colonna Nome, fai clic sul nome della prenotazione delle istanze GPU che vuoi modificare. Viene visualizzata una pagina con i dettagli della prenotazione.

  3. Nella riga Condividi con altri servizi Google Cloud, fai clic su Modifica impostazioni di condivisione dei servizi.

  4. Nel riquadro Condivisione delle prenotazioni, esegui una delle seguenti operazioni:

    • Per consentire ai job Vertex AI di utilizzare la prenotazione, seleziona Condividi prenotazione.

    • Per impedire ai job Vertex AI di utilizzare la prenotazione, seleziona Non condividere la prenotazione.

  5. Fai clic su Salva.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

Per modificare la policy di condivisione di una prenotazione di istanze GPU, utilizza il comando gcloud compute reservations update con il flag --reservation-sharing-policy.

gcloud compute reservations update RESERVATION_NAME \
    --reservation-sharing-policy=SHARING_POLICY \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome di una prenotazione esistente.

  • SHARING_POLICY: la policy di condivisione della prenotazione. Specifica uno dei seguenti valori:

    • Per consentire ai job Vertex AI di utilizzare la prenotazione: ALLOW_ALL

    • Per impedire ai job Vertex AI di utilizzare la prenotazione: DISALLOW_ALL

  • ZONE: la zona in cui esiste la prenotazione

REST

Per modificare la policy di condivisione di una prenotazione di istanze GPU, invia una richiesta PATCH al metodo reservations.update. Nell'URL della richiesta, includi il parametro di query paths impostato su reservationSharingPolicy.serviceShareType.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=reservationSharingPolicy.serviceShareType

{
  "name": "RESERVATION_NAME",
  "reservationSharingPolicy": {
    "serviceShareType": "SHARING_POLICY"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui esiste la prenotazione.

  • ZONE: la zona in cui esiste la prenotazione.

  • RESERVATION_NAME: il nome di una prenotazione esistente.

  • SHARING_POLICY: la policy di condivisione della prenotazione. Specifica uno dei seguenti valori:

    • Per consentire ai job Vertex AI di utilizzare la prenotazione: ALLOW_ALL

    • Per impedire ai job Vertex AI di utilizzare la prenotazione: DISALLOW_ALL

Modificare altre proprietà in una prenotazione

Se vuoi modificare una proprietà non menzionata nella sezione Modifica le prenotazioni, devi creare una prenotazione sostitutiva.

Per sostituire una prenotazione senza rischiare una riduzione involontaria della capacità riservata:

  1. Crea una nuova prenotazione per un singolo progetto o prenotazione condivisa con proprietà aggiornate.

  2. Se non hai più bisogno della prenotazione originale, eliminala.

Risoluzione dei problemi

Scopri come risolvere i problemi relativi agli aggiornamenti delle prenotazioni.

Passaggi successivi