Crea immagini macchina

Utilizza un'immagine della macchina per archiviare tutte le configurazioni, i metadati, le autorizzazioni e i dati di più dischi per un'istanza VM in esecuzione su Compute Engine. L'istanza VM che utilizzi per creare un'immagine macchina è denominata istanza VM di origine.

Per informazioni su quando e come utilizzare le immagini macchina, consulta Immagini macchina.

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 è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

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

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Limitazioni e restrizioni

  • Puoi condividere un'immagine macchina tra progetti. Tuttavia, le reti VPC condivise non sono supportate.
  • Puoi creare un'immagine macchina al massimo una volta ogni 10 minuti. Se vuoi inviare una serie di richieste per la creazione di più immagini macchina da un'istanza, puoi inviare al massimo 6 richieste in 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 della macchina, viene archiviata una copia completa di tutti i dati del disco durante la generazione dell'immagine della macchina. In tutti gli altri scenari, i dati dei dischi vengono archiviati in copie differenziali.
  • Non puoi creare immagini macchina da VM di origine che:

    • Avere più di 200 TB di dischi collegati.
    • Non ha dischi collegati.
    • Avere un disco Hyperdisk Extreme collegato.

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

Quando crei immagini macchina da istanze VM o crei istanze VM dalle immagini macchina, 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 console Google Cloud, Google Cloud CLI o REST.

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

  • Un nome per l'immagine della 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.
  • Un elemento storageLocation facoltativo. Se non specifichi una località, 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 gestita da Google, una chiave Cloud Key Management Service (Cloud KMS) o una chiave crittografia fornita dal cliente (CSEK). Se non viene specificata alcuna chiave di crittografia, le immagini macchina vengono criptate tramite una chiave gestita da Google.
  • Se vuoi utilizzare un'immagine macchina per la clonazione e la creazione di snapshot delle istanze, rimuovi le informazioni sul sistema operativo e sull'app univoche per l'istanza prima di generare l'immagine della macchina da un'istanza. Ad esempio, per le istanze VM Windows, utilizza GCESysprep per preparare il sistema per la 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 della tua macchina.

  4. (Facoltativo) Fornisci una descrizione.

  5. Seleziona Istanza VM di origine.

  6. (Facoltativo) Specifica dove archiviare l'immagine della macchina. Scegli tra Più regioni o A livello di regione. Per ulteriori informazioni sulla posizione, consulta Posizione di archiviazione delle immagini della 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: nome dell'immagine della macchina che vuoi creare.
  • SOURCE_VM_NAME: nome dell'istanza VM di origine da cui vuoi creare l'immagine.

Esempio

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

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

La procedura richiede alcuni minuti. Quando viene creata l'immagine della macchina, ottieni 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 per il metodo machineimages.insert. Nel corpo della richiesta, includi la seguente 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: ID progetto.
  • MACHINE_IMAGE_NAME: nome dell'immagine della macchina che vuoi creare.
  • SOURCE_INSTANCE_URL: 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 chiamato 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

Che cosa succede dopo?