Modifica prenotazioni

Questo documento spiega come modificare una prenotazione esistente.

Se vuoi modificare una prenotazione condivisa, devi utilizzare il progetto del proprietario.

Se vuoi modificare una prenotazione collegata a un impegno, consulta invece Sostituire le prenotazioni collegate agli impegni.

Prima di iniziare

  • Esamina i requisiti e le limitazioni per le prenotazioni.
  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

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

    Console

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

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    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.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione 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 Amministratore Compute (roles/compute.admin) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per modificare le prenotazioni. Per visualizzare esattamente le autorizzazioni necessarie, 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 o nei progetti consumer in una prenotazione condivisa: compute.reservations.update nel progetto
  • Per modificare il numero di VM in una prenotazione: compute.reservations.resize nel progetto

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

Modifica prenotazioni

Per modificare direttamente una prenotazione esistente, puoi eseguire una o più delle seguenti operazioni:

Se vuoi modificare le proprietà non menzionate in questo elenco, consulta 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 in uno dei seguenti modi:

  • Abilita l'opzione di eliminazione automatica o modifica quando 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

Per modificare l'eliminazione automatica di una prenotazione:

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

    Vai a Prenotazioni

  2. Nella colonna Nome, fai clic sul nome della prenotazione che vuoi modificare.

    Si apre la pagina dei dettagli della prenotazione selezionata.

  3. Nella riga Data/ora eliminazione automatica, fai clic su Modifica data e ora di eliminazione automatica.

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

    • Per eliminare la prenotazione in una data e un'ora specifiche:

      1. Se l'opzione di eliminazione automatica non è già abilitata, fai clic sul pulsante di attivazione/disattivazione Attiva eliminazione automatica per attivare l'opzione.

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

    • In caso contrario, disattiva l'opzione di attivazione/disattivazione Abilita eliminazione automatica.

  5. Fai clic su Invia.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

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

Per abilitare l'opzione di eliminazione automatica o modificare il momento in cui la prenotazione deve essere eliminata, procedi in uno dei seguenti modi:

  • Per eliminare la prenotazione in una data e un'ora specifiche, 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 \
        --project=PROJECT_ID \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione esistente.

    • DELETE_AT_TIME: data e ora formattate come timestamp RFC 3339, che deve avere i seguenti formati:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

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

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

  • Per eliminare la prenotazione dopo un determinato periodo di tempo, 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 \
        --project=PROJECT_ID \
        --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.

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

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

Per disabilitare 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 \
    --project=PROJECT_ID \
    --zone=ZONE

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome di una prenotazione esistente.

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

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

REST

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

Per abilitare l'opzione di eliminazione automatica o modificare il momento in cui la prenotazione deve essere eliminata, procedi in uno dei seguenti modi:

  • Per eliminare la prenotazione in una data e un'ora specifiche, effettua una richiesta PATCH al metodo beta.reservations.update con 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: data e ora formattate come timestamp RFC 3339, che deve avere i seguenti formati:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Sostituisci quanto segue:

      • YYYY-MM-DD: una data formattata come anno di quattro cifre, mese di due cifre e giorno del mese a due cifre, separati da trattini (-).

      • HH:MM:SS: un'ora nel formato a due cifre (ora nel formato 24 ore, minuti a due cifre e secondi a due cifre, separati dai due punti (:).

      • OFFSET: il fuso orario formattato come differenza rispetto al Tempo coordinato universale (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica -08:00. In alternativa, per non utilizzare alcun offset, specifica Z.

  • Per eliminare la prenotazione dopo un determinato periodo di tempo, effettua una richiesta PATCH al metodo beta.reservations.update con il parametro di query paths impostato su deleteAfterDuration.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAfterDuration
    
    {
      "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: durata in secondi precedente all'eliminazione automatica della prenotazione. Ad esempio, specifica 86400 per 86.400 secondi (1 giorno).

Per disabilitare l'opzione di eliminazione automatica, effettua 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 del proprietario. Per informazioni su come eseguire la migrazione di un progetto all'organizzazione del progetto del proprietario, consulta Migrazione di 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 smette di utilizzare le risorse della prenotazione. Inoltre, se la prenotazione è stata configurata per essere utilizzata automaticamente da qualsiasi VM corrispondente alle proprietà della prenotazione (comportamento predefinito), qualsiasi progetto consumer aggiunto potrebbe iniziare a utilizzare risorse dalla prenotazione. Se vuoi monitorare il consumo di una prenotazione, scopri come verificare il consumo delle prenotazioni.

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

Console

Per modificare i progetti consumer per una prenotazione condivisa, segui questi passaggi:

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

    Vai a Prenotazioni

  2. 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 di ID dei progetti a cui vuoi consentire o interrompere l'autorizzazione di utilizzo della prenotazione condivisa. Questi progetti devono trovarsi nella stessa organizzazione del progetto del 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 \
        --project=PROJECT_ID \
        --add-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

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

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

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

  • Per interrompere l'utilizzo di una prenotazione condivisa da parte di uno o più progetti, utilizza il comando gcloud compute reservations update con il flag --remove-share-with.

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

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

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

    • 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 di 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 \
        --project=PROJECT_ID \
        --share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome di una prenotazione condivisa esistente.

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

    • CONSUMER_PROJECT_IDS: un elenco separato da virgole di ID di 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 che vuoi consentire o non consentire più di utilizzare la prenotazione condivisa. Questi progetti devono trovarsi nella 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, effettua 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, effettua 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 non consentire più a uno o più progetti di utilizzare una prenotazione condivisa, effettua 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 non consentire più a due progetti di utilizzare una prenotazione condivisa, effettua 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.

Modificare il numero di VM prenotate in una prenotazione

Puoi modificare una prenotazione esistente per aumentare o diminuire il numero di VM prenotate.

Prima di modificare il numero di VM prenotate in una prenotazione, verifica quanto segue:

  • Se vuoi aumentare il numero di VM prenotate in una prenotazione, si applicano le seguenti limitazioni:

    • Nella zona in cui si trova la prenotazione devono essere presenti risorse sufficienti.

    • Devi disporre di una quota sufficiente per le risorse aggiuntive che stai prenotando.

  • Se il tipo di consumo della prenotazione è specifico e vuoi ridurre il numero di VM prenotate nella prenotazione, assicurati che il numero di VM che utilizzano la prenotazione non superi le dimensioni della prenotazione desiderata. A tale scopo, puoi utilizzare i seguenti metodi:

    In caso contrario, si verificheranno errori.

Per modificare il numero di VM prenotate in una prenotazione, seleziona una delle opzioni seguenti:

Console

Per modificare il numero di VM prenotate in una prenotazione:

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

    Vai a Prenotazioni

  2. Nella colonna Nome, fai clic sul nome della prenotazione che vuoi 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 VM da prenotare.

  5. Per confermare, fai clic su Salva.

    La modifica della prenotazione potrebbe richiedere alcuni secondi.

gcloud

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

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

Sostituisci quanto segue:

  • RESERVATION_NAME: il nome di una prenotazione esistente.

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

  • NUMBER_OF_VMS: il nuovo numero di VM da prenotare.

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

REST

Per modificare il numero di VM prenotate in una prenotazione, effettua 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 VM da prenotare.

Modificare altre proprietà in una prenotazione

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

Per sostituire una prenotazione senza rischiare di ridurre inavvertitamente la capacità prenotata:

  1. Crea una nuova single-project o una prenotazione condivisa con le proprietà aggiornate.

  2. Se la prenotazione originale non ti serve più, elimina la prenotazione.

Passaggi successivi