Questa pagina spiega come utilizzare un template di istanza per creare un'istanza VM. Un modello di istanza è una risorsa API che definisce le proprietà delle istanze VM. Definisci proprietà come il tipo di macchina, l'immagine del sistema operativo, le configurazioni del disco permanente, i metadati, gli script di avvio e così via in un modello di istanza, quindi puoi utilizzare il modello di istanza per creare singole istanze VM o gruppi di istanze gestite.
Quando crei un'istanza VM da un modello di istanza, il comportamento predefinito è creare un'istanza VM identica alle proprietà specificate nel modello, ad eccezione del nome dell'istanza VM e della zona in cui risiederà l'istanza. In alternativa, puoi anche eseguire l'override facoltativo di determinati campi durante la creazione dell'istanza se vuoi modificare alcune proprietà del modello di istanza per usi specifici.
Questo documento presuppone che tu disponga di un modello di istanza pronto all'uso. Se non hai un modello di istanza, segui le istruzioni per crearne uno nuovo.
Prima di iniziare
- Leggi la documentazione relativa al modello di istanza.
- Crea un modello di istanza.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo di verifica dell'identità per poter accedere a Google Cloud servizi e API.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
- Set a default region and zone.
Vai
Per utilizzare gli esempi di Go questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Java
Per utilizzare gli esempi di Java questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Node.js
Per utilizzare gli esempi di Node.js questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Python
Per utilizzare gli esempi di Python questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Crea un'istanza VM da un template di istanza
Puoi utilizzare un modello di istanza regionale o globale per creare un'istanza VM. Per creare un'istanza esattamente come descritto nel modello di istanza, segui queste istruzioni.
Console
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Nel menu
Crea VM da…, seleziona Modelli di istanza.Nella finestra Crea VM da modello visualizzata, procedi nel seguente modo:
Seleziona un modello.
Per creare e avviare la VM, fai clic su Crea.
gcloud
Per creare una VM da un template di istanza regionale o globale, utilizza lo stesso comando
gcloud compute instances create
che useresti per creare un'istanza normale, ma aggiungi il flag--source-instance-template
:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_URL
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza.INSTANCE_TEMPLATE_URL
: l'URL del modello di istanza che vuoi utilizzare per creare le VM nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
Ad esempio:
gcloud compute instances create example-instance \ --source-instance-template 1234567890
Vai
Java
Node.js
Python
REST
Per creare una VM da un template di istanza regionale o globale, crea una normale richiesta per creare un'istanza, ma includi il parametro di query
sourceInstanceTemplate
seguito da un percorso qualificato a un template di istanza.POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_URL
Nel corpo della richiesta, fornisci un
name
per l'istanza VM:{ "name": "example-instance" }
Ad esempio, il seguente snippet include un percorso completo al modello:
https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/1234567890
.POST https://compute.googleapis.com/ compute/v1/projects/myproject/zones/us-central1-a/instances?sourceInstanceTemplate= https://compute.googleapis.com/compute/v1/projects/myproject/global/ instanceTemplates/1234567890
{ "name": "example-instance" }
Crea un'istanza VM da un template di istanza con override
Quando utilizzi un modello di istanza per avviare un'istanza VM, il comportamento predefinito è creare un'istanza VM esattamente come descritto nel modello di istanza, con l'eccezione del nome e della zona dell'istanza.
Se vuoi creare un'istanza principalmente in base a un modello di istanza, ma con alcune modifiche, puoi utilizzare il comportamento di override. Per utilizzare il comportamento di override, devi passare gli attributi da eseguire l'override per il modello di istanza esistente al momento della creazione dell'istanza.
Console
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Nel menu
Crea VM da…, seleziona Modelli di istanza.Nella finestra Crea VM da modello visualizzata, seleziona un modello e poi fai clic su
Personalizza.(Facoltativo) Specifica altre opzioni di configurazione. Per ulteriori informazioni, consulta Opzioni di configurazione durante la creazione dell'istanza.
Per creare e avviare l'istanza, fai clic su Crea.
gcloud
Utilizzando gcloud CLI, invia una richiesta per creare un'istanza con il flag
--source-instance-template
ed esegui l'override di qualsiasi proprietà desideri con il flaggcloud
appropriato. Per visualizzare un elenco dei flag applicabili, consulta la documentazione di riferimento digcloud
.Ad esempio, fornisci i seguenti flag per sostituire il tipo di macchina, i metadati, il sistema operativo, il disco di avvio Persistent Disk e un disco secondario di un modello di istanza:
gcloud compute instances create example-instance \ --source-instance-template 1234567890 --machine-type e2-standard-2 \ --image-family debian-9 --image-project debian-cloud \ --metadata bread=butter --disk=boot=no,name=my-override-disk
Vai
Java
Node.js
Python
REST
Nell'API, utilizza il parametro di query
sourceInstanceTemplate
e fornisci tutti i campi di cui vuoi eseguire l'override nel corpo della richiesta quando crei una normale richiesta per creare un'istanza.Il comportamento di override nell'API segue le regole di patch di unione JSON, descritte da RFC 7396.
In particolare:
- Se sostituisci un campo di base, il campo di base corrispondente
nel modello di istanza verrà sostituito con il valore del campo di base
nella richiesta. I campi di base includono
machineType
,sourceImage
,name
e così via. - Se sostituisci un campo ripetuto, tutti i valori ripetuti per quella proprietà
vengono sostituiti con i valori corrispondenti forniti nella richiesta.
I campi ripetuti sono in genere proprietà di tipo
list
. Ad esempio,disks
enetworkInterfaces
sono campi ripetuti. - Se sostituisci un
nested object
, l'oggetto nel modello di istanza verrà unito alla specifica dell'oggetto corrispondente nella richiesta. Tieni presente che se un oggetto nidificato si trova all'interno di un campo ripetuto, il campo viene trattato in base alle regole per i campi ripetuti. Le etichette sono un'eccezione a questa regola e vengono trattate come un campo ripetuto anche se sono di tipoobject
.
Ad esempio, supponiamo di avere un modello di istanza con due dischi non di avvio, ma vuoi sostituire uno dei dischi. Devi fornire l'intera specifica
disks
nella tua richiesta, inclusi i dischi che vuoi conservare.L'URL di questa richiesta:
POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances? sourceInstanceTemplate=https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/1234567890
Il corpo della richiesta:
{ "disks": [ { # Since you are overriding the repeated disk property, you must # specify a boot disk in the request, even if it is already # specified in the instance template "autoDelete": true, "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-8" }, "mode": "READ_WRITE", "type": "PERSISTENT" }, { # New disk you want to use "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-override-disk", "type": "PERSISTENT" }, { # Assume this disk is already specified in instance template, but # you must specify it again since you are overriding the disks # property "autoDelete": false, "boot": false, "mode": "READ_WRITE", "source": "zones/us-central1-f/disks/my-other-disk-to-keep", "type": "PERSISTENT" } ], "machineType": "zones/us-central1-f/machineTypes/e2-standard-2", "name": "example-instance" }
Passaggi successivi
- Leggi la documentazione relativa alle istanze VM preemptible.
- Scopri di più sugli script di arresto.
- Fai riferimento ai prezzi delle istanze prerilasciabili.
- Connettiti all'istanza.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-31 UTC.
-