Importa i dischi virtuali


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 di file di dischi virtuali, tra cui VMDK e VHD.

Prima di iniziare

Formati supportati

Puoi importare file di immagini 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 su scrittura QEMU (QCOW)
  • Copia su scrittura QEMU 2 (QCOW2)
  • Formato del disco avanzato QEMU (QED)
  • VPC
  • Immagine disco virtuale (VDI)
  • Disco rigido virtuale 2 (VHDX)
  • Disco rigido virtuale (VHD)

Oltre a questi formati, è supportato anche un file non elaborato compresso come .tar.gz. Assicurati che il file compresso contenga un singolo file denominato disk.raw.

Procedura di importazione delle immagini

Per importare un'immagine del disco virtuale in un'immagine Compute Engine utilizzando Migrate to Virtual Machines, segui questi passaggi:

  1. Preparare un file immagine del disco virtuale per l'importazione
  2. Scegliere un progetto di destinazione
  3. Importare un'immagine del disco virtuale in Compute Engine

Preparare 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 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 bucket in cui risiede l'immagine che vuoi importare. Questa autorizzazione consente a Migrate to Virtual Machines di accedere all'immagine di origine.
Amministratore di 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, devi concedere a questo account di servizio il ruolo 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 la sezione Aggiunta di un progetto di destinazione.

Importa un'immagine del 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 un'immagine del 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
  2. Seleziona la scheda Importazioni di immagini.
  3. Fai clic su Crea immagine.
  4. 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 delle immagini. 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 importazione immagine per ottenere il link all'immagine importata nell'ambito del processo di importazione.
    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 attivo e seleziona il file da cui vuoi importare l'immagine.
    Se vuoi importare un'immagine da un bucket di 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 Visualizzare i metadati degli oggetti. Quando copi il percorso, assicurati di non copiare il prefisso gs://.
    Tieni presente che puoi importare immagini solo dai 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 riportate in Aggiungere un progetto di destinazione.
    Famiglia (Facoltativo) Seleziona la famiglia di immagini. Compute Engine fornisce famiglie di immagini per fare in modo che i sistemi di automazione possano fare riferimento alle immagini più recenti. In qualità di amministratore, puoi raggruppare una serie di immagini in una famiglia. Per saperne di più, consulta Famiglie di immagini pubbliche.
    Descrizione (Facoltativo) Aggiungi una descrizione dell'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 dalle immagini importate richiedono modifiche alla configurazione. Queste modifiche sono indicate come adattamenti del sistema operativo. Migrate to Virtual Machines esegue automaticamente gli 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.
    Generalizza Per generalizzare l'immagine, fai clic sul pulsante di attivazione/disattivazione Generalizza per attivarlo. 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 BYOL (Bring Your Own License) per le VM di cui è stato 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 altre licenze utilizzando il seguente formato dell'URL:
    https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
    Etichette Per organizzare il progetto, aggiungi etichette come coppie chiave-valore alle risorse. Vedi Organizzare le risorse con 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 ulteriori informazioni, vedi 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 creata dal processo di importazione. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le 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 del servizio di migrazione delle VM cloud 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 Migrate to Virtual Machines per criptare i dati durante il processo di importazione.
  5. Seleziona Crea.

gcloud

Per importare un'immagine del disco virtuale in Compute Engine utilizzando Google Cloud CLI, utilizza 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 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.
  • 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 che singleRegionStorage sia impostato su true. Per un elenco delle regioni supportate, 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.

  1. 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 eseguire il processo di importazione delle immagini. L'immagine viene creata nella regione multipla più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle regioni 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 Visualizzare i metadati degli oggetti. Tieni presente che puoi importare immagini solo dai file .vmdk e .tar.gz.
    • 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 ancora aggiunto un progetto di destinazione, segui le istruzioni riportate 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 una risorsa di importazione delle immagini. La risorsa di importazione delle immagini rappresenta il processo di importazione delle immagini. Puoi utilizzare IMPORT_NAME per ottenere il link all'immagine importata durante la procedura di importazione.

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

    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 del TargetProject. Il progetto di destinazione in cui vuoi creare l'immagine. Per ulteriori informazioni, consulta il riferimento all'API del progetto target. 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 famiglie di immagini per fare in modo che i sistemi di automazione possano fare riferimento alle immagini più recenti. In qualità di amministratore, puoi raggruppare una serie di immagini in una famiglia. Per saperne di più, consulta Famiglie di immagini pubbliche. Per saperne di più, consulta Famiglie di immagini pubbliche.
    diskImageTargetDefaults.labels map (key: string, value: string)
    Per organizzare il progetto, aggiungi alle risorse delle etichette sotto forma di coppie chiave-valore. Consulta la sezione Risorse per l'etichettatura.
    diskImageTargetDefaults.additionalLicenses string[]
    Puoi aggiungere fino a 10 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 questo flag su true se vuoi che l'immagine storageLocations sia una regione. Se imposti questo flag su false, viene selezionata la regione più vicina.
    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 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 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 tuoi dati durante la procedura 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 creata durante il processo di importazione. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le 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 Migrate to Virtual Machines 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. Controlla se il job di importazione delle immagini è stato completato eseguendo 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: il 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 regione multipla più vicina. Se vuoi che l'immagine venga creata in una regione, assicurati che singleRegionStorage sia impostato su true. Per un elenco delle regioni supportate, consulta Regioni e zone.
    • OPERATION_ID: l'ID operazione del job di migrazione.

    Dovresti visualizzare 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 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 esegui 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 che singleRegionStorage sia impostato su true. Per un elenco delle regioni supportate, consulta Regioni e zone.
    • IMPORT_NAME: l'ID che rappresenta la risorsa di importazione delle immagini. 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 IMPORT_NAME per ottenere il link all'immagine che è stata importata nell'ambito del processo di importazione delle immagini.

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