Questa pagina spiega come utilizzare un modello di istanza per creare un'istanza VM. Un modello di istanza è una risorsa API che definisce le proprietà delle istanze VM. In un modello di istanza puoi definire proprietà come il tipo di macchina, l'immagine del sistema operativo, le configurazioni dei dischi permanenti, i metadati, gli script di avvio e così via, per poi 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 verrà eseguita l'istanza. In alternativa, puoi anche scegliere di ignorare campi durante la creazione dell'istanza se vuoi modificare determinate proprietà del modello di istanza per usi specifici.
Questo documento presuppone che tu abbia un modello di istanza pronto per l'uso. Se non dispongono di un modello di istanza, segui le istruzioni per crea un nuovo modello di istanza.
Prima di iniziare
- Leggi la documentazione del modello di istanza.
- Crea un modello di istanza.
-
Se non l'hai già 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.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Fai clic su Nuova istanza VM da modello.
Seleziona il modello e fai clic su Continua.
Specifica un nome per la VM e apporta ulteriori personalizzazioni come necessaria.
Fai clic su Crea.
Per ulteriori dettagli sulla configurazione, consulta Creare un'istanza VM da un'immagine.
VM_NAME
: il valore name dell'istanza.INSTANCE_TEMPLATE_NAME
: il valore nome del del modello di istanza da utilizzare. Per un modello di istanza regionale, devi specificare l'URL completo o parziale del modello. Un esempio di modello L'URL èhttps://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
, mentre un URL parziale èprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
.- Se sostituisci un campo base, il campo base corrispondente
nel modello di istanza verrà sostituito con il valore del campo base
nella richiesta. I campi di base sono
machineType
,sourceImage
,name
e così via. - Se sostituisci un campo ripetuto, tutti i valori ripetuti per quella proprietà
verranno sostituiti con i valori corrispondenti forniti nella richiesta.
I campi ripetuti sono generalmente proprietà di tipo
list
. Ad esempio:disks
enetworkInterfaces
sono campi ripetuti. - Se esegui l'override di un
nested object
, l'oggetto nell'istanza verrà unito alla specifica dell'oggetto corrispondente in la 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, vengono considerati come un campo ripetuto sebbene sia di tipoobject
. - Leggi la documentazione relativa alle istanze VM prerilasciabili.
- Leggi ulteriori informazioni sugli script di chiusura.
- Fai riferimento ai prezzi delle istanze prerilasciabili.
- Connettiti all'istanza.
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.
Crea un'istanza VM da un modello di istanza
Per creare una VM, puoi utilizzare un modello di istanza regionale o globale in esecuzione in un'istanza Compute Engine. Per creare un'istanza esattamente come descritto nel modello di istanza, segui queste istruzioni.
Console
gcloud
Per creare una VM da un modello di istanza regionale o globale, utilizza lo stesso comando
gcloud compute instances create
che useresti per creare un'istanza normale, ma aggiungi il--source-instance-template
flag:gcloud compute instances create VM_NAME \ --source-instance-template INSTANCE_TEMPLATE_NAME
Sostituisci quanto segue:
Ad esempio:
gcloud compute instances create example-instance \ --source-instance-template my-instance-template
Vai
Java
Node.js
Python
REST
Per creare una VM da un modello di istanza regionale o globale, crea una normale richiesta di creazione di un'istanza ma includi
sourceInstanceTemplate
parametro di query seguito da un percorso qualificato a un modello di istanza.POST https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID/zones/ZONE/ instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME
Nel corpo della richiesta, fornisci un valore
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/example-instance-template
.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/example-instance-template
{ "name": "example-instance" }
Crea un'istanza VM da un modello di istanza con sostituzioni
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 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 un comportamento di override, passi gli attributi da sostituire per l'istanza esistente durante la creazione dell'istanza.
gcloud
Utilizzando l'interfaccia a riga di comando gcloud, invia una richiesta per creare un'istanza con il flag
--source-instance-template
e sostituisci qualsiasi proprietà che ti interessa con il flaggcloud
appropriato. Per visualizzare un elenco di segnalazioni applicabili, esamina il riferimentogcloud
.Ad esempio, fornisci i seguenti flag per eseguire l'override del tipo di macchina: 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 example-instance --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 la classe
sourceInstanceTemplate
parametro di query e fornire i campi da sostituire nella richiesta al momento di creare una normale richiesta crea un'istanza.Il comportamento di override nell'API segue le regole di patch di unione JSON, descritte da RFC 7396.
In particolare:
Ad esempio, supponiamo che tu abbia un modello di istanza con due dischi non di avvio, ma che tu voglia sostituire uno dei dischi. Devi fornire l'intera
disks
nella 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/example-instance-template
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
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.
-