Utilizza un'immagine della 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 come e quando utilizzare 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 importi un'appliance virtuale da un altro progetto, consulta Importazione da più 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 eseguire l'autenticazione
Compute Engine come segue.
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 macchina tra progetti. Tuttavia, le reti VPC condivise non sono supportate.
- Questa funzionalità non è supportata per i progetti protetti con Controlli di servizio VPC.
- Le immagini macchina non possono essere create da VM di origine che hanno più di 200 TB di dischi collegati.
MACHINE_IMAGE_NAME
: nome della macchina che vuoi importare.SOURCE_URI
: percorso del file OVA o OVF su Cloud Storage.OS
: sistema operativo del file OVA. Questo è facoltativo per impostazione predefinita, ma in alcuni casi potrebbe essere obbligatorio. Me 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
: nome della macchina dell'immagine da importare. Ad esempio,my-machine-image
.SOURCE_URI
: URI del file OVA o di un 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 di
args
che possono essere forniti, consulta la sezione facoltativa della console Pagina GitHub di 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 dei gestori di pacchetti sul per l'immagine della macchina. Questi gestori dei pacchetti potrebbero dover effettuare richieste a repository di pacchetti esterni a Google Cloud. Per consentire l'accesso a questi aggiornamenti, devi configurare Cloud NAT. Per ulteriori informazioni, vedi Crea una configurazione NAT utilizzando il router Cloud.
Configura Accesso privato Google. Per ulteriori informazioni, consulta Configurare l'accesso privato Google.
Importa l'immagine della 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 richiesto, fai clic seguenti schede:
MACHINE_IMAGE_NAME
: nome 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. Me 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
: il zona in cui importare dell'immagine macchina. Se non viene specificato, viene utilizzata la zona predefinita per il progetto.PROJECT_ID
: l'ID del progetto che in cui vuoi importare l'immagine macchina.MACHINE_IMAGE_NAME
: il nome della macchina dell'immagine da importare. Ad esempio,my-machine-image
.SOURCE_URI
: l'URI del file OVA 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 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.
Come minimo, l'account di servizio Compute Engine specificato deve avere seguenti ruoli assegnati:
roles/compute.storageAdmin
roles/storage.objectViewer
Questi ruoli minimi sono necessari per l'account di servizio specificato per
--compute-service-account
flag. 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
: nome 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. Me ti consigliamo di fornire questo flag.TEMP_SERVICE_ACCOUNT_EMAIL
: l'email associato al servizio personalizzato creato nel passaggio precedente. Questo account di servizio viene utilizzato dalle VM temporanee. Se non specificata, la VM utilizza Compute Engine predefinito l'account di servizio.SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato all'account di servizio personalizzato da collegare a qualsiasi VM creata da questa immagine macchina. Non ci sono limitazioni di autorizzazione per questo account di servizio, puoi personalizzarlo in base alle tue esigenze. Se non specificato, l'account di servizio Compute Engine predefinito è collegato alla VM.SCOPES
: specifica il livello di accesso per Opzione--service-account
. Se non specificati, 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
-compute-service-account
argomento. 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 del progetto che in cui vuoi importare l'immagine macchina.MACHINE_IMAGE_NAME
: il nome della macchina dell'immagine da importare. Ad esempio,my-machine-image
.SOURCE_URI
: l'URI del file OVA 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'email associato al 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 ci sono limitazioni di autorizzazione per questo account di servizio, puoi personalizzarlo in base alle tue esigenze. Se non specificato, l'account di servizio Compute Engine predefinito è collegato alla VM.SCOPES
: specifica il livello di accesso per Opzione--service-account
. Se non specificato, vengono utilizzati gli ambiti predefiniti. Per ulteriori informazioni, consulta il flag--scopes
.
- Scopri di più sulle immagini macchina
- Crea istanze VM da 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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni e restrizioni
Sistemi operativi supportati
Per assistenza con il sistema operativo, vedi Dettagli del sistema operativo.
Importa immagini macchina
Puoi importare immagini macchina da appliance virtuali utilizzando Google Cloud CLI, oppure REST.
gcloud
Utilizza la 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 questo comando
gcloud
per importare una macchina immagine denominatamy-machine-image
da un file OVA di origine denominatomy-ova
è archiviato 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 override 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 specificare i flag
--custom-cpu
e--custom-memory
.Esempio
Un'immagine macchina denominata
my-machine-image
ha i seguenti override applicati alle impostazioni nel file OVF:Per importare
my-machine-image
con questi override, esegui questo 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, seguire i passaggi dell'API Compute Engine importare un'immagine macchina e specifica l'argomento
-machine-type
. Questo-machine-type
rappresenta un tipo di macchina predefinito o personalizzato da utilizzare.Esempio
Un'immagine macchina denominata
my-machine-image
ha i seguenti override applicati alle impostazioni nel file OVF:Per importare
my-machine-image
con questi override, apporta le seguenti modifiche una 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à subnet personalizzata, devi specificare anche i flag--subnet
e--zone
.Esempio
Un'immagine macchina denominata
my-machine-image
ha i seguenti override applicati alle impostazioni nel file OVF:Per importare
my-machine-image
con questi override, esegui l'esempio seguente :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 usare una rete personalizzata, segui i passaggi dell'API Compute Engine 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
Un'immagine macchina denominata
my-machine-image
ha i seguenti override applicati alle impostazioni nel file OVF:Per importare
my-machine-image
con questi override, apporta le seguenti modifiche una 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 IP esterni
Per importare un'immagine macchina utilizzando una rete che non consente indirizzi IP esterni: di lavoro, completa i seguenti passaggi:
gcloud
Utilizza la 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 la 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, le istanze di macchine virtuali temporanee (VM) vengono create del progetto. 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 all'account di servizio I metadati della VM e utilizzato per autenticare lo strumento di importazione sulla VM.
Per impostazione predefinita, il processo di importazione utilizza account di servizio Compute Engine predefinito. Tuttavia, se l'account di servizio Compute Engine predefinito è disabilitato in nel tuo progetto o se vuoi usare un account di servizio Compute Engine personalizzato, devi creare un account di servizio e specificarlo per il processo 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-10-14 UTC.
-