Questo documento spiega come creare prenotazioni condivise, condivisi tra più progetti e gestisci i progetti della tua organizzazione possono utilizzare le prenotazioni condivise.
Una prenotazione condivisa può essere utilizzata dal progetto che ospita la prenotazione (progetto proprietario) e dai progetti con cui è condivisa la prenotazione (consumer progetti). Utilizza le prenotazioni condivise se la tua organizzazione ha più progetti che richiedono istanze di macchine virtuali (VM) con le stesse proprietà riservate. Utilizzando le prenotazioni condivise, puoi migliorare l'utilizzo delle e ridurre il numero di prenotazioni che dovrai creare gestire. Per scoprire di più sulle prenotazioni, consulta Prenotazioni delle risorse di zona Compute Engine.
Per altri metodi di creazione delle prenotazioni, consulta invece le pagine seguenti:
Se nel progetto corrente sono presenti impegni di 1 o 3 anni, le risorse riservate ricevono automaticamente gli sconti per impegno di utilizzo (CUD) applicabili. Puoi anche creare e allegare una prenotazione a un impegno quando acquisti l'impegno. Per saperne di più, consulta Collegare le prenotazioni agli impegni.
Per creare una prenotazione che possa essere utilizzata da un solo progetto, consulta Crea una prenotazione per un singolo progetto.
Prima di iniziare
- Leggi lo requisiti e limitazioni per le prenotazioni.
- Leggi lo requisiti di quota limitazioni per le prenotazioni condivise.
- Assicurati che il progetto che utilizzi per creare prenotazioni condivise sia stato aggiunto alla lista consentita per il vincolo dei criteri dell'organizzazione Progetti del proprietario con prenotazioni condivise (
compute.sharedReservationsOwnerProjects
) da un amministratore dei criteri dell'organizzazione. Questa lista consentita è vuota da per impostazione predefinita, quindi non puoi creare prenotazioni condivise finché la tua organizzazione concede questa autorizzazione a uno o più progetti. Per ulteriori dettagli sulla visualizzazione e sulla modifica del vincolo dei criteri dell'organizzazione, consulta Consentire e limitare la creazione e la modifica delle prenotazioni condivisi dai progetti in questo documento. -
Se non l'hai ancora fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
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.
-
Amministratore Compute (
roles/compute.admin
) del progetto -
Per visualizzare e modificare i criteri dell'organizzazione:
Amministratore criteri organizzazione (
roles/orgpolicy.policyAdmin
) dell'organizzazione -
compute.reservations.create
sul progetto -
Per visualizzare i criteri dell'organizzazione:
orgpolicy.policy.get
dell'organizzazione -
Per modificare i criteri dell'organizzazione:
orgpolicy.policy.set
dell'organizzazione -
Per specificare un modello di istanza:
compute.instanceTemplates.useReadOnly
sul modello di istanza -
Chiedi al progetto del proprietario di creare la prenotazione condivisa, ma di non utilizzarla.
- Per distribuire le spese tra i progetti, è consigliabile che solo i progetti consumer consumino una prenotazione condivisa. Il progetto proprietario deve da utilizzare solo per creare la prenotazione condivisa.
- Quando crei una prenotazione condivisa, il progetto del proprietario deve avere e una quota sufficiente per prenotare le risorse totali. Poi, dopo il alla prenotazione, il progetto del proprietario deve avere una quota e le risorse prenotate che vuole utilizzare. Per ulteriori informazioni, vedi Requisiti di quota aggiuntivi per le prenotazioni condivise.
-
Riduci al minimo il numero di progetti nella tua organizzazione a cui consenti di
per creare prenotazioni condivise. Puoi controllare questo comportamento tramite il pulsante
Progetti con proprietario delle prenotazioni
Criterio dell'organizzazione (
compute.sharedReservationsOwnerProjects
) di blocco.- Puoi elencare solo le prenotazioni create da ciascun progetto. Ciò significa che le prenotazioni condivise siano elencate solo nel progetto del proprietario, impossibile elencare le prenotazioni condivise con ciascun progetto o tutte le prenotazioni in ogni organizzazione, perciò avere solo pochi di progetto semplifica il monitoraggio e la gestione prenotazioni.
- Limita la condivisione di una prenotazione condivisa a pochi progetti solo a e gestire più facilmente la quota delle risorse prenotate.
- Per ulteriori informazioni, vedi Consenti e limita i progetti da creazione e modifica delle prenotazioni condivise.
-
Riduci al minimo il numero di prenotazioni condivise separate con una VM identica
proprietà.
- Un'organizzazione può avere fino a 100 prenotazioni condivise per ogni combinazione di VM proprietà. Di conseguenza, riducendo al minimo il numero di prenotazioni condivise, con proprietà VM identiche che crei aiutano a mitigare limite.
- Avere meno prenotazioni condivise migliora la gestibilità.
-
Condividi le prenotazioni solo tra progetti con la stessa fatturazione Cloud
.
- Limita ogni prenotazione condivisa in modo che sia condivisa solo con i progetti consumer che hanno lo stesso account di fatturazione Cloud del progetto proprietario. In questo modo è più facile vedere se una prenotazione è stata fruita e come è stato fatturato.
- Se hai attivato la condivisione dei CUD e hai l'idoneità a ricevere CUD a livello di account di fatturazione Cloud, per massimizzare i CUD ricevuti per le prenotazioni consumate, limita le prenotazioni condivise all'account di fatturazione Cloud dell'impegno. In questo modo mantieni una fatturazione coerente tra i progetti che creano e utilizzano prenotazioni.
-
Per le richieste di prenotazione future, esamina attentamente il numero totale di VM richieste.
- Se stai creando una
richiesta di prenotazione futura, assicurati di richiedere un numero totale di VM che tenga conto di quanto segue:
- Tutte le VM riservate corrispondenti esistenti già alla data futura.
- Tutte le VM non prenotate corrispondenti che esisteranno già in futuro data.
- Eventuali prenotazioni on demand inutilizzate corrispondenti già esistenti alla data futura.
- L'aumento dell'utilizzo che vuoi prenotare in futuro data.
Ad esempio, supponiamo che tu abbia bisogno di altre 10 VM in futuro e avrai già a disposizione le seguenti risorse in futuro:
- 40 VM prenotate corrispondenti
- 50 VM corrispondenti non prenotate
o
- 40 VM prenotate corrispondenti
- 50 prenotazioni on demand non utilizzate corrispondenti
Poiché il tuo utilizzo esistente alla data futura ammonta già a 90 VM e prenotazioni corrispondenti e hai bisogno di altre dieci VM, devi specificare un conteggio totale di
100
nella richiesta di prenotazione futura.Per ulteriori informazioni, consulta Conteggio e provisioning delle risorse riservate.
- Se stai creando una
richiesta di prenotazione futura, assicurati di richiedere un numero totale di VM che tenga conto di quanto segue:
Scarica il criterio per la tua organizzazione come file denominato
policy.yaml
, utilizzando Comandogcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Sostituisci ORGANIZATION_ID con ID organizzazione della tua organizzazione.
Utilizza un editor di testo per aprire il file
policy.yaml
e visualizzare Vincolocompute.sharedReservationsOwnerProjects
. I progetti a cui è consentito creare e modificare prenotazioni condivise sottoallowedValues
:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
dove PROJECT_NUMBER_1, PROJECT_NUMBER_2 e PROJECT_NUMBER_3 sono i numeri di progetto degli unici progetti della tua organizzazione autorizzati a creare prenotazioni condivise.
(Facoltativo) Elimina il file
policy.yaml
.Se utilizzi un terminale Linux o macOS, usa il seguente comando:
rm policy.yaml
Se utilizzi un terminale Windows, usa il seguente comando:
del policy.yaml
Concedere a un singolo progetto l'autorizzazione alla creazione e alla modifica per le prenotazioni condivise, utilizza Comando
gcloud resource-manager org-policies allow
. Puoi ripetere questo comando per ogni progetto a cui vuoi concedere questa autorizzazione.gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \ --organization=ORGANIZATION_ID
Sostituisci quanto segue:
- PROJECT_NUMBER: il numero di progetto (non l'ID progetto) di un progetto della tua organizzazione per cui vuoi consentire la creazione e la modifica delle prenotazioni condivise.
- ORGANIZATION_ID: il ID organizzazione della tua organizzazione.
Per concedere o revocare le autorizzazioni per più progetti a creare e modificare prenotazioni condivise, sostituire l'organizzazione vincolo del criterio:
Per scaricare il criterio per la tua organizzazione come file denominato
policy.yaml
, utilizza la Comandogcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Sostituisci ORGANIZATION_ID con ID organizzazione della tua organizzazione.
Utilizza un editor di testo per modificare il file
policy.yaml
in modo che il vincolocompute.sharedReservationsOwnerProjects
elenchi tutti i progetti per i quali vuoi che sia consentito creare e modificare prenotazioni condivise sotto il relativoallowedValues
.- Per ogni progetto a cui vuoi concedere l'autorizzazione alla creazione.
e modificare le prenotazioni condivise, aggiungi il progetto in una nuova riga
allowedValues
. - Per ogni progetto per cui vuoi revocare l'autorizzazione a creare e modificare le prenotazioni condivise, elimina la riga relativa al progetto.
Al termine, assicurati che il file
policy.yaml
abbia un aspetto simile al seguente:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
dove PROJECT_NUMBER_1, PROJECT_NUMBER_2 e PROJECT_NUMBER_3 sono i numeri di progetto (non gli ID progetto) di tutti i progetti nella tua organizzazione che vuoi avere l'autorizzazione per creare e modificare prenotazioni condivise.
- Per ogni progetto a cui vuoi concedere l'autorizzazione alla creazione.
e modificare le prenotazioni condivise, aggiungi il progetto in una nuova riga
Salva il file
policy.yaml
e chiudi l'editor di testo.Per aggiornare il criterio per la tua organizzazione con le modifiche, utilizza il Comando
gcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy --organization=ORGANIZATION_ID policy.yaml
Sostituisci ORGANIZATION_ID con l'ID organizzazione della tua organizzazione.
(Facoltativo) Elimina il file
policy.yaml
.Se utilizzi un terminale Linux o macOS, usa il seguente comando:
rm policy.yaml
Se utilizzi un terminale Windows, usa il seguente comando:
del policy.yaml
Consigliato: Specifica un modello di istanza
Questa sezione spiega come utilizzare un modello di istanze per definire le proprietà di una prenotazione condivisa. Utilizzando un modello di istanza, puoi definiscono le proprietà di una prenotazione e le VM che possono utilizzare nello stesso luogo. Tuttavia, poiché i modelli sono specifici per progetto, non puoi utilizzare lo stesso modello per creare VM che possono utilizzare la prenotazione al di fuori del progetto che ha creato la prenotazione. Per i progetti con cui la prenotazione è condivisa, devi creare modelli simili in questi progetti o creare VM specificando direttamente le proprietà.
-
Questa sezione spiega come utilizzare una VM esistente per definire le proprietà una prenotazione. Utilizzando le proprietà di una VM esistente, puoi utilizzare la prenotazione creando VM con proprietà corrispondenti a quelle della VM di riferimento.
Specificare le proprietà direttamente
Questa sezione spiega come definire direttamente le proprietà di un elemento prenotazione. Questo metodo richiede di verificare manualmente che le proprietà delle VM e delle prenotazioni corrispondono esattamente: le proprietà non corrispondenti ne impediscono il consumo.
Crea una prenotazione che possa essere utilizzata solo dalle VM che specificamente come descritto nelle sezioni seguenti di questo documento. Poi, configura le VM in modo che utilizzino questa prenotazione specifica.
Configura VM che non possono utilizzare prenotazioni.
Un modello di istanza contiene impostazioni specifiche del progetto, quindi puoi e utilizzare un modello di istanza all'interno dello stesso progetto. Se crei una prenotazione condivisa specificando un modello di istanza, non puoi utilizzare lo stesso modello per creare VM che possono utilizzare la prenotazione al di fuori del progetto che ha creato la prenotazione.
Crea la prenotazione nella stessa regione e nella stessa zona delle risorse all'interno del modello di istanza. Qualsiasi regionale o risorse di zona specificato in un modello di istanza, come un tipo di macchina Volume Persistent Disk: limita l'utilizzo del modello alle località in cui si trovano queste risorse. Ad esempio, se il modello di istanza specifica un volume del disco permanente esistente nella zona
us-central1-a
, puoi creare la prenotazione solo nella stessa zona. Per verificare se un del modello esistente specifica le risorse che associano il modello a un una regione o una zona specifica, visualizza i dettagli del modello di istanza e cercare riferimenti a risorse regionali o di zona al suo interno.Nella console Google Cloud, vai alla pagina Prenotazioni.
Viene visualizzata la 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:
Per specificare una prenotazione condivisa, seleziona Condivisa.
Fai clic su
Aggiungi progetti e poi seleziona i progetti dell'organizzazione del progetto corrente con cui vuoi condividere la prenotazione. Puoi selezionare fino a 100 progetti per consumatori.
(Facoltativo) Per consentire l'utilizzo di una prenotazione di VM A2 o A3 da parte di job di addestramento personalizzato o 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 istanze VM corrispondenti di usare automaticamente questo seleziona Utilizza automaticamente la prenotazione, se non è già selezionato.
Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che scelgono come target specifico questa prenotazione per nome, seleziona Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM da prenotare.
Nella sezione Configurazione macchina, seleziona Utilizza modello di istanza e poi il modello di istanza che preferisci. Se selezioni un modello di istanza regionale, puoi prenota solo risorse all'interno della stessa regione del modello.
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 un'ora specifiche. 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 condivisa potrebbe richiedere fino a un minuto.
RESERVATION_NAME
: il nome della prenotazione per creare.PROJECT_ID
: l'ID del progetto in cui vuoi prenotare le risorse e in cui esiste il modello di istanza.CONSUMER_PROJECT_IDS
: un elenco separato da virgole di ID dei progetti che possono utilizzare questa prenotazione, ad esempioproject-1,project-2
. Puoi includere fino a 100 progetti per consumatori. Questi progetti devono trovarsi nella stessa organizzazione del progetto del proprietario. Non includere il progetto del proprietario. Per impostazione predefinita, è già consentito consumare la prenotazione.LOCATION
: la posizione 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 l'istanza in cui si trova il modello. Se specifichi un modello di istanza regionale, puoi prenotare solo VM nella stessa regione della regione del modello.
INSTANCE_TEMPLATE_NAME
: il nome di un elemento esistente modello di istanza. Se il modello di istanza specifica una macchina A3 devi includere il valore Flag--require-specific-reservation
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla. Per ulteriori informazioni, vedi Utilizza le VM da 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 scelgono specificamente come target questa prenotazione possono consumarlo, includere
--require-specific-reservation
flag.gcloud compute reservations create RESERVATION_NAME \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
per consentire l'utilizzo da parte di una prenotazione di VM A2 o A3 job di addestramento personalizzato job di previsione in Vertex AI, utilizza Comando
gcloud beta compute reservations create
con il flag--reservation-sharing-policy=ALLOW_ALL
.gcloud beta compute reservations create RESERVATION_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --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 un'ora specifiche, 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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 un'ora formattate come timestamp RFC 3339, che deve essere come segue:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come quattro cifre anno, mese a due cifre e giorno del mese a due cifre, separati per trattini (-
).HH:MM:SS
: un'ora formattata come ora a due cifre con un'ora in formato 24 ore, minuti a due cifre e secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset di Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un determinato periodo di tempo, utilizza il metodo 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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 tra giorni, ore, minuti o secondi. Ad esempio, specifica30m
per 30 minuti o1d2h3m4s
per 1 giorno, 2 ore, 3 minuti e 4 secondi.
Il campo
projectMap
.Il campo
shareType
impostato suSPECIFIC_PROJECTS
.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 per creare.CONSUMER_PROJECT_ID_1
eCONSUMER_PROJECT_ID_2
: il ID dei progetti che possono utilizzare questa prenotazione. Puoi includere fino a 100 segmenti di pubblico in modo programmatico a gestire i progetti. Questi progetti devono trovarsi nella stessa organizzazione del proprietario progetto. Non includere il progetto del proprietario. Per impostazione predefinita, è già consentito utilizzare la prenotazione.NUMBER_OF_VMS
: il numero di VM da prenotare.LOCATION
: la posizione 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 l'istanza in cui si trova il modello. Se specifichi un modello di istanza regionale, puoi prenotare solo VM nella stessa regione della regione del modello.
INSTANCE_TEMPLATE_NAME
: il nome di un modello istanza esistente. Se il modello di istanza specifica un tipo di macchina A3, 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 ulteriori informazioni, consulta Utilizzare le VM da una prenotazione specifica.Per specificare che solo le VM che hanno come target specifico questa prenotazione possono consumarla, includi il campo
specificReservationRequired
nel corpo della richiesta e impostalo sutrue
.Ad esempio, per creare una prenotazione specifica specificando un modello di istanza e condividerla con due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
per consentire l'utilizzo da parte di una prenotazione di VM A2 o A3 job di addestramento personalizzato job di previsione in Vertex AI, effettua una richiesta
POST
allabeta.reservations.insert
. Nel corpo della richiesta, includi il camposerviceShareType
e impostalo suALLOW_ALL
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Per abilitare Compute Engine elimini automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e un'ora specifiche, effettua una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAtTime
.Ad esempio, per creare una prenotazione specificando un modello di istanza, eliminarla automaticamente in una data e un'ora specifiche e condividerla con due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sostituisci
DELETE_AT_TIME
con una data e un'ora formattato come Timestamp RFC 3339, che indica deve essere:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come quattro cifre anno, mese a due cifre e giorno del mese a due cifre, separati per trattini (-
).HH:MM:SS
: un'ora nel formato a due cifre utilizzando un orario di 24 ore, minuti a 2 cifre e secondi a 2 cifre, separate dai due punti (:
).OFFSET
: il fuso orario formattato come offset di 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, specificaZ
.
Per eliminare la prenotazione dopo un determinato periodo di tempo, crea una
POST
richiesta alla Metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAfterDuration
.Ad esempio, per creare una prenotazione specificando un'istanza, modello, eliminare automaticamente la prenotazione dopo un determinato periodo di tempo e condividi la prenotazione con due progetti consumer, effettua una richiesta che segue:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sostituisci
DELETE_AFTER_DURATION
con una durata tra secondi. Ad esempio, specifica86400
per 86.400 secondi (1 giorno).
Crea e utilizza un modello di istanza come segue:
Crea un modello di istanza basato sulla VM di riferimento senza eseguire l'override delle proprietà della VM di riferimento.
Crea le VM utilizzando il modello appena creato eseguendo una o entrambe le operazioni seguenti:
Crea una VM con proprietà che corrispondono esattamente alla VM di riferimento come segue:
Nel progetto proprietario, crea una VM basata sulla VM di riferimento senza modificare le proprietà della VM che stai creando.
Nei progetti consumer, crea una VM, assicurandoti manualmente che e le proprietà della VM di riferimento corrispondono.
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:
Per specificare una prenotazione condivisa, seleziona Condivisa.
Fai clic su
Aggiungi progetti e poi selezionare i progetti dell'organizzazione del progetto attuale a cui con cui vuoi condividere la prenotazione. Puoi selezionare fino a 100 progetti consumer.
Nella sezione Usa con istanza VM, seleziona una delle seguenti opzioni opzioni:
Per consentire alle VM corrispondenti di consumare automaticamente questa prenotazione, seleziona Utilizza la prenotazione automaticamente, se non è già selezionata.
Per utilizzare le risorse di questa prenotazione solo quando crei VM corrispondenti che scelgono come target specifico questa prenotazione per nome, seleziona Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM che vuoi di riserva.
Nella sezione Configurazione macchina:
Seleziona Utilizza VM esistente.
Per VM esistente, seleziona la VM le cui proprietà vuoi utilizzare per creare la prenotazione.
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 un'ora specifiche. Eliminare automaticamente le prenotazioni può essere utile per evitare addebiti inutili 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.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:
Per specificare una prenotazione condivisa, seleziona Condivisa.
Fai clic su
Aggiungi progetti e poi seleziona i progetti dell'organizzazione del progetto corrente con cui vuoi condividere la prenotazione. Puoi selezionare fino a 100 progetti per consumatori.
(Facoltativo) Per consentire l'utilizzo di una prenotazione di VM A2 o A3 da parte di job di addestramento personalizzato o 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 consumare automaticamente questa prenotazione, Seleziona Utilizza prenotazione automaticamente (impostazione predefinita).
Per utilizzare le risorse di questa prenotazione solo durante la creazione delle corrispondenze VM che scelgono specificamente come target questa prenotazione per nome, seleziona Seleziona una prenotazione specifica.
In Numero di istanze VM, inserisci il numero di VM che vuoi di riserva.
Nella sezione Configurazione macchina, seleziona Specifica il tipo di macchina e poi specifica quanto segue:
Per Famiglia di macchine, Serie e Tipo di macchina, seleziona un'opzione famiglia, serie e tipo di macchina.
(Facoltativo) Per specificare una piattaforma CPU minima o collegare GPU alle VM N1:
Per espandere la sezione Piattaforma CPU e GPU, fai clic sul pulsante Espansione
freccia.(Facoltativo) Per specificare una piattaforma CPU minima, per Piattaforma CPU, seleziona un'opzione.
(Facoltativo) Per collegare le GPU alle VM N1, fai clic su
Aggiungi GPU. Quindi, per Tipo di GPU e Numero di GPU, seleziona il tipo e di GPU da collegare a ogni VM N1.
(Facoltativo) Per aggiungere dischi SSD locali:
In Numero di dischi, seleziona il numero di dischi SSD locali per ogni VM.
In Tipo di interfaccia, seleziona l'interfaccia per l'SSD locale i dischi permanenti.
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 un'ora specifiche. 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.
Si apre la pagina Prenotazioni. La creazione della prenotazione condivisa potrebbe richiedere fino a un minuto.
RESERVATION_NAME
: il nome della prenotazione per creare.MACHINE_TYPE
: un tipo di macchina da utilizzare per ogni VM. Se specifichi un tipo di macchina A3, devi includere il flag--require-specific-reservation
. Ciò indica che solo le VM che hanno come target specifico la prenotazione possono utilizzarla. Per ulteriori informazioni, consulta la pagina Utilizzare le VM da una prenotazione specifica.CONSUMER_PROJECT_IDS
: un elenco separato da virgole di ID dei progetti che possono utilizzare questa prenotazione, ad esempioproject-1,project-2
. Puoi includere fino a 100 progetti consumer. Questi progetti devono trovarsi nella stessa organizzazione del progetto proprietario. Non includere il progetto del proprietario. Per impostazione predefinita, è già consentito la prenotazione.NUMBER_OF_VMS
: il numero di VM da prenotare.ZONE
: la zona in cui prenotare le risorse.Per collegare le GPU alle VM N1 prenotate, includi
--accelerator
flag.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 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 la prenotazione non va a buon fine.
Per aggiungere uno o più dischi SSD locali a ogni VM riservata, includi uno o più flag
--local-ssd
. Puoi specificare fino a 24 dischi SSD locali. Ogni disco SSD locale ha una dimensione di 375 GB.Ad esempio, per specificare due dischi SSD locali durante la creazione di un una prenotazione, includi due flag
--local-ssd
come segue:gcloud compute reservations create RESERVATION_NAME \ --local-ssd=size=375,interface=INTERFACE_1 \ --local-ssd=size=375,interface=INTERFACE_2 \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
INTERFACE_1
eINTERFACE_2
con il tipo di interfaccia che vuoi che ogni disco SSD locale utilizzi. Specifica uno dei seguenti valori:Interfacce dei dischi NVME:
nvme
Interfacce dei dischi SCSI:
scsi
Assicurati che il tipo di macchina specificato per le VM prenotate supporta le interfacce del disco scelte. In caso contrario, la creazione della prenotazione non riesce. Per ulteriori informazioni, scopri come scegli un'interfaccia del disco.
Per fare in modo che le VM riservate utilizzino una specifica piattaforma CPU minima instead of the zone's default CPU platform, include the
--min-cpu-platform
flag.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 scelgono specificamente come target questa prenotazione possono consumarlo, includere
--require-specific-reservation
flag.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per consentire l'utilizzo di una prenotazione di VM A2 o A3 da parte di job di addestramento personalizzato o job di previsione in Vertex AI, utilizza il comando
gcloud beta compute reservations create
con il flag--reservation-sharing-policy=ALLOW_ALL
.gcloud beta compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Per abilitare Compute Engine elimini automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e un'ora specifiche, 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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AT_TIME
con una data e un'ora formattato come Timestamp RFC 3339, che indica deve essere:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come quattro cifre anno, mese a due cifre e giorno del mese a due cifre, separati per trattini (-
).HH:MM:SS
: un'ora formattata come ora a due cifre con un'ora in formato 24 ore, minuti a due cifre e secondi a due cifre, separati da due punti (:
).OFFSET
: il fuso orario formattato come offset di Tempo Universale Coordinato (UTC). Ad esempio, per utilizzare il fuso orario PST (Pacific Standard Time), specifica-08:00
. In alternativa, per non utilizzare alcun offset, specificaZ
.
Per eliminare la prenotazione dopo un determinato periodo di tempo, utilizza il metodo 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 \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci
DELETE_AFTER_DURATION
con una durata tra giorni, ore, minuti o secondi. Ad esempio, specifica30m
per 30 minuti o1d2h3m4s
per 1 giorno, 2 ore, 3 minuti e 4 secondi.
- Imposta il campo
share_type
suSPECIFIC_PROJECTS
. - Nel blocco
project_map
, specifica ID progetto dei progetti con cui vuoi condividere questa prenotazione. Il campo
projectMap
.Il campo
shareType
è stato impostato suSPECIFIC_PROJECTS
.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 per creare.CONSUMER_PROJECT_ID_1
eCONSUMER_PROJECT_ID_2
: gli ID dei progetti che possono utilizzare questa prenotazione. Puoi includere fino a 100 progetti consumer. Questi progetti devono trovarsi nella stessa organizzazione del proprietario progetto. Non includere il progetto del proprietario. Per impostazione predefinita, autorizzati a utilizzare la prenotazione.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, devi includere il campospecificReservationRequired
nel corpo della richiesta e impostarlo sutrue
. Ciò indica che Le VM che hanno come target specifico la prenotazione possono consumarla.Per collegare le GPU alle VM N1 riservate, includi il campo
guestAccelerators
nel corpo della richiesta.Ad esempio, per creare una prenotazione condivisa con due progetti consumer, e collegare le GPU a qualsiasi VM N1 prenotata, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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. Ensure che il modello GPU scelto è disponibile nella zona in cui vuoi prenotare le risorse. In caso contrario, la creazione la prenotazione non va a buon fine.
Per aggiungere uno o più dischi SSD locali a ogni VM prenotata, includi il campo
localSsds
nel corpo della richiesta. Puoi specificare fino a 24 dischi SSD locali. Ogni disco SSD locale 375 GB.Ad esempio, per creare una prenotazione condivisa specificando due dischi SSD locali e due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_1" }, { "diskSizeGb": "375", "interface": "INTERFACE_2" } ], "machineType": "MACHINE_TYPE" } } }
Sostituisci
INTERFACE_1
eINTERFACE_2
con il tipo di interfaccia che vuoi che ogni disco SSD locale utilizzi. Specifica uno dei seguenti valori:Interfacce dei dischi NVME:
NVME
Interfacce disco SCSI:
SCSI
Assicurati che il tipo di macchina specificato per le VM prenotate supporta le interfacce del disco scelte. In caso contrario, la creazione della prenotazione non andrà a buon fine. Per ulteriori informazioni, consulta la sezione su come scegliere un'interfaccia del disco.
Per fare in modo che le VM prenotate utilizzino una specifica piattaforma CPU minima anziché la piattaforma CPU predefinita della zona, includi
minCpuPlatform
nel corpo della richiesta.Ad esempio, per creare una prenotazione condivisa specificando una piattaforma CPU minima e due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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 che solo le VM scegliere come target questa prenotazione può utilizzarlo, includi il campo
specificReservationRequired
nella corpo della richiesta e impostare il campo sutrue
.Ad esempio, per creare una prenotazione specifica e condividerla con due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Per consentire l'utilizzo di una prenotazione di VM A2 o A3 da parte di job di addestramento personalizzato o job di previsione in Vertex AI, invia una richiesta
POST
al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il camposerviceShareType
e impostalo suALLOW_ALL
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Per abilitare Compute Engine elimini automaticamente la prenotazione, seleziona uno dei seguenti metodi:
Per eliminare la prenotazione in una data e un'ora specifiche, effettua una
POST
richiesta alla Metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAtTime
.Ad esempio, per creare una prenotazione specificando una data e un'ora per l'eliminazione di una prenotazione e condividerla con due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sostituisci
DELETE_AT_TIME
con una data e un'ora formattato come Timestamp RFC 3339, che indica deve essere:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come quattro cifre anno, mese a due cifre e giorno del mese a due cifre, separati per trattini (-
).HH:MM:SS
: un'ora nel formato a due cifre utilizzando un orario di 24 ore, minuti a 2 cifre e secondi a 2 cifre, separate dai due punti (:
).OFFSET
: il fuso orario formattato come offset di 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, specificaZ
.
Per eliminare la prenotazione dopo una durata specifica, invia una
POST
richiesta al metodobeta.reservations.insert
. Nel corpo della richiesta, includi il campodeleteAfterDuration
.Ad esempio, per creare una prenotazione che Compute Engine elimina dopo una durata specifica e condividerla con due progetti consumer, effettua una richiesta come segue:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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 il consumo delle prenotazioni.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare prenotazioni condivise, chiedi all'amministratore di concederti i seguenti ruoli IAM:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per creare prenotazioni condivise. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare prenotazioni condivise sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Best practice
Quando crei prenotazioni condivise, si consiglia di seguire queste best practice. Se li segui, puoi contribuire a ottimizzare la gestione e l'utilizzo delle prenotazioni condivise nella tua organizzazione.
Consenti e limita la creazione e la modifica di prenotazioni condivise ai progetti
Per impostazione predefinita, nessun progetto è autorizzato a creare o modificare prenotazioni condivise in un'organizzazione. Aggiungi progetti al vincolo dei criteri dell'organizzazione Progetti del proprietario con prenotazioni condivise (
compute.sharedReservationsOwnerProjects
) per consentire loro di creare e modificare le prenotazioni condivise. Per ulteriori informazioni sui vincoli dei criteri dell'organizzazione, consulta la pagina Introduzione al servizio dei criteri dell'organizzazione.Per visualizzare e modificare il vincolo dei criteri dell'organizzazione Progetti del proprietario con prenotazioni condivise (
compute.sharedReservationsOwnerProjects
):Visualizza il vincolo del criterio dell'organizzazione delle prenotazioni condivise
Per vedere quali progetti sono autorizzati a creare e modificare le prenotazioni condivise, utilizza la console Google Cloud o l'interfaccia a riga di comando gcloud.
Console
Segui i passaggi per visualizzare i criteri dell'organizzazione utilizzando il vincolo Progetti dei proprietari delle prenotazioni condivise.
gcloud
Per vedere quali progetti è
compute.sharedReservationsOwnerProjects
consente di creare e modificare prenotazioni condivise:Modificare il vincolo dei criteri dell'organizzazione per le prenotazioni condivise
Per modificare i progetti autorizzati a creare e modificare le prenotazioni condivise, utilizza la console Google Cloud o gcloud CLI.
Console
Segui i passaggi per Personalizzazione dei criteri per i vincoli degli elenchi utilizzando il vincolo Progetti del proprietario delle prenotazioni condivise.
gcloud
Per modificare i progetti
compute.sharedReservationsOwnerProjects
consente di creare e modificare prenotazioni condivise, utilizza uno dei seguenti metodi:Potrebbe essere necessario attendere alcuni minuti prima che la modifica abbia effetto.
Crea una prenotazione condivisa
Questa sezione spiega come creare prenotazioni condivise. Una prenotazione condivisa può essere modificata solo dal progetto proprietario, ma le risorse di una prenotazione condivisa possono essere utilizzate dal progetto proprietario o da qualsiasi progetto consumer.
Per utilizzare una prenotazione, una VM deve avere proprietà che corrispondono esattamente la 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à che corrispondono. Se vuoi controllare la prenotazione di Google Cloud, esegui una o più delle seguenti operazioni:
Specifica un modello di istanza
Prima di creare una prenotazione specificando un modello di istanza, assicurati che le seguenti:
Per creare una prenotazione condivisa specificando un modello di istanza, seleziona una delle seguenti opzioni:
Console
gcloud
Per creare una prenotazione condivisa, utilizza il Comando
gcloud compute reservations create
con i flag--share-setting=projects
e--share-with
.Per creare una prenotazione condivisa specificando un modello di istanza senza includere flag facoltativi, esegui questo comando:
gcloud compute reservations create RESERVATION_NAME \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 specificando un modello di istanza globale nella zona
us-central1-a
, condividi la prenotazione con i progettiproject-1
eproject-2
e prenota dieci VM che utilizzano ciascuna un tipo di macchina N2 predefinito con 4 vCPU, esegui il seguente comando:gcloud compute reservations create my-reservation \ --share-setting=projects \ --share-with=project-1,project-2 \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
Se vuoi, puoi eseguire una o più delle seguenti operazioni:
REST
Per creare una prenotazione condivisa, invia una richiesta
POST
al metodoreservations.insert
. Nel corpo della richiesta, includi quanto segue:Ad esempio, per creare una prenotazione condivisa specificando un modello di istanza senza includere campi facoltativi e condividerla con due progetti consumer, invia la seguente richiesta
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "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 e condividerla con i progettiproject-1
eproject-2
, effettua la seguente richiestaPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
Se vuoi, puoi eseguire una o più delle seguenti operazioni:
Specifica una VM esistente
Puoi creare una prenotazione condivisa solo in base a una VM esistente nello stesso progetto e nella stessa zona della VM.
Dopo aver creato la prenotazione, puoi utilizzarla creando VM con che corrispondono alla VM di riferimento. Puoi farlo in uno dei seguenti modi seguenti:
Per creare una prenotazione condivisa che utilizza le proprietà di una VM esistente: le seguenti:
Specificare le proprietà direttamente
Per creare una prenotazione condivisa specificando direttamente le proprietà, seleziona una delle seguenti opzioni:
Console
gcloud
Per creare una prenotazione condivisa, utilizza il Comando
gcloud compute reservations create
con i flag--share-setting=projects
e--share-with
.Per creare una prenotazione condivisa specificando le proprietà direttamente e senza inclusi eventuali flag facoltativi, esegui questo comando:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --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 usano ciascuno un tipo di macchina predefinita N2 con 4 vCPU e condividono con i progettiproject-1
eproject-2
, esegui questo comando: :gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --share-setting=projects \ --share-with=project-1,project-2 \ --vm-count=10 \ --zone=us-central1-a
Facoltativamente, puoi eseguire una o più delle seguenti operazioni:
Terraform
Per creare una prenotazione, utilizza
google_compute_reservation
Risorsa Terraform. Per specificare una prenotazione condivisa, definisci il bloccoshare_settings
:Per scoprire di più su come utilizzare Terraform, consulta Utilizzo di Terraform con Google Cloud.
REST
Per creare una prenotazione condivisa, invia una richiesta
POST
a Metodoreservations.insert
. Nel corpo della richiesta, includi quanto segue:Ad esempio, per creare una prenotazione condivisa senza includere eventuali elementi facoltativi e condividi la prenotazione con due progetti consumer, seguente richiesta di
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sostituisci quanto segue:
Ad esempio, per creare una prenotazione specificando un modello di istanza globale nella zona
us-central1-a
, condividi la prenotazione con i progettiproject-1
eproject-2
e prenota dieci VM che utilizzano ciascuna un tipo di macchina N2 predefinito con 4 vCPU, effettua la seguente richiestaPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "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 relativi alla 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 2024-10-14 UTC.
-