Crea immagini macchina


Utilizza un'immagine 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 è detta 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 la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Limitazioni e restrizioni

  • Puoi creare un'immagine macchina di una specifica istanza 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, durante la generazione dell'immagine macchina viene archiviata una copia completa di tutti i dati del disco. In tutti gli altri scenari, i dati del disco vengono archiviati in copie differenziali.
  • Non puoi creare immagini macchina dalle VM di origine che:

    • Avere più di 200 TB di dischi collegati.
    • Non hanno dischi collegati.
    • Avere volumi Hyperdisk collegati.
    • Utilizza un tipo di macchina C3D, H3, A3 o Z3.

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

Quando crei immagini macchina da istanze VM o istanze VM da immagini macchina, le seguenti proprietà di istanza e disco 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 Google Cloud console, 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 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 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 della macchina vengono criptate utilizzando un Google-owned and Google-managed encryption key.
  • Se vuoi utilizzare un'immagine macchina per la clonazione e la creazione di snapshot delle istanze, rimuovi le informazioni sul sistema operativo e sulle app univoche per l'istanza prima di generare l'immagine macchina da un'istanza. Ad esempio, per le istanze VM Windows, utilizza GCESysprep per preparare il sistema alla replica.

Console

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

    Vai a Immagini macchina

  2. Fai clic su Crea immagine della macchina.

  3. Specifica un Nome per l'immagine della macchina.

  4. (Facoltativo) Fornisci una Descrizione.

  5. Seleziona l'istanza VM di origine.

  6. (Facoltativo) Specifica dove archiviare l'immagine della macchina. Scegli tra l'archiviazione multiregionale o regionale. Per saperne di più sulla posizione, consulta Posizione di archiviazione dell'immagine 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 seguente comando gcloud per creare un'immagine 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

Il processo richiede alcuni minuti. Quando l'immagine macchina viene creata, 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 al 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: 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 denominato 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