Crea immagini macchina

Utilizza un'immagine macchina per archiviare configurazioni, metadati, autorizzazioni e dati provenienti da più dischi per un'istanza VM in esecuzione su Compute Engine. L'istanza VM che utilizzi per creare un'immagine macchina è detta istanza VM di origine.

Per informazioni su come e quando utilizzare le immagini macchina, vedi l'apposita sezione.

Questo documento descrive i passaggi per creare un'immagine macchina da un'istanza VM di origine.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. 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:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    2. Set a default region and zone.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Limitazioni e restrizioni

  • Puoi creare un'immagine macchina di un'istanza specifica al massimo 6 volte ogni 60 minuti.
  • Puoi proteggere un'immagine macchina utilizzando Cloud Key Management Service (Cloud KMS) o una chiave di crittografia fornita dal cliente (CSEK). La chiave di crittografia protegge i contenuti dei dischi. Tuttavia, i metadati non sono protetti.
  • Se utilizzi una CSEK per proteggere l'immagine macchina, una copia completa di tutti i dati del disco viene archiviata durante la generazione dell'immagine macchina. In tutti gli altri scenari, i dati del disco vengono archiviati in copie differenziali.
  • Non puoi creare immagini macchina da VM di origine che:

    • hanno più di 200 TB di dischi collegati;
    • non hanno alcun disco collegato;
    • hanno volumi Hyperdisk collegati;
    • Utilizza il tipo di macchina Z3, ad eccezione di z3-highmem-192-highlssd-metal.
    • utilizzano un tipo di macchina C3D, H3 o A3.

    Per le istanze che non supportano la creazione di immagini macchina, puoi creare un'immagine del sistema operativo dal disco di avvio dell'istanza, come descritto in Creare immagini personalizzate.

Proprietà di istanze e dischi non supportate dall'immagine macchina

Quando crei immagini macchina da istanze VM o viceversa, le seguenti proprietà di istanze e dischi non vengono conservate o ripristinate:

  • disks.architecture
  • disks.description
  • disks.labels
  • disks.locked
  • disks.multiWriter
  • disks.onUpdateAction
  • disks.provisionedIops
  • disks.shieldedInstanceInitialState
  • disks.sourceImage
  • disks.sourceImageEncryptionKey
  • disks.sourceInstantSnapshot
  • disks.sourceSnapshot
  • disks.sourceSnapshotEncryptionKey
  • privateIpv6GoogleAccess
  • resourceManagerTags
  • resourcePolicies
  • secure_tag
  • shieldedInstanceConfig

Creazione di un'immagine macchina da una VM

Puoi creare immagini macchina utilizzando la consoleGoogle Cloud , Google Cloud CLI o REST.

Per creare un'immagine macchina, sono necessarie le seguenti informazioni:

  • Un nome per l'immagine macchina che vuoi creare
  • Il nome dell'istanza VM di origine
  • La zona in cui si trova l'istanza VM di origine
  • Una descrizione facoltativa
  • Una storageLocation facoltativa. In assenza di specificazioni, la località di archiviazione predefinita è la località Cloud Storage multiregionale dell'istanza VM di origine.
  • Una chiave di crittografia facoltativa. Puoi scegliere tra una chiave Google-owned and Google-managed encryption key, una chiave Cloud Key Management Service (Cloud KMS) o una chiave di crittografia fornita dal cliente (CSEK). Se non viene specificata alcuna chiave di crittografia, le immagini macchina vengono criptate utilizzando Google-owned and Google-managed encryption key.
  • Se vuoi utilizzare un'immagine macchina per la clonazione e gli snapshot delle istanze, prima di generare l'immagine macchina da un'istanza, rimuovi tutte le informazioni sulle app e sul sistema operativo univoche relative a quell'istanza. Ad esempio, per le istanze VM Windows, utilizza GCESysprep per preparare il sistema a eseguire una replica.

Console

  1. Nella console Google Cloud vai alla pagina Immagini macchina.

    Vai a Immagini macchina

  2. Fai clic su Crea immagine macchina.

  3. Specifica un nome per l'immagine macchina.

  4. Facoltativo: fornisci una descrizione.

  5. Seleziona l'istanza VM di origine.

  6. Facoltativo: specifica dove archiviare l'immagine macchina. Scegli tra lo spazio di archiviazione multiregionale o regionale. Per ulteriori informazioni sulla località, vedi Località di archiviazione delle immagini macchina.

  7. Facoltativo: seleziona un metodo di crittografia.

  8. Fai clic su Crea.

gcloud

Utilizza il comando gcloud compute machine-images create per creare un'immagine macchina da un'istanza.

gcloud compute machine-images create MACHINE_IMAGE_NAME \
    --source-instance=SOURCE_VM_NAME

Sostituisci quanto segue:

  • MACHINE_IMAGE_NAME: il nome dell'immagine della macchina che vuoi creare
  • SOURCE_VM_NAME: il nome dell'istanza VM di origine da cui vuoi creare l'immagine

Esempio

Ad esempio, puoi utilizzare il comando gcloud per creare un'immagine macchina denominata my-machine-image da un'istanza di origine nota come my-instance:

gcloud compute machine-images create my-machine-image  \
    --source-instance=my-instance

Il processo richiede alcuni minuti. Quando viene creata l'immagine macchina, viene visualizzato un output simile al seguente:

Created [https://www.googleapis.com/compute/v1/projects/project-12345/global/machineImages/my-machine-image].
NAME               STATUS
my-machine-image   READY

REST

Nell'API, crea una richiesta POST al metodo machineimages.insert. Nel corpo, includi la richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/machineImages

{
  "name": "MACHINE_IMAGE_NAME",
  "sourceInstance": "SOURCE_INSTANCE_URL"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • MACHINE_IMAGE_NAME: il nome dell'immagine della macchina che vuoi creare
  • SOURCE_INSTANCE_URL: l'URL completo o parziale dell'istanza VM di origine che vuoi utilizzare per creare l'immagine macchina. Ad esempio, se hai un'istanza di origine denominata my-instance in un progetto noto come myProject. I seguenti URL sono validi:

    • https://www.googleapis.com/compute/v1/projects/myProject/global/instances/my-instance
    • projects/myProject/global/instances/my-instance
    • global/instances/my-instance

Passaggi successivi