Se nel tuo ambiente on-premise sono presenti dischi virtuali con il software e le configurazioni di cui hai bisogno (a volte chiamati dischi golden o immagini golden), puoi risparmiare tempo importandoli in Compute Engine e utilizzando l'immagine risultante per creare macchine virtuali. Lo strumento di importazione Migrate to Virtual Machines supporta la maggior parte dei formati file di dischi virtuali, tra cui VMDK e VHD.
Prima di iniziare
- Abilita l'API VM Migration nel tuo progetto. Per ulteriori informazioni sull'attivazione dell'API VM Migration, consulta Attivare i servizi Migrate to Virtual Machines.
- Assicurati che il sistema operativo sul disco sia supportato da Migrazione a macchine virtuali. Per ulteriori informazioni, vedi Sistemi operativi supportati.
- Assicurati che i file immagine dei dischi virtuali che vuoi importare siano supportati.
Formati supportati
Puoi importare i file immagine dei dischi virtuali nei seguenti formati utilizzando Migrate to Virtual Machines:
- Disco della macchina virtuale (VMDK): opzione consigliata, i file VMDK vengono importati più rapidamente
- Copia in scrittura QEMU (QCOW)
- Copia su scrittura QEMU 2 (QCOW2)
- Formato disco avanzato QEMU (QED)
- VPC
- Immagine disco virtuale (VDI)
- Disco rigido virtuale v2 (VHDX)
- Disco rigido virtuale (VHD)
Oltre a questi formati, viene fornito un file non elaborato compresso come file .tar.gz . Assicurati che il file compresso contenga un singolo file denominato disk.raw.
Processo di importazione delle immagini
Per importare un'immagine del disco virtuale in un'immagine Compute Engine utilizzando Migrate to Virtual Machines, segui questi passaggi:
- Preparare un file immagine del disco virtuale per l'importazione
- Scegli un progetto di destinazione
- Importa l'immagine di un disco virtuale in Compute Engine
Prepara un file del disco virtuale per l'importazione
Per importare un'immagine del disco virtuale in un'immagine Compute Engine, devi prima preparare il file dell'immagine del disco virtuale per l'importazione. Le sezioni che seguono illustrano queste attività in dettaglio.
Aggiungi il file immagine del disco virtuale a Cloud Storage
Per importare un'immagine del disco virtuale in un'immagine Compute Engine, devi prima aggiungere il file dell'immagine del disco virtuale a Cloud Storage. Per ulteriori informazioni, consulta Caricare oggetti da un file system. Per prestazioni migliori, ti consigliamo di caricare il file immagine del disco virtuale in un bucket nella stessa regione cloud in cui vuoi creare l'immagine.
Concedi le autorizzazioni richieste
Per importare un'immagine del disco virtuale in un'immagine Compute Engine, concedi le autorizzazioni come descritto nella tabella seguente.
Ruolo | Autorizzazioni obbligatorie | Descrizione |
---|---|---|
Storage Object Viewer | roles/storage.objectViewer |
Concedi l'account di servizio Migrate to Virtual Machines predefinito nell'host
progetto (service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com ) il ruolo roles/vmmigration.serviceAgent nel bucket in cui
sia l'immagine che vuoi importare. Questa autorizzazione consente
Migrate to Virtual Machines accede all'immagine di origine. |
Amministratore VM Migration | roles/vmmigration.admin |
Nel progetto host, concedi all'account utente che vuoi utilizzare per
importare l'immagine di origine il ruolo roles/vmmigration.admin . |
Account di servizio VM Migration | roles/vmmigration.serviceAgent |
Concedi all'account di servizio Migrate to Virtual Machines predefinito nel progetto
host (service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com ) il ruolo roles/vmmigration.serviceAgent nel progetto
di destinazione. Ad esempio, se service-1234567890@gcp-sa-vmmigration.iam.gserviceaccount.com
è l'account di servizio Migrate to Virtual Machines nel progetto host,
deve concedere a questo account di servizio il roles/vmmigration.serviceAgent
per poter creare l'immagine nel progetto di destinazione. |
Scegli un progetto di destinazione
Per ospitare l'immagine Compute Engine, devi creare o scegliere un progetto di destinazione. Un progetto di destinazione definisce il progetto di destinazione per un'immagine Compute Engine. Per ulteriori informazioni sulla creazione o sulla scelta di un progetto di destinazione, consulta Aggiunta di un progetto di destinazione.
Importa l'immagine di un disco virtuale in Compute Engine
Puoi importare un'immagine di disco virtuale in Compute Engine utilizzando Console Google Cloud, Google Cloud CLI o i comandi dell'API REST.
Console
Per importare un'immagine di disco virtuale in Compute Engine utilizzando la console Google Cloud, segui questi passaggi.
- Vai alla pagina Crea un'immagine.
Vai alla pagina Crea un'immagine - Specifica un nome per l'immagine.
- In Origine, seleziona Disco virtuale (VMDK, VHD).
- Puoi importare le immagini utilizzando Migrate to Virtual Machines. Migrate to Virtual Machines supporta più sistemi operativi, offre un migliore supporto di Windows e ulteriori miglioramenti e funzionalità. Per utilizzare Migrate to Virtual Machines per importare le immagini, fai clic su Vai alla nuova importazione di immagini. Sarai reindirizzato alla pagina Migrate to Virtual Machines.
- Seleziona la scheda Importazioni di immagini.
- Fai clic su Crea immagine.
- Definisci le caratteristiche dell'immagine. La tabella seguente elenca i parametri che puoi impostare per l'immagine.
Titolo della sezione Nome campo Descrizione Generali Nome Il nome dell'immagine che vuoi creare. Per ulteriori informazioni sulle regole di denominazione, consulta la Convenzione di denominazione. ID importazione immagine Un ID che rappresenta la risorsa di importazione dell'immagine. Quando importi un'immagine in Compute Engine, Migrate to Virtual Machines crea prima una risorsa di importazione di immagini. La risorsa di importazione delle immagini rappresenta il processo di importazione delle immagini. Puoi utilizzare l'ID di importazione immagine per ottenere il link all'immagine importati durante il processo di importazione delle immagini. File Cloud Storage di origine Il file da cui vuoi importare l'immagine. Fai clic su Sfoglia per visualizzare l'elenco dei bucket nel progetto corrente e seleziona il file da cui vuoi importare l'immagine.
Se vuoi importare un'immagine da un bucket da un altro progetto, devi inserisci il percorso nel formato bucket/cartella/file. Per ottenere il percorso un oggetto all'interno di un bucket. Consulta Visualizzare i metadati degli oggetti. Quando copi il percorso, assicurati di non copiaregs://
.
Tieni presente che puoi importare solo immagini da.vmdk
e.tar.gz
file.Regione La regione in cui vuoi creare l'immagine. Per un elenco di regioni e zone supportate, consulta Regioni e zone. Progetto di destinazione Il progetto di destinazione in cui vuoi creare l'immagine. Se non hai ancora aggiunto un progetto di destinazione, segui le istruzioni riportate in Aggiungere un progetto di destinazione. Famiglia (Facoltativo) Seleziona la famiglia di immagini. Compute Engine fornisce un'immagine per assicurarti che i sistemi di automazione possano fare riferimento ai le immagini più recenti. In qualità di amministratore, puoi raggruppare una serie di immagini come famiglia di immagini. Per saperne di più, consulta Famiglie di immagini pubbliche. Descrizione (Facoltativo) Aggiungi una descrizione per l'immagine. Salta adattamento del sistema operativo Per saltare l'adattamento del sistema operativo, fai clic sull'opzione Salta adattamento del sistema operativo per attivarla.
Per funzionare correttamente su Google Cloud, le VM create da immagini importate richiedono modifiche alla configurazione. Queste modifiche sono noti come adattamento del sistema operativo. Migrate to Virtual Machines esegue il sistema operativo si adatta automaticamente durante il processo di importazione dell'immagine. Per ulteriori informazioni, consulta Adattare le istanze VM per l'esecuzione su Google Cloud.Generalizza Per generalizzare l'immagine, fai clic sul pulsante Generalizza attiva l'opzione. Quando crei un'istanza da un'immagine, Windows aggiunge alcune informazioni univoche all'istanza. La generalizzazione è una processo che rimuove queste informazioni in modo da poter creare più di Compute Engine dalla stessa immagine. Licenze Tipo di licenza Compute Engine supporta le licenze con pagamento a consumo (PAYG) e BYOL (Bring Your Own License) per le VM di cui è stato eseguito il deployment. Il tipo di licenza predefinito per La VM migrata viene assegnata da Migrate to Virtual Machines in base come descritto in Sistemi operativi supportati.
Se il tuo sistema operativo supporta più tipi di licenza, puoi sostituire il tipo di licenza predefinita per specificare esplicitamente un tipo di licenza PAYG o BYOL.
Licenze aggiuntive Licenze aggiuntive Puoi aggiungere fino a 10 licenze aggiuntive all'istanza VM creata dall'immagine importata utilizzando un formato URL valido. Ad esempio, puoi aggiungere ulteriori licenze utilizzando il seguente formato di URL:
https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
Etichette Per organizzare il progetto, aggiungi al tuo account le etichette sotto forma di coppie chiave-valore Google Cloud. Consulta Organizzare le risorse utilizzando le etichette. Crittografia Chiave di crittografia gestita da Google Scegli questa opzione per utilizzare la chiave di crittografia gestita da Google per criptare i tuoi durante il processo di importazione. Per ulteriori informazioni, consulta l'articolo sulla crittografia dei dati at-rest. Chiave di crittografia gestita dal cliente Scegli questa opzione per utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i tuoi dati durante il processo di importazione e i dati dell'immagine creati dal processo di importazione. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi CMEK per criptare e decriptare i tuoi dati. Queste chiavi di crittografia sono create, gestite e di tua proprietà. Per saperne di più, consulta Proteggere le risorse utilizzando le chiavi Cloud KMS.
Quando aggiungi un CMEK, devi concedere le autorizzazioni come descritto nella tabella seguente.Ruolo Autorizzazioni obbligatorie Descrizione Account di servizio Cloud VM Migration roles/vmmigration.serviceAgen
Concedi questa autorizzazione all'account di servizio Compute Engine per criptare i dati dell'immagine creata durante il processo di importazione. Agente di servizio Compute Engine roles/compute.serviceAgent
Concedi questa autorizzazione all'agente di servizio Migrazione a macchine virtuali per criptare i dati durante il processo di importazione. - Seleziona Crea.
gcloud
Per importare un'immagine di disco virtuale in Compute Engine utilizzando Google Cloud CLI, usa la seguente richiesta.
gcloud migration vms image-imports create IMAGE_NAME \ --source-file=SOURCE_FILE \ --location=REGION_ID \ --target-project=projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine che vuoi creare. Per ulteriori informazioni sulle regole di denominazione, consulta la Convenzione di denominazione.SOURCE_FILE
: il file da cui vuoi importare l'immagine. Inserisci il percorso nel formatogs://bucket/folder/file
. Per ottenere il percorso di un oggetto all'interno di un bucket, consulta Visualizzare i metadati degli oggetti. Tieni presente che puoi importare immagini solo dai file.vmdk
e.tar.gz
.REGION_ID
: la regione in cui vuoi che venga visualizzata l'immagine di importazione da eseguire. L'immagine è stata creata nella località multiregionale più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati chesingleRegionStorage
sia impostato su true. Per un elenco delle varie regioni, consulta Regioni e zone.HOST_PROJECT_ID
: il nome del progetto host da cui vuoi eseguire la migrazione dell'immagine del disco virtuale.TARGET_PROJECT
: il progetto di destinazione in cui vuoi creare l'immagine. Se non hai ancora aggiunto un progetto di destinazione, segui le istruzioni riportate in Aggiungere un progetto di destinazione.
Per ulteriori informazioni, vedi gcloud migration vms image-imports
.
REST
Per importare un'immagine del disco virtuale in Compute Engine utilizzando l'API REST, segui questi passaggi.
Crea una risorsa di importazione di immagini utilizzando la seguente richiesta.
POST https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/imageImports?imageImportId=IMPORT_NAME { "cloudStorageUri": "SOURCE_FILE", "diskImageTargetDefaults": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT", ... } }
Sostituisci quanto segue:
HOST_PROJECT_ID
: il nome del progetto host da cui vuoi eseguire la migrazione dell'immagine del disco virtuale.REGION_ID
: la regione in cui vuoi che venga visualizzata l'immagine di importazione da eseguire. L'immagine viene creata nella regione multipla più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati chesingleRegionStorage
sia impostato su true. Per un elenco delle varie regioni, consulta Regioni e zone.SOURCE_FILE
: il file da cui vuoi importare l'immagine. Inserisci il percorso nel formato gs://bucket/cartella/file. Per ottenere il percorso di un oggetto all'interno di un bucket, consulta Visualizzare i metadati degli oggetti. Tieni presente che puoi importare solo immagini da.vmdk
e.tar.gz
file.IMAGE_NAME
: il nome dell'immagine che vuoi creare. Per ulteriori informazioni sulle regole di denominazione, consulta la Convenzione di denominazione.TARGET_PROJECT
: il progetto di destinazione in cui vuoi creare l'immagine. Se non hai già aggiunto un progetto di destinazione, per farlo utilizzando le istruzioni fornite in Aggiungere un progetto di destinazione.
In questo esempio,
IMPORT_NAME
è un ID che rappresenta la risorsa di importazione delle immagini. Quando importi un'immagine in Compute Engine, Migrate to Virtual Machines crea prima un'immagine di importazione della risorsa. La risorsa di importazione delle immagini rappresenta l'importazione delle immagini e il processo di sviluppo. Puoi usareIMPORT_NAME
per ricevere all'immagine importata durante il processo di importazione dell'immagine.Consulta la tabella seguente per l'elenco completo delle richieste di creazione dell'importazione di immagini campi supportati.
Nome campo Descrizione cloudStorageUri
stringa
Il percorso del file da cui vuoi importare l'immagine. Inserisci il percorso nel formato gs://bucket/folder/file. Per ottenere il percorso di un oggetto all'interno di un bucket, consulta Visualizzare i metadati degli oggetti.
Tieni presente che puoi importare immagini solo dai file.vmdk
e.tar.gz
.diskImageTargetDefaults.targetProject
stringa
Il percorso delTargetProject
. Il progetto di destinazione in cui vuoi creare l'immagine. Per ulteriori informazioni, consulta la documentazione di riferimento sull'API del progetto di destinazione. Ad esempio:
projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT
Nell'esempio, sostituisci quanto segue:HOST_PROJECT_ID
: il nome del progetto host da cui vuoi eseguire la migrazione dell'immagine del disco virtuale.TARGET_PROJECT
: il progetto di destinazione in cui vuoi creare l'immagine.
diskImageTargetDefaults.imageName
stringa
Il nome dell'immagine da creare. Per ulteriori informazioni sulle regole di denominazione, consulta la convenzione di denominazione delle risorse.diskImageTargetDefaults.description
stringa
(Facoltativo) Una descrizione dell'immagine.diskImageTargetDefaults.familyName
stringa
(Facoltativo) Seleziona la famiglia di immagini. Compute Engine fornisce un'immagine per assicurarti che i sistemi di automazione possano fare riferimento ai le immagini più recenti. In qualità di amministratore, puoi raggruppare una serie di immagini come famiglia di immagini. Per ulteriori informazioni, consulta la sezione Famiglie di immagini pubbliche. Per saperne di più, consulta Famiglie di immagini pubbliche.diskImageTargetDefaults.labels
mappa (chiave: stringa, valore: stringa)
Per organizzare il progetto, aggiungi al tuo account le etichette sotto forma di coppie chiave-valore Google Cloud. Consulta la sezione Risorse per l'etichettatura.diskImageTargetDefaults.additionalLicenses
string[]
Puoi aggiungere fino a dieci licenze aggiuntive all'istanza VM creata dall'immagine importata utilizzando un formato URL valido. Ad esempio, puoi aggiungere altre licenze utilizzando il seguente formato dell'URL:
https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
diskImageTargetDefaults.singleRegionStorage
booleano
Imposta il flag su true se vuoi che l'immaginestorageLocations
in una regione. Se imposti il flag su false, la query più simile è selezionata una località multiregionale.diskImageTargetDefaults.dataDiskImageImport
booleano
Imposta questo flag su true se vuoi saltare l'adattamento all'OS.
Per funzionare correttamente su Google Cloud, le VM create dalle immagini importate richiedono modifiche alla configurazione. Queste modifiche sono chiamate adattamenti del sistema operativo. Migrate to Virtual Machines esegue automaticamente le adattamenti del sistema operativo durante il processo di importazione delle immagini. Per ulteriori informazioni, consulta Adattare le istanze VM per l'esecuzione su Google Cloud.diskImageTargetDefaults.osAdaptationParameters.licenseType
stringa
Il tipo di licenza che vuoi utilizzare per l'immagine. Compute Engine supporta le licenze con pagamento a consumo (PAYG) e BYOL (Bring Your Own License) per le VM di cui è stato eseguito il deployment. Il tipo di licenza predefinito per una VM migrata viene assegnato da Migrate to Virtual Machines in base al sistema operativo di cui è stata eseguita la migrazione, come descritto in Sistemi operativi supportati.
Se il tuo sistema operativo supporta più tipi di licenza, puoi sostituire il tipo di licenza predefinita per specificare esplicitamente un tipo di licenza PAYG o BYOL.
diskImageTargetDefaults.osAdaptationParameters.generalize
booleano
Imposta questo flag su true se vuoi generalizzare l'immagine.
Quando crei un'istanza da un'immagine, Windows aggiunge alcuni le informazioni necessarie all'istanza. La generalizzazione è un processo che rimuove questo in modo da poter creare più istanze dalla stessa immagine.diskImageTargetDefaults.encryption
stringa
La chiave di crittografia gestita da Google che vuoi utilizzare per criptare la tua durante il processo di importazione. Per ulteriori informazioni, vedi Crittografia dei dati at-rest.encryption
stringa
Scegli questa opzione per utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i tuoi dati durante il processo di importazione e i dati dell'immagine creati durante il processo di importazione. Se hai requisiti di conformità specifici Requisiti normativi relativi alle chiavi che proteggono i tuoi dati, puoi usare CMEK per criptare e decriptare i tuoi dati. Queste chiavi di crittografia sono create, gestite e di tua proprietà. Per ulteriori informazioni, consulta Proteggere le risorse utilizzando le chiavi Cloud KMS.
Quando aggiungi un CMEK, devi concedere le autorizzazioni come descritto nella tabella seguente.Ruolo Autorizzazioni obbligatorie Descrizione Account del servizio di migrazione delle VM cloud roles/vmmigration.serviceAgent Concedi questa autorizzazione all'account di servizio Compute Engine per criptare i dati dell'immagine creata durante il processo di importazione. Agente di servizio Compute Engine roles/compute.serviceAgent Concedi questa autorizzazione all'agente di servizio Migrazione a macchine virtuali per criptare i dati durante il processo di importazione. Dovresti visualizzare una risposta simile alla seguente risposta di esempio.
{ "name": "projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID", "metadata": { "createTime": "2023-10-31T09:12:26.94928636Z", "target": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME", "verb": "create", "apiVersion": "v1", "@type": "type.googleapis.com/google.cloud.vmmigration.v1.OperationMetadata" } }
Verifica se il job di importazione dell'immagine è stato completato eseguendo il polling dell'operazione utilizzando il comando seguente.
GET https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID
Sostituisci quanto segue:
HOST_PROJECT_ID
: il nome del progetto host da cui stai eseguendo la migrazione dell'immagine del disco virtuale.REGION_ID
: la regione in cui vuoi eseguire la procedura di importazione delle immagini. L'immagine viene creata nella regione multipla più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati chesingleRegionStorage
è impostato su true. Per un elenco delle varie regioni, consulta Regioni e zone.OPERATION_ID
: l'ID operazione del job di migrazione.
Dovresti vedere una risposta di completamento dell'operazione simile alla seguente di esempio.
{ "done": true, "name": "projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID", "response": { "@type": "type.googleapis.com/google.cloud.vmmigration.v1.ImageImport", "name": "projects/<HOST_PROJECT_ID>/locations/us-central1/imageImports/IMPORT_NAME", "cloudStorageUri": "SOURCE_FILE", "createTime": "2023-10-31T09:04:04.413664947Z", "diskImageTargetDefaults": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "recentImageImportJobs": [ { "name": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME/imageImportJobs/image-import-job", "diskImageTargetDetails": { "imageName": "IMAGE_NAME", "targetProject": "projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "state": "PENDING" } ] }, "metadata": { "createTime": "2023-10-31T09:04:04.416740716Z", "endTime": "2023-10-31T09:05:36.79987142Z", "target": "projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME", "verb": "create", "apiVersion": "v1", "@type": "type.googleapis.com/google.cloud.vmmigration.v1.OperationMetadata" } }
Monitora il completamento del job di importazione delle immagini utilizzando il seguente comando.
GET https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/imageImports/IMPORT_NAME/imageImportJobs/image-import-job
Sostituisci quanto segue:
HOST_PROJECT_ID
: il nome del progetto host da cui stai eseguendo la migrazione dell'immagine del disco virtuale.REGION_ID
: la regione in cui vuoi eseguire la procedura di importazione delle immagini. L'immagine viene creata nella regione multipla più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati chesingleRegionStorage
è impostato su true. Per un elenco delle varie regioni, consulta Regioni e zone.IMPORT_NAME
: l'ID che rappresenta l'immagine di importazione della risorsa. Quando importi un'immagine in Compute Engine, Migrate to Virtual Machines crea prima una risorsa di importazione di immagini. La risorsa di importazione delle immagini rappresenta il processo di importazione delle immagini. Puoi utilizzareIMPORT_NAME
per ottenere il link all'immagine che è stata importata nell'ambito del processo di importazione delle immagini.
Dovresti vedere una risposta di completamento del job simile all'esempio seguente risposta.
{ "createTime":"2023-10-31T09:12:27.053788394Z", "createdResources":[ "https://www.googleapis.com/compute/v1/projects/USER_PROJECT/global/images/IMAGE_NAME" ], "diskImageTargetDetails": { "imageName":"IMAGE_NAME", "targetProject":"projects/HOST_PROJECT_ID/locations/global/targetProjects/TARGET_PROJECT" }, "endTime":"2023-10-31T09:16:50.224865783Z", "name":"projects/HOST_PROJECT_ID/locations/us-central1/imageImports/IMPORT_NAME/imageImportJobs/image-import-job", "state":"SUCCEEDED" }