Questa pagina descrive come creare e gestire i modelli di istanza. I modelli di istanza ti consentono di specificare il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà della VM che vuoi utilizzare per la creazione di istanze di macchine virtuali (VM).
Puoi utilizzare i modelli di istanze per:
- Crea singole VM.
- Crea le VM in un gruppo di istanze gestite.
- Crea prenotazioni per le VM.
- Crea futuro per le VM.
Prima di iniziare
- Leggi quando e perché creare modelli di istanza deterministici.
- Scopri di più sui modelli di istanze regionali e globali.
-
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.
- 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.
- 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.
- 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.
- 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.
- Il VPC condiviso su interfacce diverse da
nic0
per i modelli di istanza è supportato in gcloud CLI e REST, ma non in nella console Google Cloud. - Non puoi aggiornare un modello di istanza esistente o modificarlo dopo la sua creazione. Se un modello di istanza non è aggiornato, devi apportare modifiche alla configurazione, creare un nuovo modello di istanza.
- Se vuoi specificare una famiglia di immagini in un modello di istanza, non puoi utilizzare la console Google Cloud. Puoi utilizzare Google Cloud CLI con REST.
- Se vuoi specificare un disco rigido permanente regionale in un tempietto di istanze, non puoi utilizzare la console Google Cloud. In alternativa, puoi utilizzare Google Cloud CLI o REST.
- Puoi utilizzare un modello di istanza per creare VM con un disco di avvio bilanciato Hyperdisk che si trova in un pool di archiviazione, se il pool di archiviazione esiste nella stessa zona in cui si trova in cui è stato creato. Non puoi utilizzare i modelli di istanza globali per creare VM con dischi non di avvio che si trovano in un pool di archiviazione.
Nella console Google Cloud, vai alla pagina Modelli di istanza.
I passaggi rimanenti vengono visualizzati nella console Google Cloud.
- Fai clic su
Crea modello istanza . - Seleziona la Località come descritto di seguito:
- Se vuoi utilizzare il modello di istanza in più regioni, scegli Globale.
- Se vuoi ridurre la dipendenza tra regioni, scegli Regionale.
- Se hai scelto Regionale, seleziona la Regione in cui creare il modello di istanza.
Per i campi seguenti, accetta i valori predefiniti o modificali in base alle necessità. I valori predefiniti cambiano in base alla famiglia di macchine selezionata.
- Seleziona un
tipo di macchina . - Per aggiornare il tipo o l'immagine del disco di avvio, fai clic su Cambia nella sezione
Disco di avvio . - Per aggiornare l'interfaccia di rete o le impostazioni relative agli indirizzi IP, fai clic su
Opzioni avanzate , quindi su Networking e infine sull'interfaccia di rete da modificare.
- Seleziona un
(Facoltativo) Se hai scelto un'immagine che supporta Shielded VM, modifica il campo Impostazioni della VM schermata:
- Fai clic su Opzioni avanzate. e fai clic sulla scheda Sicurezza.
- Se vuoi disattivare Avvio protetto, cancella i dati Casella di controllo Attiva Avvio protetto. Avvio protetto aiuta a proteggere di istanze VM contro malware a livello di avvio e di kernel rootkit. Per ulteriori informazioni, vedi Avvio protetto.
Se vuoi disabilitare il Virtual Trusted Platform Module (vTPM), Deseleziona la casella di controllo Attiva vTPM. Il vTPM abilita l'avvio con misurazioni, che convalida l'integrità in fase di pre-avvio e avvio della VM. Per ulteriori informazioni, consulta Virtual Trusted Platform Module (vTPM).
Se vuoi disabilitare il monitoraggio dell'integrità, deseleziona la casella Casella di controllo Attiva il monitoraggio dell'integrità. Il monitoraggio dell'integrità consente di monitorare l'integrità di avvio delle istanze VM schermate utilizzando Cloud Monitoring. Per ulteriori informazioni, vedi Monitoraggio dell'integrità.
(Facoltativo) In Opzioni avanzate, fai clic sulle schede per personalizzare ulteriormente il modello. Ad esempio, puoi aggiungere fino a 15 dischi secondari non di avvio.
(Facoltativo) Fai clic su REST equivalente per visualizzare il corpo della richiesta REST, include Rappresentazione JSON del modello di istanza.
Fai clic su Crea per creare il modello.
- Tipo di macchina: il tipo di macchina, ad esempio
n1-standard-1
- Immagine: l'ultima immagine Debian
- Disco di avvio: un nuovo disco di avvio standard denominato in base alla VM
- Rete: la rete VPC predefinita
- Indirizzo IP: un indirizzo IP esterno temporaneo
INSTANCE_TEMPLATE_NAME
: il nome del modelloREGION
: la regione in cui vuoi creare il modello di istanza regionaleIMAGE_FAMILY
: una famiglia di immagini da utilizzare come disco non di avvioPer saperne di più sulle famiglie di immagini, consulta best practice per l'utilizzo di famiglie di immagini su Compute Engine.
In alternativa, puoi utilizzare il flag
--image=IMAGE
per specificare una versione specifica di un'immagine.Per i dischi vuoti, non specificare la proprietà
image-family
oimage
.DISK_IMAGE_PROJECT
: il progetto dell'immagine che contiene l'immaginePer i dischi vuoti, non specificare la proprietà
image-project
. Per maggiori informazioni informazioni sulle immagini pubbliche, consulta Immagini pubbliche.SIZE_GB_DISK1
eSIZE_GB_DISK2
: le dimensioni di ciascun disco secondarioDISK_NAME
: facoltativo: il nome del disco mostrato a il sistema operativo guest dopo la creazione della VM.DISK_TYPE
: facoltativo, il tipo di disco da creare. Se non specificato, il valore predefinito èpd-standard
opd-balanced
, a seconda del tipo di macchina.ZONE
eREMOTE_ZONE
: la zona in cui creare il disco del disco permanente regionale e la zona in cui riprodurlo.Per i dischi a livello di zona, non includere la proprietà
replica-zones
.--no-shielded-secure-boot
: disattiva l'avvio protettoAvvio protetto aiuta a proteggere le istanze VM da livello di avvio rootkit e malware a livello di kernel. Per ulteriori informazioni, vedi Avvio protetto.
--no-shielded-vtpm
: disattiva il modulo Virtual Trusted Platform (piattaforma attendibile virtuale) (vTPM)Il vTPM abilita l'avvio con misurazioni, che convalida l'integrità della VM in fase di pre-avvio e avvio. Per ulteriori informazioni, vedi Virtual Trusted Platform Module (vTPM).
--no-shielded-integrity-monitoring
: disattiva il monitoraggio dell'integritàIl monitoraggio dell'integrità consente di controllare l'integrità in fase di avvio delle istanze VM protette mediante Cloud Monitoring. Per ulteriori informazioni, consulta Monitoraggio dell'integrità.
- Crea dischi aggiuntivi con un'immagine pubblica o personalizzata.
- Per aggiungere un disco vuoto, definisci la voce
initializeParams
senza valoresourceImage
. - Per creare dischi permanenti a livello di regione, definisci la voce
initializeParams
con la proprietàreplicaZones
. PROJECT_ID
: il tuo ID progettoREGION
: la regione in cui vuoi creare il modello di istanza regionaleINSTANCE_TEMPLATE_NAME
: il nome dell'istanza modelloZONE
: la zona in cui si trovano le VMMACHINE_TYPE
: il tipo di macchina delle VM-
IMAGE_PROJECT
: il progetto immagine che contiene l'immaginePer ulteriori informazioni sulle immagini pubbliche, vedi Immagini pubbliche.
-
IMAGE
oIMAGE_FAMILY
: specifica una delle seguenti opzioni:-
IMAGE
: una versione specifica dell'immagineAd esempio:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
-
IMAGE_FAMILY
: una famiglia di immaginiIn questo modo viene creata la VM dall'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichi
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini Debian 10.Per ulteriori informazioni sulle famiglie di immagini, consulta la sezione quando si utilizzano famiglie di immagini su Compute Engine.
-
DISK_NAME
: facoltativo, il nome del disco visualizzato per il sistema operativo guest dopo la creazione della VM.PROJECT_NAME
: il progetto associato alla VMREMOTE_ZONE
: la zona in cui deve essere replicato il disco regionaleSpecifica
initializeParams
per creare dischi di avvio permanenti per ogni istanza. Puoi aggiungere fino a 15 dischi secondari non di avvio utilizzandoinitializeParams
proprietà per ogni disco aggiuntivo. Puoi creare dischi utilizzando immagini pubbliche o personalizzate (o famiglie di immagini) insourceImage
, come mostrato nell'esempio precedente. Per aggiungere elementi vuoti dischi, non specificare unsourceImage
.Specifica
source
per collegare un disco di avvio permanente esistente. Se colleghi un disco di avvio esistente, puoi creare una sola istanza dal modello.enableSecureBoot
: attiva o disattiva l'avvio protettoAvvio protetto aiuta a proteggere le istanze VM da livello di avvio rootkit e malware a livello di kernel. Per ulteriori informazioni, vedi Avvio protetto.
enableVtpm
: attiva o disattiva il modulo Virtual Trusted Platform Module. (vTPM)Il vTPM abilita l'avvio con misurazioni, che convalida l'integrità della VM in fase di pre-avvio e avvio. Per ulteriori informazioni, consulta Virtual Trusted Platform Module (vTPM).
enableIntegrityMonitoring
: attiva o disattiva l'integrità monitoraggioIl monitoraggio dell'integrità consente di controllare e verificare l'integrità in fase di avvio runtime delle istanze Shielded VM mediante i report di Cloud Monitoring. Per ulteriori informazioni, vedi Monitoraggio dell'integrità.
INSTANCE_TEMPLATE_NAME
è il nome del modello per creare.SOURCE_INSTANCE
è il nome dell'istanza da utilizzare come modello per il nuovo modello.SOURCE_INSTANCE_ZONE
è la zona che contiene l'istanza di origine.REGION
è la regione in cui vuoi creare il modello di istanza regionale.SOURCE_DISK
è il nome di un disco di un'istanza di origine da sostituire all'interno del modello.INSTANTIATE_OPTIONS
specifica se includere il disco e quale immagine utilizzare. I valori validi dipendono dal tipo di disco:source-image
osource-image-family
(valido solo per i dischi di avvio e altri dischi di lettura/scrittura permanenti). Specifica questa opzione se vuoi utilizzare la stessa immagine di origine o famiglia di immagini di origine utilizzata per creare nell'istanza VM di origine.custom-image
(valido solo per i dischi di avvio e altri dischi di lettura/scrittura permanenti). Se vuoi conservare applicazioni e impostazioni dall'origine VM nel modello di istanza, puoi creare un'immagine personalizzata e specificarlo quando crei il modello. Se specificato, fornisci il percorso o l'URL per l'immagine personalizzata. come mostrato nell'esempio seguente. In alternativa, puoi specificare una famiglia di immagini nel seguente formato:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(valido solo per i dischi di sola lettura).blank
(valido solo per dischi permanenti non di avvio e SSD locali). Se specificato, quando il modello viene utilizzato per creare una nuova istanza, il disco viene creato senza formattazione. Devi formattare e montare il disco in uno script di avvio prima di poterlo utilizzare in una configurazione scalabile.do-not-include
(valido solo per i dischi permanenti non di avvio e dischi di sola lettura).
AUTO_DELETE
specifica se il disco viene eliminato automaticamente quando viene eliminata. I valori validi sono:false
,no
,true
eyes
.PROJECT_ID
: il tuo ID progettoINSTANCE_TEMPLATE_NAME
: il nome del nuovo modelloSOURCE_INSTANCE_ZONE
: la zona dell'istanza di origineSOURCE_INSTANCE
: il nome dell'istanza di origine da utilizzare come modello per questo modello di istanzaSOURCE_DISK
: il nome del disco di un'istanza di origine a cui vuoi eseguire l'override all'interno del modelloINSTANTIATE_OPTIONS
: specifica se includere il disco e quale immagine utilizzareI valori validi dipendono dal tipo di disco:
source-image
osource-image-family
(valido solo per avvio e altri dischi permanenti di lettura e scrittura).custom-image
(valido solo per l'avvio e per altre funzionalità di lettura/scrittura permanenti) i dischi permanenti). Se vuoi conservare le applicazioni e le impostazioni delle VM di origine nel modello di istanza, puoi creare un'immagine personalizzata e specificarla al momento della creazione del modello. Se specificato, fornisci il percorso o l'URL per l'immagine personalizzata. come mostrato nell'esempio seguente. In alternativa, puoi specificare una famiglia di immagini utilizzando il seguente formato:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(valido solo per i dischi di sola lettura).blank
(valido solo per i dischi permanenti non di avvio e le unità SSD locali). Se specificato, quando il modello viene utilizzato per creare una nuova istanza, il disco viene creato senza formattazione. Devi formattare e montare il disco in uno script di avvio prima di poterlo utilizzare in una configurazione scalabile.do-not-include
(valido solo per i dischi permanenti non di avvio e dischi di sola lettura).
- [Valore predefinito] Utilizza la stessa immagine di origine o la stessa famiglia di immagini utilizzata per creare il disco di avvio nell'istanza di origine.
- Utilizza l'URL di qualsiasi immagine (personalizzata o pubblica) come descritto nei dell'esempio precedente o specificare una famiglia di immagini utilizzando formato:
- [Predefinito] Utilizza la stessa immagine di origine/famiglia di immagini di origine utilizzato per creare il disco nell'istanza di origine. Nota: se il disco dell'istanza di origine non ha una proprietà immagine di origine/famiglia di immagini di origine, viene incluso nel modello come disco vuoto.
- Utilizza l'URL di qualsiasi immagine (personalizzata o pubblica) come descritto nell'esempio precedente o specifica una famiglia di immagini utilizzando il seguente formato:
projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME
- Utilizza invece un disco vuoto nel modello. Quando il modello è utilizzato per creare una nuova istanza, il disco viene creato senza formattazione. Devi formattare e montare il disco in uno script di avvio prima di poterlo utilizzare in una configurazione scalabile.
- Non includere il disco.
- [Predefinito] Includi il disco in modalità di sola lettura.
- Non includere il disco.
- [Valore predefinito] Includi un'unità SSD locale vuota. Quando il modello è utilizzato per creare una nuova istanza, questo disco viene creato senza formattazione. Devi del formato montare il disco in uno script di avvio prima di poterlo utilizzare in una e scalabile.
Vai alla pagina Modelli di istanza.
Fai clic sul modello di istanza da copiare e aggiornare.
Fai clic su Crea simile.
Aggiorna la configurazione nel nuovo modello.
Fai clic su Crea.
Un tipo di macchina che supporta il tipo di GPU che preferisci. Se vuoi creare un modello di istanza regionale, il tipo di GPU specificato nel modello deve essere disponibile in almeno una zona della regione.
un criterio di manutenzione che arresta le VM durante ospitare eventi di manutenzione.
Nella console Google Cloud, vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Nel campo Nome, inserisci un nome per il modello di istanza.
Nella sezione Località, seleziona una delle seguenti opzioni:
Per creare un modello di istanza globale, seleziona Globale (valore predefinito).
Per creare un modello di istanza regionale, seleziona A livello di regione e quindi seleziona la regione in cui vuoi creare l'istanza modello.
Nella sezione Configurazione macchina:
Fai clic sulla scheda GPU.
Nel menu Tipo di GPU, seleziona il tipo di GPU.
Nel menu Numero di GPU, seleziona il numero di GPU.
(Facoltativo) Se il modello GPU supporta Workstation virtuali (vWS) NVIDIA RTX per carichi di lavoro di grafica e prevedi di eseguire carichi di lavoro ad alta intensità di grafica, seleziona Abilita workstation virtuale (NVIDIA GRID).
Nella sezione Tipo di macchina, seleziona un tipo di macchina.
(Facoltativo) Per modificare il tipo o l'immagine del disco di avvio predefinito, fai clic su Cambia nella sezione Disco di avvio. Poi, segui le istruzioni per cambiare il disco di avvio.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine, ad esempiodebian-cloud
. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE_FAMILY
oIMAGE
: specificane uno dei seguenti:IMAGE_FAMILY
: un famiglia di immagini. Specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichidebian-10
, l'ultima versione della famiglia di immagini Debian 10 è in uso. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.IMAGE
: una versione specifica dell'immagine del sistema operativo; della ad esempiodebian-10-buster-v20200309
. Se scegli di specificare specifica dell'immagine del sistema operativo, devi sostituire Bandiera--image-family
con la bandiera--image
.
MACHINE_TYPE
: il tipo di macchina delle VM. Se specifica un tipo di macchina N1, quindi includi--accelerator
flag per specificare il numero e il tipo di GPU da collegare alle VM.Un tipo di macchina predefinita N1 con 2 vCPU.
Una GPU NVIDIA T4 da collegare alle VM.
Debian come progetto dell'immagine.
Debian 10 come famiglia di immagini.
PROJECT_ID
: l'ID del progetto in cui vuoi creare il modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine, ad esempiodebian-cloud
. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE
oIMAGE_FAMILY
: specificane uno dei seguenti:IMAGE
: una versione specifica dell'immagine del sistema operativo; della ad esempiodebian-10-buster-v20200309
.IMAGE_FAMILY
: un famiglia di immagini. Specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichifamily/debian-10
, la versione più recente della famiglia di immagini Debian 10 . Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
MACHINE_TYPE
: il tipo di macchina delle VM. Se specifichi un tipo di macchina N1, includi il campoguestAccelerators
per specificare il numero e il tipo di GPU da collegare alle VM.Un tipo di macchina predefinita N1 con 2 vCPU.
Una GPU NVIDIA T4 da collegare alle VM.
Debian come progetto dell'immagine.
Debian 10 come famiglia di immagini.
Vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Nella sezione Contenitore, fai clic su Esegui il deployment del container.
Nella finestra di dialogo Configura contenitore, specifica l'immagine container da utilizzare.
- Puoi specificare un'immagine da Container Registry o Artifact Registry.
Ad esempio:
gcr.io/cloud-marketplace/google/nginx1:TAG
, dove TAG è il tag definito per una versione specifica dell'immagine del contenitore NGINX disponibile su Google Cloud Marketplace.us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
seleziona un'immaginehello-app
di esempio archiviata in Artifact Registry.
- Se utilizzi un'immagine container di Docker Hub, specifica sempre
il nome completo dell'immagine Docker. Ad esempio, specifica il seguente nome dell'immagine per eseguire il deployment di un'immagine del container Apache:
docker.io/httpd:2.4
.
- Puoi specificare un'immagine da Container Registry o Artifact Registry.
Ad esempio:
Facoltativamente, fai clic su Opzioni contenitore avanzate. Per ulteriori informazioni, consulta Configurare le opzioni per l'esecuzione del container.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome del modello da creare.CONTAINER_IMAGE
: il nome completo dell'immagine del contenitore da utilizzare.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanzaREGION
: la regione della subnetSUBNET_NAME_OR_URL
: il nome della subnet o relativo URLINSTANCE_TEMPLATE_REGION
: la regione in cui vuoi creare il modello di istanza. Deve essere uguale a REGIONImmagini personalizzate. Poiché i gruppi di istanze gestite sono progettati per aggiungere e rimuovere frequentemente le istanze, è utile creare un'immagine personalizzata e specificarla nel modello di istanza. Puoi preparare l'immagine con le applicazioni e le impostazioni necessarie alle tue VM, per cui configurare manualmente questi elementi sulle singole VM nel gruppo di istanze gestite.
Immagini pubbliche. Puoi creare un modello di istanza che utilizza un oggetto immagine pubblica e un script di avvio per preparare l'istanza dopo viene avviata l'esecuzione.
- Crea una VM da un modello di istanza.
- Crea un gruppo di istanze gestite a livello di zona.
- Crea un gruppo di istanze gestite a livello di regione.
- Aggiorna le VM in un gruppo di istanze gestite esistente per utilizzare la configurazione di un nuovo modello.
- Crea una prenotazione per le VM.
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.
Vai
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Node.js
Per utilizzare gli Node.js esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, 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 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.
Limitazioni
Crea un modello di istanza
La maggior parte delle proprietà della VM che puoi specificare in una richiesta di creazione puoi specificare anche una singola istanza VM per un modello di istanza, inclusi eventuali metadati, script di avvio, dischi permanenti e servizio . Devi specificare il tipo di macchina, il disco di avvio e la rete.
Crea un modello di istanze regionale o globale tramite la console Google Cloud, Google Cloud CLI o la API. Per creare un modello globale di istanza di modello, puoi anche utilizzare Terraform Librerie client di Cloud.
Console
gcloud
Per creare un modello di istanza regionale o globale, utilizza il comando
instance-templates create
. Per un modello di istanza regionale, devi utilizzare il flag--instance-template-region
per impostare la regione del modello.Crea un modello di istanza regionale utilizzando il seguente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION
Crea un modello di istanza globale utilizzando il comando seguente:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
Se non fornisci impostazioni esplicite del modello,
gcloud compute
utilizza i seguenti valori predefiniti:Puoi anche fornire esplicitamente queste impostazioni di configurazione. Ad esempio:
gcloud compute instance-templates create example-template-custom \ --machine-type=e2-standard-4 \ --image-family=debian-10 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Puoi aggiungere fino a 15 dischi secondari non di avvio. Specifica il valore
--create-disk
per ogni disco secondario che crei. Per creare dischi secondari da un'immagine pubblica o personalizzata, specifica le proprietàimage
eimage-project
per ogni disco nel flag--create-disk
. Per creare un disco vuoto, non includere queste proprietà. Se vuoi, includi le proprietà per il discosize
etype
. Per specificare i dischi permanenti a livello di regione, utilizzareplica-zones
proprietà.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --create-disk= \ image-family=DISK_IMAGE_FAMILY, \ image-project=DISK_IMAGE_PROJECT, \ size=SIZE_GB_DISK1 \ --create-disk= \ device-name=DISK_NAME,type=DISK_TYPE, \ size=SIZE_GB_DISK2 \ replica-zones=^:^ZONE:REMOTE_ZONE, \ boot=false
Sostituisci quanto segue:
Se hai scelto un'immagine che supporta la VM protetta, puoi facoltativamente modificare le impostazioni della VM protetta dell'istanza utilizzando uno dei seguenti flag:
Per un elenco di tutti i sottocomandi e i flag disponibili, vedi Riferimento
instance-templates
.Un modello con le impostazioni di configurazione predefinite potrebbe avere il seguente aspetto:
gcloud compute instance-templates describe example-template
creationTimestamp: '2019-09-10T16:18:32.042-07:00' description: '' id: '6057583701980539406' kind: compute#instanceTemplate name: example-template properties: canIpForward: false disks: - autoDelete: true boot: true initializeParams: sourceImage: https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-10 kind: compute#attachedDisk mode: READ_WRITE type: PERSISTENT machineType: e2-standard-2 networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat type: ONE_TO_ONE_NAT network: https://compute.googleapis.com/compute/v1/projects/myproject/global/networks/default scheduling: automaticRestart: true onHostMaintenance: MIGRATE serviceAccounts: - email: default scopes: - https://www.googleapis.com/auth/devstorage.read_only selfLink: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-template
Terraform
Per creare un modello di istanza, puoi utilizzare la
google_compute_instance_template
risorsa.Il seguente esempio di Terraform è simile al seguente comando gcloud CLI:
gcloud compute instance-templates create my-instance-template \ --machine-type=e2-standard-4 \ --image-family=debian-9 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Vai
Java
Node.js
Python
REST
Per creare un modello di istanza regionale, invia una richiesta
POST
al metodoregionInstanceTemplates.insert
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
Per creare un modello di istanza globale, effettua una richiesta
POST
alla MetodoinstanceTemplates.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Puoi aggiungere fino a 15 dischi secondari non di avvio utilizzando la proprietà
disks
, con un campo per ogni disco aggiuntivo. Per ogni disco aggiuntivo, puoi eseguire le seguenti operazioni:Nel corpo della richiesta, fornisci le proprietà del modello:
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } }, { "type": "PERSISTENT", "boot": false, "deviceName": "DISK_NAME", "initializeParams": { "replicaZones": [ "projects/PROJECT_NAME/zones/ZONE", "projects/PROJECT_NAME/zones/REMOTE_ZONE" ] } } ] } }
Sostituisci quanto segue:
Puoi specificare una delle seguenti opzioni per la proprietà
disks
:Se vuoi, puoi specificare
diskSizeGb
,diskType
elabels
proprietà perinitializeParams
e la proprietàdiskSizeGb
persource
.Se hai scelto un'immagine che supporta Shielded VM, puoi eventualmente modificare le impostazioni di Shielded VM della VM utilizzando i seguenti elementi del corpo della richiesta booleani:
Per saperne di più sui parametri di richiesta, consulta
instanceTemplates.insert
gcloud.Creare un modello di istanza basato su un'istanza esistente
Puoi utilizzare REST o gcloud CLI per salvare la configurazione di un'istanza VM esistente come modello di istanza. Se vuoi, puoi scegliere di sostituire la definizione dei dischi di origine nel modello.
Se devi eseguire l'override di altre proprietà, crea prima un'istanza basato su un'istanza esistente, crea un modello simile con altre override.
gcloud
Utilizza la Comando
gcloud compute instance-templates create
con i flag--source-instance
e--source-instance-zone
. Se vuoi per creare un modello di istanza regionale, devi utilizzare anche Flag--instance-template-region
per specificare la regione dell'istanza modello.Per creare un modello di istanza regionale, utilizza il comando seguente:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --instance-template-region=REGION
Per creare un modello di istanza globale, utilizza il comando seguente:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE
Per eseguire l'override del modo in cui vengono definiti i dischi dell'istanza di origine, aggiungi uno o più
--configure-disk
flag.L'esempio seguente crea un'istanza globale modello da un'istanza esistente e sostituisce quello dell'istanza di origine con le specifiche da te fornite.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --configure-disk= \ device-name=SOURCE_DISK, \ instantiate-from=INSTANTIATE_OPTIONS, \ auto-delete=AUTO_DELETE
Sostituisci quanto segue:
Ad esempio, il seguente comando crea un modello di istanza basato su
my-source-instance
, con la possibilità di utilizzare l'immagine originale didata-disk-a
, ma imposta l'eliminazione automatica sutrue
e sostituiscedata-disk-b
con un'immagine personalizzata.gcloud compute instance-templates create my-instance-template \ --source-instance=my-source-instance \ --configure-disk=device-name=data-disk-a,instantiate-from=source-image, \ auto-delete=true --configure-disk=device-name=data-disk-b,instantiate-from=custom-image, \ custom-image=projects/cps-cloud/global/images/cos-89-16108-403-15
Vai
Java
Node.js
Python
REST
Per creare un modello di istanza regionale, utilizza il metodo
regionInstanceTemplates.insert
, In alternativa, per creare un modello di istanza globale, utilizza il metodoinstanceTemplates.insert
.Nella richiesta, devi specificare il campo
sourceInstance
. Per sostituire il modo in cui l'origine dischi dell'istanza. Aggiungi uno o più campidiskConfigs
.Ad esempio, esegui la chiamata seguente per creare un modello di istanza globale di un'istanza esistente.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "sourceInstance": "zones/SOURCE_INSTANCE_ZONE/instances/SOURCE_INSTANCE", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "SOURCE_DISK", "instantiateFrom": "INSTANTIATE_OPTIONS", "autoDelete": false } ] } }
Sostituisci quanto segue:
L'esempio seguente crea un nuovo modello di istanza basato su
my-source-instance
. Nel modello di istanza, l'immagine didata-disk-a
viene sostituita daprojects/cos-cloud/global/images/cos-89-16108-403-15
.POST https://compute.googleapis.com/compute/v1/projects/my_project/global/instanceTemplates { "name": "my-instance-template", "sourceInstance": "zones/us-central1-a/instances/my-source-instance", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "data-disk-a", "instantiateFrom": "custom-image", "customImage": "projects/cos-cloud/global/images/cos-89-16108-403-15" } ] } }
La tabella seguente mostra come vengono definite le opzioni per l'override dei dischi nel modello.
Tipo di disco Opzioni Disco di avvio projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME
Altri dischi permanenti di lettura/scrittura Disco/i di sola lettura SSD locali Per ogni disco, puoi anche eseguire l'override dell'attributo
auto-delete
per specificare se il disco deve essere eliminato quando l'istanza associata è eliminati.Per impostazione predefinita, se non vengono specificate opzioni di override, la configurazione del disco nel modello corrisponde a quella dell'istanza di origine.
Crea un modello di istanza basato su un modello esistente
Non puoi aggiornare un modello di istanza esistente. Tuttavia, se un modello di istanza diventa obsoleto o se devi apportare modifiche, puoi crearne un altro con proprietà simili utilizzando la console.
Crea un modello di istanza per le VM GPU
Quando crei un modello di istanza, puoi configurarlo per la creazione di VM con GPU collegate specificando quanto segue:
Console
Per creare un modello di istanza per le VM GPU, segui questi passaggi:
gcloud
Per creare un modello di istanza per le VM GPU, utilizza Comando
instance-templates create
con il flag--maintenance-policy
impostato suTERMINATE
.Ad esempio, per creare un modello di istanza globale per le VM GPU, utilizza il seguente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE
Sostituisci quanto segue:
Ad esempio, supponiamo che tu voglia creare un modello di istanza globale per le VM GPU che specifichi le seguenti proprietà:
Per creare un modello di istanza di esempio, utilizza il comando seguente:
gcloud compute instance-templates create instance-template-gpu \ --accelerator=count=1,type=nvidia-tesla-t4 \ --machine-type=n1-standard-2 \ --image-family=debian-10 \ --image-project=debian-cloud \ --maintenance-policy=TERMINATE
Terraform
Per creare un modello di istanza per le VM GPU, utilizza
google_compute_region_instance_template
risorsa.Ad esempio, per creare un modello di istanza globale che specifica un tipo di macchina N1 predefinito con 2 vCPU e una GPU NVIDIA T4 collegata, utilizza la seguente risorsa:
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.
REST
Per creare un modello di istanza per le VM GPU, invia una richiesta
POST
al metodoinstanceTemplates.insert
. Nel corpo della richiesta, includi il campoonHostMaintenance
e impostalo suTERMINATE
.Ad esempio, per creare un modello di istanza globale per le VM GPU, crea un
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Sostituisci quanto segue:
Ad esempio, supponiamo di voler creare un modello di istanza globale VM GPU che specificano le seguenti proprietà:
Per creare un modello di istanza di esempio, effettua una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates { "name": "instance-template-gpu", "properties": { "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" } } ], "guestAccelerators": [ { "acceleratorType": "nvidia-tesla-t4", "acceleratorCount": 1 } ], "machineType": "n1-standard-2", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Per ulteriori opzioni di configurazione quando crei un modello di istanza, consulta Crea un modello di istanza in questo documento.
Crea un modello di istanza con un'immagine container
Puoi specificare un'immagine container in un modello di istanza. Per impostazione predefinita, Compute Engine include inoltre nel modello una Immagine Container-Optimized OS con Docker installato. Quando usi il modello per creare una nuova istanza, il container viene e viene avviato automaticamente all'avvio dell'istanza.
Console
gcloud
Utilizza la Comando
gcloud compute instance-templates create-with-container
:gcloud compute instance-templates create-with-container INSTANCE_TEMPLATE_NAME \ --container-image=CONTAINER_IMAGE
Sostituisci quanto segue:
Ad esempio, il seguente comando crea un nuovo modello di istanza denominato
nginx-vm
. Un'istanza VM creata da questo modello avvia e esegue l'immagine containergcr.io/cloud-marketplace/google/nginx1:TAG
all'avvio della VM.gcloud compute instance-templates create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:TAG
Sostituisci
TAG
con il tag definito per una versione specifica dell'immagine container NGINX disponibile su Google Cloud Marketplace.Puoi anche configurare opzioni per eseguire il container.
Crea un modello di istanza che specifichi una subnet
gcloud
Per creare un modello di istanza regionale o globale, utilizza Comando
instance-templates create
. Utilizza il flag--subnet
per posizionare le istanze create dal modello nella subnet che preferisci. Il flag--subnet
richiede il flag--region
.Se vuoi creare un modello di istanza regionale, devi utilizzare il metodo
--instance-template-region
per impostare la regione del modello. Assicurati che di utilizzare una subnet dalla stessa regione in cui vuoi creare a livello di regione.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=REGION \ --subnet=SUBNET_NAME_OR_URL \ --instance-template-region=INSTANCE_TEMPLATE_REGION
Sostituisci quanto segue:
L'esempio seguente crea un modello denominato
template-qa
che crea solo istanza nella subnetsubnet-us-qa
.gcloud compute instance-templates create template-qa \ --region=us-central1 \ --subnet=subnet-us-qa Created [https://compute.googleapis.com/compute/latest/projects/PROJECT_ID/global/instanceTemplates/template-qa]. NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP template-qa e2-standard-2 2019-12-23T20:34:00.791-07:00
Vai
Java
Node.js
Python
L'utilizzo di questo modello per creare istanze per un MIG (con o senza scalabilità automatica) crea automaticamente l'istanza nella regione e nella subnet specificate. In questo modo puoi controllare la subnet delle nuove istanze create per il bilanciamento del carico.
Utilizzare immagini personalizzate o pubbliche nei modelli di istanze
Per i modelli di istanza puoi utilizzare un'immagine personalizzata o un'immagine pubblica:
Le immagini personalizzate sono più deterministico e si avviano più rapidamente rispetto alle VM con script di avvio. Tuttavia, le startup gli script sono più flessibili e ti consentono di aggiornare app e impostazioni nelle tue istanze.
Se gestisci le immagini utilizzando le famiglie di immagini, puoi specificare il nome della famiglia di immagini personalizzata o pubblica nel modello di istanza. Per ulteriori informazioni sulle famiglie di immagini, consulta la sezione Migliori quando utilizzi famiglie di immagini su Compute Engine.
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.
-