Questo documento spiega come creare una prenotazione per un singolo progetto, che può essere utilizzata solo dalle istanze di macchine virtuali (VM) nello stesso progetto. Per scoprire di più sulle prenotazioni, consulta Prenotazioni di risorse di zona di Compute Engine.
Per altri metodi di creazione delle prenotazioni, consulta invece le seguenti pagine:
Per creare una prenotazione che può essere utilizzata da più progetti, consulta Crea una prenotazione condivisa.
Per creare una prenotazione al momento dell'acquisto di un impegno basato sulle risorse, consulta Acquista impegni con prenotazioni collegate. Gli impegni offrono sconti, noti come sconti per impegno di utilizzo (CUD), sui costi delle risorse on demand in cambio dell'acquisto di un livello minimo di risorse o della spesa di un importo minimo.
Prima di iniziare
- Esamina i requisiti e le limitazioni per le 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
-
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.
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
compute.reservations.create
sul progetto -
Per specificare un template di istanza:
compute.instanceTemplates.useReadOnly
sul template di istanza Suggerimento: Specifica un modello di istanza
Questa sezione spiega come utilizzare un modello di istanza per definire le proprietà di una prenotazione. Utilizzando un modello di istanza puoi definire in un unico posto le proprietà di una prenotazione e le VM che possono utilizzarla.
-
Questa sezione spiega come utilizzare una VM esistente per definire le proprietà di una prenotazione. Usando le proprietà di una VM esistente puoi utilizzare la prenotazione creando VM con proprietà corrispondenti a quelle della VM di riferimento.
Specifica le proprietà direttamente
Questa sezione spiega come definire direttamente le proprietà di una prenotazione. Questo metodo richiede di assicurarti manualmente che le proprietà delle VM e delle prenotazioni corrispondano esattamente: eventuali proprietà non corrispondenti impediscono l'utilizzo.
Crea una prenotazione che può essere utilizzata solo dalle VM di cui è un target specifico, come spiegato nelle sezioni successive di questo documento. Quindi, configura le VM in modo che utilizzino la prenotazione specifica.
Crea la prenotazione nella stessa regione e nella stessa zona delle risorse all'interno del modello di istanza. Qualsiasi risorsa regionale o di zona specificata in un modello di istanza, ad esempio un tipo di macchina o un volume Persistent Disk, limita l'utilizzo del modello alle posizioni in cui esistono queste risorse. Ad esempio, se il modello di istanza specifica un volume Persistent Disk esistente nella zona
us-central1-a
, puoi creare la prenotazione solo nella stessa zona. Per verificare se un modello esistente specifica risorse che lo legano a una determinata regione o zona, visualizza i dettagli relativi al modello di istanza e cerca al suo interno riferimenti a quelle risorse.Se il modello di istanza specifica un criterio di posizionamento compatto, assicurati che il modello specifichi un tipo di macchina supportato per i criteri di posizionamento compatto. In caso contrario, la creazione della prenotazione non andrà a buon fine.
Nella console Google Cloud , vai alla pagina Prenotazioni.
Nella scheda Prenotazioni on demand (predefinita), fai clic su
Crea prenotazione.Viene visualizzata la pagina Crea una prenotazione.
In Nome, inserisci un nome per la prenotazione.
Per Regione e Zona, seleziona dove vuoi prenotare le risorse.
Nella sezione Tipo di condivisione, seleziona Locale se non è già selezionato.
(Facoltativo) Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, nella sezione Servizi Google Cloud, seleziona Condividi prenotazione.
Nella sezione Utilizza con un'istanza VM, seleziona una delle seguenti opzioni:
Per consentire alle VM corrispondenti di utilizzare automaticamente questa prenotazione, seleziona Utilizza automaticamente la prenotazione se non è già selezionata.
Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM corrispondenti che hanno come target specifico questa prenotazione in base al nome, utilizza Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM che vuoi prenotare.
Nella sezione Configurazione macchina, segui questi passaggi:
Per specificare le proprietà delle VM da un modello di istanza esistente, seleziona Utilizza modello di istanza.
Nel campo Modello di istanza, seleziona il modello di istanza che preferisci. Se selezioni un modello di istanza regionale, puoi prenotare risorse solo nella regione del modello di istanza.
Nella sezione Eliminazione automatica, puoi attivare l'opzione di eliminazione automatica per consentire a Compute Engine di eliminare automaticamente la prenotazione in una data e ora specifica. L'eliminazione automatica delle prenotazioni può essere utile per evitare addebiti non necessari quando smetti di utilizzare la prenotazione.
Per creare la prenotazione, fai clic su Crea.
Viene visualizzata la pagina Prenotazioni. La creazione della prenotazione per un singolo progetto potrebbe richiedere fino a un minuto.
RESERVATION_NAME
: il nome della prenotazione da creare.PROJECT_ID
: l'ID del progetto in cui vuoi prenotare le risorse e in cui esiste il modello di istanza.LOCATION
: la posizione del template di istanza. Specifica uno dei seguenti valori:Per un modello di istanza globale:
global
.Per un modello di istanza regionale:
regions/REGION
. SostituisciREGION
con la regione in cui si trova il modello dell'istanza. Se specifichi un modello di istanza regionale, puoi prenotare VM solo nella stessa regione del modello.
INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza esistente. Se il modello di istanza specifica un tipo di macchina A3 Mega, A3 High o A3 Edge o una policy di posizionamento compatto, devi includere il flag--require-specific-reservation
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla. Per saperne di più, consulta Utilizza VM di una prenotazione specifica.NUMBER_OF_VMS
: il numero di VM da prenotare.ZONE
: la zona in cui prenotare le risorse.Per specificare che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla, includi il flag
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, includi il flag
--reservation-sharing-policy
impostato suALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e ora specifica, utilizza il comando
gcloud beta compute reservations create
con il flag--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AT_TIME
con una data e ora formattata come timestamp RFC 3339, ovvero come segue:none YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre, separati da trattini (-
).HH:MM:SS
: un orario formattato con l'ora a due cifre utilizzando il sistema a 24 ore, i minuti a due cifre e i secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset rispetto al Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario standard della costa del Pacifico (PST), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un periodo di tempo specifico, utilizza il comando
gcloud beta compute reservations create
con il flag--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AFTER_DURATION
con una durata in giorni, ore, minuti o secondi. Ad esempio, specifica30m
per 30 minuti o1d2h3m4s
per 1 giorno, 2 ore, 3 minuti e 4 secondi.
PROJECT_ID
: l'ID del progetto in cui vuoi prenotare le risorse e in cui esiste il modello di istanza.ZONE
: la zona in cui prenotare le risorse.RESERVATION_NAME
: il nome della prenotazione da creare.NUMBER_OF_VMS
: il numero di VM da prenotare.LOCATION
: la località del modello di istanza. Specifica uno dei seguenti valori:Per un modello di istanza globale:
global
.Per un modello di istanza regionale:
regions/REGION
. SostituisciREGION
con la regione in cui si trova il modello dell'istanza. Se specifichi un modello di istanza regionale, puoi prenotare VM solo nella stessa regione del modello.
INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza esistente. Se il modello di istanza specifica un tipo di macchina A3 Mega, A3 High o A3 Edge oppure una policy di posizionamento compatto, devi includere il campospecificReservationRequired
nel corpo della richiesta e impostarlo sutrue
. Ciò indica che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla. Per saperne di più, consulta Utilizza VM di una prenotazione specifica.Per specificare che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla, includi il campo
specificReservationRequired
nel corpo della richiesta e impostalo sutrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, includi il campo
serviceShareType
e impostalo suALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e ora specifica, invia una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAtTime
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sostituisci
DELETE_AT_TIME
con una data e ora formattata come timestamp RFC 3339, ovvero come segue:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre, separati da trattini (-
).HH:MM:SS
: un orario formattato con l'ora a due cifre utilizzando il sistema a 24 ore, i minuti a due cifre e i secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset rispetto al Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario standard della costa del Pacifico (PST), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un periodo di tempo specifico, invia una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAfterDuration
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sostituisci
DELETE_AFTER_DURATION
con una durata in secondi. Ad esempio, specifica86400
per 86.400 secondi (1 giorno).
Crea e utilizza un modello di istanza come segue:
Crea un template di istanza basato sulla VM di riferimento senza sostituire le sue proprietà.
Crea le VM utilizzando il template appena creato effettuando una o entrambe le operazioni riportate di seguito:
Crea una VM basata sulla VM di riferimento assicurandoti che le proprietà della nuova VM e della VM di riferimento corrispondano esattamente.
Nella console Google Cloud , vai alla pagina Prenotazioni.
Fai clic su
Crea prenotazione.Viene visualizzata la pagina Crea una prenotazione.
In Nome, inserisci un nome per la prenotazione.
Per Regione e Zona, seleziona dove vuoi prenotare le risorse.
Nella sezione Tipo di condivisione, fai clic su Locale se non è già selezionato.
Nella sezione Utilizza con un'istanza VM, seleziona una delle seguenti opzioni:
Per consentire alle VM corrispondenti di utilizzare automaticamente questa prenotazione, seleziona Utilizza automaticamente la prenotazione se non è già selezionata.
Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM corrispondenti che hanno come target specifico questa prenotazione in base al nome, utilizza Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM che vuoi prenotare.
Nella sezione Configurazione macchina, segui questi passaggi:
Seleziona Usa VM esistente.
Per VM esistente, seleziona la VM le cui proprietà vuoi utilizzare per creare la prenotazione.
(Facoltativo) Per specificare una policy di posizionamento compatta per una prenotazione che soddisfa i requisiti, nella sezione Policy di posizionamento del gruppo, fai clic sull'elenco Seleziona o crea una policy di posizionamento del gruppo, quindi esegui una delle seguenti operazioni:
Per creare una policy di posizionamento compatto da specificare in questa prenotazione:
Fai clic su Crea policy di posizionamento del gruppo.
Viene visualizzato il riquadro Crea una policy di posizionamento del gruppo.
In Nome della policy, inserisci un nome per la policy.
Fai clic su Crea.
La creazione della policy di posizionamento compatto potrebbe richiedere alcuni secondi.
Altrimenti, seleziona una policy di posizionamento compatto esistente.
Nella sezione Eliminazione automatica, puoi attivare l'opzione di eliminazione automatica per consentire a Compute Engine di eliminare automaticamente la prenotazione in una data e ora specifica. L'eliminazione automatica delle prenotazioni può essere utile per evitare addebiti non necessari quando smetti di utilizzare la prenotazione.
Per creare la prenotazione, fai clic su Crea.
Viene visualizzata la pagina Prenotazioni. La creazione della prenotazione potrebbe richiedere fino a un minuto.
Nella console Google Cloud , vai alla pagina Prenotazioni.
Nella scheda Prenotazioni on demand (predefinita), fai clic su
Crea prenotazione.Viene visualizzata la pagina Crea una prenotazione.
In Nome, inserisci un nome per la prenotazione.
Per Regione e Zona, seleziona dove vuoi prenotare le risorse.
Nella sezione Tipo di condivisione, fai clic su Locale se non è già selezionato.
(Facoltativo) Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, nella sezione Servizi Google Cloud, seleziona Condividi prenotazione.
Nella sezione Utilizza con un'istanza VM, seleziona una delle seguenti opzioni:
Per consentire alle VM corrispondenti di utilizzare automaticamente questa prenotazione, seleziona Utilizza automaticamente la prenotazione se non è già selezionata.
Per utilizzare le risorse di questa prenotazione solo durante la creazione di VM corrispondenti che hanno come target specifico questa prenotazione in base al nome, utilizza Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM che vuoi prenotare.
Nella sezione Configurazione macchina, seleziona Specifica il tipo di macchina, quindi specifica quanto segue:
Per Famiglia di macchine, Serie e Tipo di macchina, seleziona una famiglia, una serie e un tipo di macchina.
(Facoltativo) Per specificare una piattaforma CPU minima o collegare GPU alle VM N1, segui questi passaggi:
Per espandere la sezione Piattaforma CPU e GPU, fai clic sulla freccia di espansione
.(Facoltativo) Per specificare una piattaforma CPU minima, per Piattaforma CPU, seleziona un'opzione.
(Facoltativo) Per collegare GPU alle VM N1, fai clic su
Aggiungi GPU. Quindi, per Tipo di GPU e Numero di GPU, seleziona il tipo e il numero di GPU da collegare a ogni VM N1.
(Facoltativo) Per collegare dischi SSD locali a un tipo di macchina che non li include per impostazione predefinita, segui questi passaggi:
In Numero di dischi, seleziona il numero di dischi SSD locali da collegare.
Per Tipo di interfaccia, seleziona l'interfaccia del disco per i dischi SSD locali.
(Facoltativo) Per specificare una policy di posizionamento compatto per una prenotazione che soddisfa i requisiti, nella sezione Policy di posizionamento del gruppo, fai clic sull'elenco Seleziona o crea una policy di posizionamento del gruppo, quindi esegui una delle seguenti operazioni:
Per creare un criterio di posizionamento compatto da specificare in questa prenotazione, segui questi passaggi:
Fai clic su Crea policy di posizionamento del gruppo.
Viene visualizzato il riquadro Crea una policy di posizionamento del gruppo.
In Nome della policy, inserisci un nome per la policy.
Fai clic su Crea.
La creazione della policy di posizionamento compatto potrebbe richiedere alcuni secondi.
Altrimenti, seleziona una policy di posizionamento compatto esistente.
Nella sezione Eliminazione automatica, puoi attivare l'opzione di eliminazione automatica per consentire a Compute Engine di eliminare automaticamente la prenotazione in una data e ora specifica. L'eliminazione automatica delle prenotazioni può essere utile per evitare addebiti non necessari quando smetti di utilizzare la prenotazione.
Per creare la prenotazione, fai clic su Crea.
Viene visualizzata la pagina Prenotazioni. La creazione della prenotazione per un singolo progetto potrebbe richiedere fino a un minuto.
RESERVATION_NAME
: il nome della prenotazione da creare.MACHINE_TYPE
: un tipo di macchina da utilizzare per ogni VM. Se specifichi un tipo di macchina A3 Mega, A3 High o A3 Edge, devi includere il flag--require-specific-reservation
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla. Per saperne di più, consulta Utilizza VM di una prenotazione specifica.NUMBER_OF_VMS
: il numero di VM da prenotare.ZONE
: la zona in cui prenotare le risorse.Per collegare GPU alle VM N1 prenotate, includi il flag
--accelerator
.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci quanto segue:
NUMBER_OF_ACCELERATORS
: il numero di GPU da aggiungere per VM prenotata.ACCELERATOR_TYPE
: un modello di GPU supportato per le VM N1. Assicurati che il modello di GPU scelto sia disponibile nella zona in cui vuoi prenotare le risorse. In caso contrario, la creazione della prenotazione non andrà a buon fine.
Per collegare dischi SSD locali a un tipo di macchina che non li include per impostazione predefinita, includi il flag
--local-ssd
. Puoi collegare solo dischi SSD locali da 375 GB.gcloud compute reservations create RESERVATION_NAME \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci quanto segue:
NUMBER_OF_LOCAL_SSD_DISKS
: il numero di dischi SSD locali da collegare.INTERFACE_TYPE
: il tipo di interfaccia disco che verrà utilizzato da ogni disco SSD locale e che è supportato dal tipo di macchina specificato. Specifica uno dei seguenti valori:Per l'interfaccia disco NVME:
nvme
Per l'interfaccia disco SCSI:
scsi
Per fare in modo che le VM prenotate utilizzino una specifica piattaforma CPU minima anziché la piattaforma CPU predefinita della zona, includi il flag
--min-cpu-platform
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
MIN_CPU_PLATFORM
con una piattaforma CPU minima. Per assicurarti che una piattaforma CPU sia disponibile nella zona in cui stai prenotando le risorse, visualizza le piattaforme CPU disponibili per zona.Per specificare che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla, includi il flag
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per specificare un criterio di posizionamento compatto per una latenza di rete inferiore tra le VM, includi il flag
--resource-policies=policy
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci COMPACT_PLACEMENT_POLICY_NAME con il nome di una policy di posizionamento compatto esistente. Inoltre, per evitare errori durante la creazione di una prenotazione per un singolo progetto che specifica una policy di posizionamento compatto, assicurati di specificare quanto segue:
Un tipo di macchina supportato e il numero massimo di VM per le policy di posizionamento compatto.
Una zona all'interno della regione in cui si trova la policy di posizionamento compatto.
La bandiera
--require-specific-reservation
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla.
Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, includi il flag
--reservation-sharing-policy
impostato suALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e ora specifica, utilizza il comando
gcloud beta compute reservations create
con il flag--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AT_TIME
con una data e ora formattata come timestamp RFC 3339, ovvero come segue:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre, separati da trattini (-
).HH:MM:SS
: un orario formattato con l'ora a due cifre utilizzando il sistema a 24 ore, i minuti a due cifre e i secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset rispetto al Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario standard della costa del Pacifico (PST), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un periodo di tempo specifico, utilizza il comando
gcloud beta compute reservations create
con il flag--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AFTER_DURATION
con una durata in giorni, ore, minuti o secondi. Ad esempio, specifica30m
per 30 minuti o1d2h3m4s
per 1 giorno, 2 ore, 3 minuti e 4 secondi.
PROJECT_ID
: l'ID del progetto in cui vuoi prenotare le risorse.ZONE
: la zona in cui prenotare le risorse.RESERVATION_NAME
: il nome della prenotazione da creare.NUMBER_OF_VMS
: il numero di VM da prenotare.MACHINE_TYPE
: un tipo di macchina da utilizzare per ogni VM. Se specifichi un tipo di macchina A3 Mega, A3 High o A3 Edge, devi includere il campospecificReservationRequired
nel corpo della richiesta e impostarlo sutrue
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla. Per saperne di più, consulta Utilizza VM di una prenotazione specifica.Per collegare GPU alle VM N1 prenotate, includi il campo
guestAccelerators
nel corpo della richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Sostituisci quanto segue:
NUMBER_OF_ACCELERATORS
: il numero di GPU da aggiungere per VM prenotata.ACCELERATOR_TYPE
: un modello di GPU supportato per le VM N1. Assicurati che il modello di GPU scelto sia disponibile nella zona in cui vuoi prenotare le risorse. In caso contrario, la creazione della prenotazione non andrà a buon fine.
Per collegare i dischi SSD locali a un tipo di macchina che non li include per impostazione predefinita, includi il campo
localSsds
nel corpo della richiesta. Puoi collegare solo dischi SSD locali da 375 GB.Ad esempio, per collegare due dischi SSD locali al tipo di macchina che vuoi prenotare, invia la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Sostituisci
INTERFACE_TYPE
con il tipo di interfaccia disco che verrà utilizzato da ogni disco SSD locale e che è supportato dal tipo di macchina specificato. Specifica uno dei seguenti valori:Per l'interfaccia disco NVME:
NVME
Per l'interfaccia disco SCSI:
SCSI
Per fare in modo che le VM prenotate utilizzino una piattaforma CPU minima specifica anziché la piattaforma CPU predefinita della zona, includi il campo
minCpuPlatform
nel corpo della richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
Sostituisci
MIN_CPU_PLATFORM
con una piattaforma CPU minima. Per assicurarti che una piattaforma CPU sia disponibile nella zona in cui stai prenotando le risorse, visualizza le piattaforme CPU disponibili per zona.Per specificare un criterio di posizionamento compatto per ridurre la latenza di rete tra le VM prenotate, includi il campo
resourcePolicies
nel corpo della richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Sostituisci quanto segue:
REGION
: la regione in cui si trova la policy di posizionamento compatto. Puoi creare la prenotazione solo all'interno della regione del criterio di posizionamento.COMPACT_PLACEMENT_POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.
Inoltre, per evitare errori durante la creazione di una prenotazione per un singolo progetto che specifica un criterio di posizionamento compatto, assicurati di specificare quanto segue:
Un tipo di macchina supportato per le policy di posizionamento compatto.
Il campo
specificReservationRequired
impostato sutrue
. Ciò indica che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla.
Per specificare che solo le VM che hanno come target specifico questa prenotazione possono utilizzarla, includi il campo
specificReservationRequired
nel corpo della richiesta e impostalo sutrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Per consentire l'utilizzo di una prenotazione di VM GPU da parte dei job di addestramento personalizzato o dei job di previsione in Vertex AI, includi il campo
serviceShareType
e impostalo suALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Per consentire a Compute Engine di eliminare automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e ora specifica, invia una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAtTime
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sostituisci
DELETE_AT_TIME
con una data e ora formattata come timestamp RFC 3339, ovvero come segue:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno a 4 cifre, mese a 2 cifre e giorno del mese a 2 cifre, separati da trattini (-
).HH:MM:SS
: un orario formattato con l'ora a due cifre utilizzando il sistema a 24 ore, i minuti a due cifre e i secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset rispetto al Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario standard della costa del Pacifico (PST), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un periodo di tempo specifico, invia una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAfterDuration
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sostituisci
DELETE_AFTER_DURATION
con una durata in secondi. Ad esempio, specifica86400
per 86.400 secondi (1 giorno).
Scopri come visualizzare le prenotazioni.
Scopri come collegare le prenotazioni agli impegni.
Scopri come utilizzare le prenotazioni.
Scopri come monitorare l'utilizzo delle prenotazioni.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
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 creare prenotazioni per un singolo progetto, 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 creare prenotazioni per un singolo progetto. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare prenotazioni per un singolo progetto sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea una prenotazione per un singolo progetto
Per utilizzare una prenotazione, una VM deve avere proprietà che corrispondono esattamente alla prenotazione. Per specificare le proprietà delle VM che vuoi prenotare, seleziona una delle seguenti sezioni di questo documento:
Per impostazione predefinita, una prenotazione può essere utilizzata automaticamente da qualsiasi VM con proprietà corrispondenti. Se vuoi controllare l'utilizzo delle prenotazioni, esegui una o più delle seguenti operazioni:
Inoltre, puoi specificare un criterio di posizionamento compatto quando crei una prenotazione specifica per un singolo progetto. Un criterio di posizionamento compatto specifica che le VM devono essere posizionate il più vicino possibile l'una all'altra per ridurre la latenza di rete.
Specifica un template di istanza
Per evitare errori durante la creazione di una prenotazione specificando un modello di istanza, assicurati di quanto segue:
Per creare una prenotazione per un singolo progetto specificando un modello di istanza, seleziona una delle seguenti opzioni:
Console
gcloud
Per creare una prenotazione per un singolo progetto, utilizza il comando
gcloud compute reservations create
.Per creare una prenotazione per un singolo progetto specificando un modello di istanza e senza includere flag facoltativi, esegui questo comando:
gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci quanto segue:
Ad esempio, per creare una prenotazione per dieci VM nella zona
us-central1-a
specificando un modello di istanza globale, esegui questo comando:gcloud compute reservations create my-reservation \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
Facoltativamente, puoi eseguire una o più delle seguenti operazioni:
Go
Java
Node.js
Python
REST
Per creare una prenotazione per un singolo progetto, invia una richiesta
POST
al metodoreservations.insert
.Per creare una prenotazione per un singolo progetto specificando un modello di istanza e senza includere flag facoltativi, invia la seguente richiesta
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sostituisci quanto segue:
Ad esempio, per creare una prenotazione per dieci VM nella zona
us-central1-a
specificando un modello di istanza globale, invia la seguente richiestaPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
Facoltativamente, puoi eseguire una o più delle seguenti operazioni:
Specifica una VM esistente
Puoi creare una prenotazione in base a una VM esistente solo nella stessa zona della VM.
Dopo aver creato la prenotazione, puoi utilizzarla creando VM con proprietà corrispondenti a quelle della VM di riferimento. Puoi farlo eseguendo una di queste operazioni:
Per creare una prenotazione per un singolo progetto che utilizza le proprietà di una VM esistente, segui questi passaggi:
Specifica le proprietà direttamente
Per creare una prenotazione per un singolo progetto specificando direttamente le proprietà, seleziona una delle seguenti opzioni:
Console
gcloud
Per creare una prenotazione per un singolo progetto, utilizza il comando
gcloud compute reservations create
.Per creare una prenotazione per un singolo progetto specificando le proprietà direttamente e senza includere flag facoltativi, esegui questo comando:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci quanto segue:
Ad esempio, per creare una prenotazione nella zona
us-central1-a
per dieci VM che utilizzano ciascuna un tipo di macchina predefinita N2 con 4 vCPU, esegui questo comando:gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --vm-count=10 \ --zone=us-central1-a
Facoltativamente, puoi eseguire una o più delle seguenti operazioni:
Go
Java
Node.js
Python
Terraform
Per creare una prenotazione per un singolo progetto, utilizza la risorsa Terraform
google_compute_reservation
.Ad esempio, per creare una prenotazione per un singolo progetto per un tipo di macchina predefinita N2 con 2 vCPU, utilizza la seguente risorsa:
Per saperne di più su come utilizzare Terraform, consulta Utilizzo di Terraform con Google Cloud.
REST
Per creare una prenotazione per un singolo progetto, invia una richiesta
POST
al metodoreservations.insert
.Per creare una prenotazione per singolo progetto specificando le proprietà direttamente e senza includere campi facoltativi, invia la seguente richiesta
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sostituisci quanto segue:
Ad esempio, per creare una prenotazione nella zona
us-central1-a
per dieci VM che utilizzano ciascuna un tipo di macchina predefinita N2 con 4 vCPU, invia la seguente richiestaPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
Facoltativamente, puoi eseguire una o più delle seguenti operazioni:
Risoluzione dei problemi
Scopri come risolvere i problemi di creazione delle prenotazioni.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-11 UTC.
-