Importa immagini disco virtuale

Migrate to Virtual Machines consente di importare un'immagine disco virtuale in un'immagine di Compute Engine. Se nel tuo ambiente on-premise sono presenti immagini di dischi virtuali con le configurazioni e i software necessari, puoi risparmiare tempo importando queste immagini in Compute Engine e utilizzando l'immagine risultante per creare istanze di macchine virtuali o dischi permanenti.

Prima di iniziare

Formati supportati

Puoi importare i file immagine dei dischi virtuali nei seguenti formati utilizzando Migrate to Virtual Machines:

  • Disco macchina virtuale (VMDK) - Opzione consigliata; i file VMDK vengono importati più rapidamente
  • Copia su scrittura QEMU (QCOW)
  • QEMU copia su scrittura 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, è supportato anche un file raw compresso come .tar.gz. Assicurati che il file compresso contenga un singolo file denominato disk.raw.

Procedura di importazione dell'immagine

Per importare l'immagine di un disco virtuale in un'immagine Compute Engine mediante Migrate to Virtual Machines, segui questi passaggi:

  1. Prepara un file immagine del disco virtuale per l'importazione
  2. Scegli un progetto di destinazione
  3. Importa l'immagine di un disco virtuale in Compute Engine

Prepara un file del disco virtuale per l'importazione

Per importare un'immagine disco virtuale in un'immagine Compute Engine, devi prima preparare il file immagine del disco virtuale per l'importazione. Le sezioni seguenti discutono in dettaglio di queste attività.

Aggiungi il file immagine del disco virtuale a Cloud Storage

Per importare un'immagine disco virtuale in un'immagine Compute Engine, devi prima aggiungere il file immagine del disco virtuale a Cloud Storage. Per maggiori informazioni, consulta Caricare oggetti da un file system. Per ottenere 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 disco virtuale in un'immagine Compute Engine, concedi le autorizzazioni come descritto nella tabella seguente.

Ruolo Autorizzazioni obbligatorie Descrizione
Visualizzatore oggetti Storage roles/storage.objectViewer Concedi questa autorizzazione all'account di servizio del progetto host per poter importare un'immagine disco virtuale in un'immagine Compute Engine.
Amministratore migrazione VM roles/vmmigration.admin Concedi questa autorizzazione al progetto host per poter creare nuove origini Migrate to Virtual Machines ed eseguire tutte le altre operazioni di migrazione.
Account di servizio di migrazione delle VM roles/vmmigration.serviceAgent Concedi questa autorizzazione al progetto di destinazione per poter creare istanze di macchine virtuali (VM), dischi e immagini di cui è stata eseguita la migrazione 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 saperne di più sulla creazione o sulla scelta di un progetto di destinazione, consulta Aggiungere un progetto di destinazione.

Importa un'immagine disco virtuale in Compute Engine

Puoi importare un'immagine disco virtuale in Compute Engine utilizzando la console Google Cloud, Google Cloud CLI o i comandi dell'API REST.

Console

Per importare l'immagine di un disco virtuale in Compute Engine utilizzando la console Google Cloud, segui questi passaggi.

  1. Apri la pagina Migrate to Virtual Machines nella console Google Cloud.

    Vai alla pagina Migrate to Virtual Machines (Esegui la migrazione alle macchine virtuali).

  2. Seleziona la scheda Importazioni di immagini.

  3. Fai clic su Crea immagine.

  4. Definisci le caratteristiche dell'immagine. La seguente tabella 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 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 delle immagini. La risorsa di importazione dell'immagine rappresenta il processo di importazione dell'immagine. Puoi utilizzare l'ID di importazione immagine per ottenere il link all'immagine che è stata importata durante il processo di importazione dell'immagine.
    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 attuale e seleziona il file da cui vuoi importare l'immagine.
    Se vuoi importare un'immagine da un bucket da un altro progetto, devi inserire il percorso nel formato bucket/cartella/file. Per ottenere il percorso di un oggetto all'interno di un bucket, consulta Visualizzazione dei metadati degli oggetti. Quando copi il percorso, assicurati di non copiare il prefisso gs://.
    Tieni presente che puoi importare immagini solo da file .vmdk e .tar.gz.
    Regione La regione in cui vuoi creare l'immagine. Per un elenco delle regioni 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 fornite in Aggiungere un progetto di destinazione.
    Famiglia (Facoltativo) Seleziona la famiglia di immagini. Compute Engine fornisce famiglie di immagini per garantire che i tuoi sistemi di automazione possano fare riferimento alle immagini più recenti. In qualità di amministratore, puoi raggruppare un insieme di immagini come famiglia di immagini. Per ulteriori informazioni, consulta la sezione Famiglie di immagini pubbliche.
    Descrizione (Facoltativo) Aggiungi una descrizione per l'immagine.
    Salta adattamento del sistema operativo Per saltare l'adattamento del sistema operativo, imposta l'opzione Ignora adattamento del sistema operativo per attivare l'opzione.
    Per funzionare correttamente su Google Cloud, le VM create da immagini importate richiedono modifiche alla loro configurazione. Queste modifiche sono denominate adattamenti del sistema operativo. Migrate to Virtual Machines esegue automaticamente l'adattamento del sistema operativo nel processo di importazione dell'immagine. Per ulteriori informazioni, consulta Adattare le istanze VM all'esecuzione su Google Cloud.
    Generalizza Per generalizzare l'immagine, attiva l'opzione Generalizza. Quando crei un'istanza da un'immagine, Windows aggiunge alcune informazioni univoche all'istanza. La generalizzazione è un processo che rimuove queste informazioni in modo da poter creare più istanze dalla stessa immagine.
    Licenze Tipo di licenza Compute Engine supporta le licenze con pagamento a consumo (PAYG) e porta le tue licenze (BYOL) per le VM di cui hai eseguito il deployment. Il tipo di licenza predefinito per una VM di cui è stata eseguita la migrazione 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 predefinito 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 alle risorse delle etichette sotto forma di coppie chiave-valore. Vedi 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 dati durante il processo di importazione. Per saperne di più, vedi Criptare i dati quando sono at-rest.
    Chiave di crittografia gestita dal cliente Scegli questa opzione per utilizzare chiavi di crittografia gestite dal cliente (CMEK) per criptare i tuoi dati durante il processo di importazione e i dati dell'immagine creata dal processo di importazione. Se hai requisiti specifici di conformità o normativi relativi alle chiavi che proteggono i dati, puoi utilizzare CMEK per criptare e decriptare i tuoi dati. Queste chiavi di crittografia sono create, gestite e di tua proprietà. Per ulteriori informazioni, consulta l'articolo Proteggere le risorse utilizzando le chiavi Cloud KMS.
    Quando aggiungi una 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 all'agente di servizio Migrate to Virtual Machines questa autorizzazione per criptare i dati durante il processo di importazione.
  5. Seleziona Crea.

gcloud

Per importare un'immagine disco virtuale in Compute Engine mediante Google Cloud CLI, utilizza la seguente richiesta.

gcloud alpha migration vms image-imports create IMAGE_NAME \
--source-file=SOURCE_FILE \
--target-project=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 eseguire il processo di importazione delle immagini. L'immagine viene creata nella località a più regioni più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle aree geografiche supportate, consulta Regioni e zone.
  • SOURCE_FILE: il 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 Visualizzazione dei metadati degli oggetti. Tieni presente che puoi importare immagini solo da file .vmdk e .tar.gz.
  • IMAGE_NAME: il nome dell'immagine che vuoi creare. Per ulteriori informazioni sulle regole di denominazione, vedi Convenzione di denominazione.
  • TARGET_PROJECT: il progetto di destinazione in cui vuoi creare l'immagine. Se non lo hai già fatto, segui le istruzioni fornite in Aggiungere un progetto di destinazione.

Per ulteriori informazioni, vedi gcloud alpha migration vms image-imports.

REST

Per importare un'immagine disco virtuale in Compute Engine utilizzando l'API REST, segui questi passaggi.

  1. Crea una risorsa di importazione di immagini utilizzando la richiesta seguente.

    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 eseguire il processo di importazione delle immagini. L'immagine viene creata nella località a più regioni più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle aree geografiche supportate, consulta Regioni e zone.
    • SOURCE_FILE: il 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 Visualizzazione dei metadati degli oggetti. Tieni presente che puoi importare immagini solo da file .vmdk e .tar.gz.
    • IMAGE_NAME: il nome dell'immagine che vuoi creare. Per ulteriori informazioni sulle regole di denominazione, vedi Convenzione di denominazione.
    • TARGET_PROJECT: il progetto di destinazione in cui vuoi creare l'immagine. Se non lo hai già fatto, segui le istruzioni fornite in Aggiungere un progetto di destinazione.

    In questo esempio, IMPORT_NAME è 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 dell'immagine. La risorsa di importazione dell'immagine rappresenta il processo di importazione dell'immagine. Puoi utilizzare l'IMPORT_NAME per ottenere il link all'immagine importata durante il processo di importazione dell'immagine.

    Consulta la seguente tabella per l'elenco completo dei campi supportati per i campi di richiesta di creazione dell'importazione di immagini.

    Nome campo Descrizione
    cloudStorageUri string
    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 Visualizzazione dei metadati degli oggetti.
    Tieni presente che puoi importare immagini solo da file .vmdk e .tar.gz.
    diskImageTargetDefaults.targetProject string
    Il percorso di TargetProject. Il progetto di destinazione in cui vuoi creare l'immagine. Per saperne di più, consulta il riferimento sull'API target del progetto. 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 string
    Il nome dell'immagine da creare. Per saperne di più sulle regole di denominazione, consulta la convenzione di denominazione delle risorse.
    diskImageTargetDefaults.description string
    (Facoltativo) Una descrizione dell'immagine.
    diskImageTargetDefaults.familyName string
    (Facoltativo) Seleziona la famiglia di immagini. Compute Engine fornisce famiglie di immagini per garantire che i tuoi sistemi di automazione possano fare riferimento alle immagini più recenti. In qualità di amministratore, puoi raggruppare un insieme di immagini come famiglia di immagini. Per ulteriori informazioni, consulta la sezione Famiglie di immagini pubbliche. Per ulteriori informazioni, consulta la sezione Famiglie di immagini pubbliche.
    diskImageTargetDefaults.labels mappa (chiave: stringa, valore: stringa)
    Per organizzare il progetto, aggiungi alle risorse delle etichette sotto forma di coppie chiave-valore. Consulta la pagina 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 ulteriori licenze utilizzando il seguente formato di URL:
    https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
    diskImageTargetDefaults.singleRegionStorage booleano
    Imposta questo flag su true se vuoi che l'immagine storageLocations sia una regione. Se imposti questo flag su false, viene selezionata la località multiregionale più vicina.
    diskImageTargetDefaults.dataDiskImageImport booleano
    Imposta questo flag su true se vuoi saltare l'adattamento del sistema operativo.
    Per funzionare correttamente su Google Cloud, le VM create da immagini importate richiedono modifiche alla loro configurazione. Queste modifiche sono denominate adattamenti del sistema operativo. Migrate to Virtual Machines esegue automaticamente l'adattamento del sistema operativo nel processo di importazione dell'immagine. Per ulteriori informazioni, consulta Adattare le istanze VM all'esecuzione su Google Cloud.
    diskImageTargetDefaults.osAdaptationParameters.licenseType string
    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 predefinito 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 alcune informazioni univoche all'istanza. La generalizzazione è un processo che rimuove queste informazioni 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 i dati durante il processo di importazione. Per saperne di più, vedi Criptare i dati quando sono at-rest.
    encryption string
    Scegli questa opzione per utilizzare 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 specifici di conformità o normativi relativi alle chiavi che proteggono i dati, puoi utilizzare CMEK per criptare e decriptare i tuoi dati. Queste chiavi di crittografia sono create, gestite e di tua proprietà. Per ulteriori informazioni, consulta l'articolo Proteggere le risorse utilizzando le chiavi Cloud KMS.
    Quando aggiungi una CMEK, devi concedere le autorizzazioni come descritto nella tabella seguente.
    Ruolo Autorizzazioni obbligatorie Descrizione
    Account di servizio Cloud VM Migration 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 all'agente di servizio Migrate to Virtual Machines questa autorizzazione 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"
      }
    }
    
  2. Per verificare se il job di importazione dell'immagine è completo, esegui il polling dell'operazione utilizzando il seguente comando.

    GET https://vmmigration.googleapis.com/v1/projects/HOST_PROJECT_ID/locations/REGION_ID/operations/OPERATION_ID
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: nome del progetto host da cui esegui la migrazione dell'immagine del disco virtuale.
    • REGION_ID: la regione in cui vuoi eseguire il processo di importazione delle immagini. L'immagine viene creata nella località a più regioni più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle aree geografiche supportate, consulta Regioni e zone.
    • OPERATION_ID: l'ID operazione del job di migrazione.

    Dovresti vedere una risposta di completamento dell'operazione simile alla seguente risposta 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"
        }
      }
    
  3. Monitora il completamento del job di importazione dell'immagine 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: nome del progetto host da cui esegui la migrazione dell'immagine del disco virtuale.
    • REGION_ID: la regione in cui vuoi eseguire il processo di importazione delle immagini. L'immagine viene creata nella località a più regioni più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle aree geografiche supportate, consulta Regioni e zone.
    • IMPORT_NAME: l'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 dell'immagine. La risorsa di importazione dell'immagine rappresenta il processo di importazione dell'immagine. Puoi utilizzare l'elemento IMPORT_NAME per ottenere il link all'immagine importata durante il processo di importazione dell'immagine.

    Dovresti visualizzare una risposta di completamento del job simile alla seguente risposta di esempio.

    {
      "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"
    }