Utilizza un'immagine macchina per archiviare ogni configurazione, metadato, autorizzazione e dato di uno o più dischi per un'istanza VM in esecuzione su Compute Engine. Per informazioni su quando e come utilizzare le immagini macchina, consulta Immagini macchina.
Questo documento descrive i passaggi per importare un'immagine macchina da un appliance virtuale.
Prima di iniziare
- Se nel progetto in cui vuoi importare l'immagine macchina è definito un
criterio relativo alle immagini attendibili, aggiungi
projects/compute-image-import
eprojects/compute-image-tools
all'elenco consentito dei publisher. - Se stai importando un appliance virtuale da un altro progetto, consulta Importazione tra progetti.
- Esamina i requisiti della VM di origine e del file OVF nella guida di Compute Engine sull'importazione di appliance virtuali.
- Per scoprire come soddisfare i requisiti prima di importare le immagini macchina, consulta Prerequisiti per l'importazione e l'esportazione delle immagini VM.
-
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Puoi condividere un'immagine della macchina tra i progetti. Tuttavia, le reti VPC condivise non sono supportate.
- Questa funzionalità non è supportata per i progetti protetti con Controlli di servizio VPC.
- Non è possibile creare immagini macchina da VM di origine con più di 200 TB di dischi collegati.
MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina che vuoi importare.SOURCE_URI
: percorso del file OVA o OVF su Cloud Storage.OS
: sistema operativo del file OVA. Questo indicatore è facoltativo per impostazione predefinita, ma potrebbe essere necessario in alcuni casi. Ti consigliamo di fornire questo flag.Carica l'appliance virtuale in Cloud Storage.
Invia una richiesta
POST
all'API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi importare il file OVA.MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina da importare. Ad esempio,my-machine-image
.SOURCE_URI
: URI del file OVA o di una directory contenente pacchetti OVF archiviati in Cloud Storage. Ad esempio,gs://my-bucket/my-instance.ova
.OS
: sistema operativo del file OVA. Ad esempio,ubuntu-1604
. Questo flag è facoltativo per impostazione predefinita, ma potrebbe essere obbligatorio in alcuni casi. Ti consigliamo di fornire questo flag.
Per altri valori
args
che possono essere forniti, consulta la sezione facoltativa relativa ai flag della pagina GitHub dell'importazione OVF di Compute Engine.- Sistema operativo:
Ubuntu 1404
- CPU:
2 CPUs
- Memoria:
2048 MB
- Sistema operativo:
Ubuntu 1404
- CPU:
2 CPUs
- Memoria:
2048 MB
- Sistema operativo:
Ubuntu 1404
- Rete:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zona:
us-east1-c
- Sistema operativo:
Ubuntu 1404
- Rete:
custom-vpc-network
- Subnet:
company-vpc-us-east1-c
- Zona:
us-central1-c
Aggiungi l'appliance virtuale a Cloud Storage.
Il processo di importazione richiede l'installazione di gestori pacchetti sul sistema operativo dell'immagine macchina. Questi gestori dei pacchetti potrebbero dover effettuare richieste a repository di pacchetti esterni a Google Cloud. Per consentire l'accesso per questi aggiornamenti, devi configurare Cloud NAT. Per ulteriori informazioni, consulta Creare una configurazione NAT utilizzando il router Cloud.
Configura Accesso privato Google. Per ulteriori informazioni, consulta Configurare l'accesso privato Google.
Importa l'immagine macchina utilizzando Google Cloud CLI o l'API Cloud Build.
Quando importi un'immagine macchina da un appliance virtuale, nel progetto vengono create VM temporanee. Per assicurarti che a queste VM temporanee non vengano assegnati indirizzi IP esterni, devi specificare un flag o un argomento aggiuntivo.
Per ulteriori informazioni sul flag o sull'argomento obbligatorio, fai clic sulle seguenti schede:
MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina che vuoi importare.SOURCE_URI
: URI per il tuo file OVA o OVF su Cloud Storage. Ad esempio,gs://my-bucket/Ubuntu.ova
.OS
: sistema operativo del file OVA. Questo indicatore è facoltativo per impostazione predefinita, ma potrebbe essere necessario in alcuni casi. Ti consigliamo di fornire questo flag. Per un elenco dei valori supportati, consulta le opzioni del flag--os
per il comandogcloud compute machine-images import
.ZONE
: la zona in cui importare l'immagine della macchina. Se non viene specificato, viene utilizzata la zona predefinita per il progetto.PROJECT_ID
: l'ID progetto in cui vuoi importare l'immagine macchina.MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina da importare. Ad esempio,my-machine-image
.SOURCE_URI
: l'URI del file OVA memorizzato in Cloud Storage. Ad esempio,gs://my-bucket/my-machine.ova
.OS
: il sistema operativo del file OVA. Ad esempio,ubuntu-1604
. Questo flag è facoltativo per impostazione predefinita, ma potrebbe essere obbligatorio in alcuni casi. Ti consigliamo di fornire questo flag. Per un elenco dei valori supportati, consulta le opzioni del flag--os
per il comandogcloud compute instances import
.ZONE
: la zona in cui importare l'immagine della macchina.Aggiungi l'appliance virtuale a Cloud Storage.
Crea un account di servizio e assegna i ruoli minimi. Per ulteriori informazioni sulla creazione degli account di servizio, consulta Creare e gestire gli account di servizio.
All'account di servizio Compute Engine specificato devono essere assegnati almeno i seguenti ruoli:
roles/compute.storageAdmin
roles/storage.objectViewer
Questi ruoli minimi sono necessari per l'account di servizio specificato per il flag
--compute-service-account
. Per ulteriori informazioni, consulta Concedere i ruoli richiesti all'account di servizio Compute Engine.Utilizza il comando
gcloud compute machine-images import
per importare un'immagine macchina da appliance virtuali.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Sostituisci quanto segue:
MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina che vuoi importare.SOURCE_URI
: percorso del file OVA o OVF su Cloud Storage.OS
: sistema operativo del file OVA. Questo indicatore è facoltativo per impostazione predefinita, ma potrebbe essere necessario in alcuni casi. Ti consigliamo di fornire questo flag.TEMP_SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato all'account servizio personalizzato creato nel passaggio precedente. Questo account di servizio viene utilizzato dalle VM temporanee. Se non specificato, la VM utilizza l'account di servizio Compute Engine predefinito.SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato all'account di servizio personalizzato da collegare a qualsiasi VM creata da questa immagine macchina. Non sono presenti limitazioni di autorizzazione per questo account di servizio, che puoi personalizzare in base alle tue esigenze. Se non viene specificato, all'account di servizio Compute Engine predefinito viene associato il servizio VM.SCOPES
: specifica il livello di accesso per l'opzione--service-account
. Se non specificato, vengono utilizzati gli ambiti predefiniti. Per ulteriori informazioni, consulta il flag--scopes
.
Aggiungi l'appliance virtuale a Cloud Storage.
Crea un account di servizio e assegna i ruoli minimi. Per ulteriori informazioni sulla creazione degli account di servizio, consulta Creare e gestire gli account di servizio.
All'account di servizio Compute Engine specificato devono essere assegnati almeno i seguenti ruoli:
roles/compute.storageAdmin
roles/storage.objectViewer
Questi ruoli minimi sono necessari per l'account di servizio specificato per l'argomento
-compute-service-account
. Per ulteriori informazioni, consulta Concedere i ruoli richiesti all'account di servizio Compute Engine.Invia una richiesta
POST
all'API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto in cui vuoi importare l'immagine macchina.MACHINE_IMAGE_NAME
: il nome dell'immagine della macchina da importare. Ad esempio,my-machine-image
.SOURCE_URI
: l'URI del file OVA memorizzato in Cloud Storage. Ad esempio,gs://my-bucket/my-machine.ova
.OS
: il sistema operativo del file OVA. Ad esempio,ubuntu-1604
. Questo flag è facoltativo per impostazione predefinita, ma potrebbe essere obbligatorio in alcuni casi. Ti consigliamo di fornire questo flag. Per un elenco dei valori supportati, consulta le opzioni del flag--os
per il comandogcloud compute instances import
.ZONE
: la zona in cui importare l'immagine della macchina.TEMP_SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato all'account servizio personalizzato creato nel passaggio precedente. Questo account di servizio viene utilizzato dalle VM temporanee. Se non specificato, la VM utilizza l'account di servizio Compute Engine predefinito.SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato all'account di servizio personalizzato da collegare a qualsiasi VM creata da questa immagine macchina. Non sono presenti limitazioni di autorizzazione per questo account di servizio, che puoi personalizzare in base alle tue esigenze. Se non viene specificato, all'account di servizio Compute Engine predefinito viene associato il servizio VM.SCOPES
: specifica il livello di accesso per l'opzione--service-account
. Se non specificato, vengono utilizzati gli ambiti predefiniti. Per ulteriori informazioni, consulta il flag--scopes
.
- Scopri di più sulle immagini macchina
- Creare istanze VM dalle immagini macchina
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.
Limitazioni e restrizioni
Sistemi operativi supportati
Per il supporto del sistema operativo, consulta Dettagli del sistema operativo.
Importa immagini macchina
Puoi importare immagini macchina da appliance virtuali utilizzando Google Cloud CLI o REST.
gcloud
Utilizza il comando
gcloud compute machine-images import
per importare un'immagine macchina da appliance virtuali.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Sostituisci quanto segue:
Esempio
Ad esempio, puoi utilizzare il seguente comando
gcloud
per importare un'immagine macchina denominatamy-machine-image
da un file OVA di origine denominatomy-ova
che è memorizzato nella directorygs://my-bucket
ed eseguecentos-7
:gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
REST
Importa immagini macchina con sostituzioni OVF
CPU e memoria personalizzate
gcloud
Per eseguire l'override della configurazione della CPU o della memoria specificata nel file OVF, segui i passaggi di Google Cloud CLI per importare un'immagine macchina e specifica i flag
--custom-cpu
e--custom-memory
.Esempio
A un'immagine macchina denominata
my-machine-image
sono state applicate le seguenti sostituzioni alle impostazioni nel file OVF:Per importare
my-machine-image
con queste sostituzioni, esegui il seguente comando:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
REST
Per eseguire l'override della configurazione della CPU o della memoria specificata nel file OVF, segui i passaggi dell'API Compute Engine per importare un'immagine macchina e specifica l'argomento
-machine-type
. Questo-machine-type
rappresenta un tipo di macchina predefinita o personalizzata da utilizzare.Esempio
A un'immagine macchina denominata
my-machine-image
sono state applicate le seguenti sostituzioni alle impostazioni nel file OVF:Per importare
my-machine-image
con queste sostituzioni, invia la seguente richiesta all'API Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Sostituisci
PROJECT_ID
con l'ID progetto.Reti personalizzate
gcloud
Per configurare una rete personalizzata, segui i passaggi di Google Cloud CLI per importare un'immagine macchina e specifica un flag
--network
. Se la rete è configurata con una modalità di subnet personalizzata, devi specificare anche i flag--subnet
e--zone
.Esempio
A un'immagine macchina denominata
my-machine-image
sono state applicate le seguenti sostituzioni alle impostazioni nel file OVF:Per importare
my-machine-image
con queste sostituzioni, esegui il seguente comando di esempio:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
REST
Per utilizzare una rete personalizzata, segui i passaggi dell'API Compute Engine per importare un'immagine macchina e specifica un argomento
-network
. Se la rete è configurata con una modalità di subnet personalizzata, devi specificare anche gli argomenti-subnet
e-zone
.Esempio
A un'immagine macchina denominata
my-machine-image
sono state applicate le seguenti sostituzioni alle impostazioni nel file OVF:Per importare
my-machine-image
con queste sostituzioni, invia la seguente richiesta all'API Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Sostituisci
PROJECT_ID
con l'ID progetto.Importa un'immagine macchina all'interno di una rete che non consente l'IP esterno
Per importare un'immagine macchina utilizzando una rete che non consente indirizzi IP esterni, svolgi i seguenti passaggi:
gcloud
Utilizza il comando
gcloud compute machine-images import
con il flag--no-address
.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Sostituisci quanto segue:
REST
Utilizza l'API Cloud Build e specifica l'argomento
-no-external-ip
.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Sostituisci quanto segue:
Importa un'immagine macchina utilizzando account di servizio personalizzati
Durante l'importazione di un'immagine macchina, nel progetto vengono create istanze di macchine virtuali (VM) temporanee. Lo strumento di importazione su queste VM temporanee deve essere autenticato.
Un account di servizio è un'identità associata a una VM. È possibile accedere ai token di accesso dell'account di servizio tramite il server dei metadati della VM e utilizzarli per autenticare lo strumento di importazione sulla VM.
Per impostazione predefinita, la procedura di importazione utilizza l'account di servizio Compute Engine predefinito. Tuttavia, se il account di servizio Compute Engine predefinito è disattivato nel tuo progetto o se vuoi utilizzare un account di servizio Compute Engine personalizzato, devi creare un account di servizio e specificarlo per la procedura di importazione.
gcloud
REST
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-12-22 UTC.
-