Questo documento spiega come creare un'istanza Compute Engine da un'immagine personalizzata esistente solo nel tuo progetto. Un'istanza contiene un bootloader, un file system di avvio e un'immagine del sistema operativo. Puoi creare immagini personalizzate da dischi di origine, immagini, snapshot o immagini archiviate in Cloud Storage e utilizzarle per creare istanze. Per impostazione predefinita, un'immagine personalizzata appartiene solo al progetto in cui è stata creata.
Prima di iniziare
- Quando crei istanze da immagini utilizzando Google Cloud CLI o l'API Compute Engine, esiste un limite di 20 istanze al secondo. Se devi creare un numero maggiore di istanze al secondo, richiedi un limite di quota più alto per la risorsa Immagini.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud .
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
compute.instances.create
sul progetto -
Per utilizzare un'immagine personalizzata per creare l'istanza:
compute.images.useReadOnly
sull'immagine Nella console Google Cloud , vai alla pagina Crea un'istanza.
Se richiesto, seleziona il progetto e fai clic su Continua.
Viene visualizzata la pagina Crea un'istanza, che mostra il riquadro Configurazione macchina.
Nel riquadro Configurazione macchina, segui questi passaggi:
- Nel campo Nome, specifica un nome per l'istanza. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.
(Facoltativo) Nel campo Zona, seleziona una zona per l'istanza.
La selezione predefinita è Qualsiasi. Se non modifichi questa selezione predefinita, Google sceglie automaticamente una zona in base al tipo di macchina e alla disponibilità.
Seleziona la famiglia di macchine per l'istanza. La console Google Cloud mostra quindi le serie di macchine disponibili per la famiglia di macchine selezionata. Sono disponibili le seguenti opzioni per la famiglia di macchine:
- Per uso generico
- Ottimizzato per il calcolo
- Ottimizzato per la memoria
- Ottimizzato per lo spazio di archiviazione
- GPU
Nella colonna Serie, seleziona la serie di macchine per la tua istanza.
Se nel passaggio precedente hai selezionato GPU come famiglia di macchine, seleziona il tipo di GPU che preferisci. La serie di macchine viene quindi selezionata automaticamente per il tipo di GPU selezionato.
Nella sezione Tipo di macchina, seleziona il tipo di macchina per la tua istanza.
Nel menu di navigazione, fai clic su Sistema operativo e spazio di archiviazione. Nel riquadro Sistema operativo e archiviazione visualizzato, configura il disco di avvio nel seguente modo:
- Fai clic su Cambia. Viene visualizzato il riquadro Disco di avvio con la scheda Immagini pubbliche.
- Fai clic su Immagini personalizzate. Viene visualizzata la scheda Immagini personalizzate.
- Per selezionare il progetto immagine, fai clic su Modifica e poi seleziona il progetto che contiene l'immagine.
- Nell'elenco Immagine, seleziona l'immagine che vuoi importare.
- Nell'elenco Tipo di disco di avvio, seleziona il tipo di disco di avvio.
- Nel campo Dimensioni (GB), specifica le dimensioni del disco di avvio.
- (Facoltativo) Per le opzioni di configurazione avanzate, espandi la sezione Mostra configurazioni avanzate.
- Per confermare le opzioni del disco di avvio e tornare al riquadro Sistema operativo e spazio di archiviazione, fai clic su Seleziona.
Nel menu di navigazione, fai clic su Networking. Nel riquadro Networking visualizzato, segui questi passaggi:
- Vai alla sezione Firewall.
Per consentire il traffico HTTP o HTTPS all'istanza, seleziona Consenti traffico HTTP o Consenti traffico HTTPS.
Compute Engine aggiunge un tag di rete all'istanza e crea la regola firewall in entrata corrispondente che consente tutto il traffico in entrata su
tcp:80
(HTTP) otcp:443
(HTTPS). Il tag di rete associa la regola firewall all'istanza. Per ulteriori informazioni, consulta la Panoramica delle regole firewall nella documentazione di Cloud Next Generation Firewall.
(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.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Esegui il comando
gcloud compute instances create
per creare un'istanza con un'immagine personalizzata:gcloud compute instances create VM_NAME \ --image-project IMAGE_PROJECT \ IMAGE_FLAG \ --subnet SUBNET
Sostituisci quanto segue:
VM_NAME
: il nome della VMIMAGE_PROJECT
: l'ID del progetto Google Cloud che contiene l'immagineIMAGE_FLAG
: specifica una delle seguenti opzioni:- Utilizza il flag
--image IMAGE_NAME
per specificare un'immagine personalizzata.Ad esempio,
--image my-debian-image-v2
. - Se hai creato le immagini personalizzate
all'interno di una famiglia di immagini personalizzate,
utilizza il flag
--image-family IMAGE_FAMILY_NAME
per specificare la famiglia di immagini personalizzate.In questo modo viene creata la VM dall'immagine e dalla versione del sistema operativo più recenti e non deprecate nella famiglia di immagini personalizzate. Ad esempio, se specifichi
--image-family my-debian-family
, Compute Engine crea una VM dall'immagine del sistema operativo più recente nella famiglia di immaginimy-debian-family
personalizzata.
- Utilizza il flag
SUBNET
: se la subnet e l'istanza si trovano nello stesso progetto, sostituisciSUBNET
con il nome di una subnet che si trova nella stessa regione dell'istanza.
- Nella console Google Cloud , vai alla pagina Istanze VM.
- Fai clic su Crea istanza.
- Specifica i parametri che preferisci.
- Nella parte superiore o inferiore della pagina, fai clic su Codice equivalente, quindi sulla scheda Terraform per visualizzare il codice Terraform.
PROJECT_ID
: l'ID del progetto in cui creare la VMZONE
: la zona in cui creare la VMMACHINE_TYPE_ZONE
: zona contenente il tipo di macchina da utilizzare per la nuova VMMACHINE_TYPE
: tipo di macchina, predefinito o personalizzato, per la nuova VMVM_NAME
: nome della nuova VMIMAGE_PROJECT
: il nome del progetto che contiene l'immagine personalizzataIMAGE
: specifica una delle seguenti opzioni:IMAGE
: il nome dell'immagine personalizzata. Ad esempio,"sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
.IMAGE_FAMILY
: se hai creato le immagini personalizzate all'interno di una famiglia di immagini personalizzate, specifica questa famiglia di immagini personalizzate.In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non deprecata nella tua famiglia di immagini personalizzate. Ad esempio, se specifichi
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
, Compute Engine crea una VM dalla versione più recente dell'immagine del sistema operativo nella famiglia di immagini personalizzatamy-debian-family
.
NETWORK_NAME
: la rete VPC che vuoi utilizzare per la VM. Puoi specificaredefault
per utilizzare la rete predefinita.ENABLE_SECURE_BOOT
: facoltativo: se hai scelto un'immagine che supporta le funzionalità di VM schermate, Compute Engine attiva per impostazione predefinita il Trusted Platform Module virtuale (vTPM) e il monitoraggio dell'integrità. Compute Engine non abilita l'Avvio protetto per impostazione predefinita.Se specifichi
true
perenableSecureBoot
, Compute Engine crea una VM con tutte e tre le funzionalità Shielded VM abilitate. Dopo che Compute Engine ha avviato la VM, per modificare le opzioni della VM protetta, devi arrestarla.- Scopri di più sulle immagini personalizzate e su come condividerle.
- Scopri come controllare lo stato di un'istanza per sapere quando è pronta per l'uso.
- Scopri come connetterti all'istanza.
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, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un'istanza da un'immagine personalizzata, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un'istanza da un'immagine personalizzata. Per visualizzare le autorizzazioni esatta richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare un'istanza da un'immagine personalizzata sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Creare un'istanza da un'immagine personalizzata
Se non hai ancora un'immagine personalizzata, devi prima crearne una.
Per creare un'istanza da un'immagine personalizzata:
Console
gcloud
Terraform
Per generare il codice Terraform, puoi utilizzare il componente Codice equivalente nella console Google Cloud .Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Go.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Java.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Node.js.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Python.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
La procedura per creare un'istanza con un'immagine personalizzata nell'API è la stessa che se si creasse un'istanza con un'immagine disponibile pubblicamente.
Per creare l'istanza da un'immagine personalizzata, utilizza il metodo
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Sostituisci quanto segue:
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-01-22 UTC.
-