Crea immagini personalizzate (original) (raw)

Passa ai contenuti principali

Crea immagini personalizzate

Linux

Puoi creare immagini personalizzate da dischi di origine, immagini, snapshot o immagini archiviate in Cloud Storage e usarle per creare istanze di macchine virtuali (VM). Le immagini personalizzate sono ideali per le situazioni in cui hai creato e modificato un disco di avvio permanente o un'immagine specifica in un determinato stato e devi salvare questo stato per creare VM.

In alternativa, puoi utilizzare lo strumento di importazione dei dischi virtuali per importare le immagini del disco di avvio in Compute Engine dai tuoi sistemi esistenti e aggiungerle all'elenco delle immagini personalizzate.

Prima di iniziare

Console

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

gcloud

  1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
    gcloud init
    Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

Go

Per utilizzare gli esempi di Go in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
  3. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
    gcloud auth application-default login
    Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

Java

Per utilizzare gli esempi Java in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
  3. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
    gcloud auth application-default login
    Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

Node.js

Per utilizzare gli esempi di Node.js in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
  3. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
    gcloud auth application-default login
    Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

Python

Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

  1. Installa Google Cloud CLI.
  2. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
  3. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
    gcloud auth application-default login
    Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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.

Installa Google Cloud CLI.

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

Per saperne di più, consultaAutenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per creare un'immagine personalizzata, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un'immagine personalizzata. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare un'immagine personalizzata sono necessarie le seguenti autorizzazioni:

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Crea un'immagine personalizzata

Questa sezione descrive come creare un'immagine personalizzata su una VM Linux. Per informazioni sulla creazione di un'immagine Windows, consulta Creazione di un'immagine Windows.

Seleziona una posizione di archiviazione delle immagini

Quando crei un'immagine personalizzata, puoi specificare la località in Cloud Storage dell'immagine, escluse quelle a due regioni. Specificando la località di archiviazione delle immagini, puoi soddisfare i requisiti normativi e di conformità per la localizzazione dei dati, nonché quelli per le esigenze di alta affidabilità, così da garantire la ridondanza tra regioni. Per creare, modificare ed eliminare le immagini archiviate in Cloud Storage, devi disporre diroles/compute.storageAdmin.

La funzionalità della località di archiviazione è facoltativa. Se non selezioni una località, Compute Engine archivia l'immagine nella multi-regione più vicina all'origine dell'immagine. Ad esempio, quando crei un'immagine da un disco di origine che si trova in us-central1 e se non specifichi una località per l'immagine personalizzata, Compute Engine archivia l'immagine nella multi-regione us.

Se l'immagine non è disponibile in una regione in cui stai creando una VM, Compute Engine la memorizza nella cache in quella regione la prima volta che crei una VM.

Per visualizzare la posizione in cui è archiviata un'immagine, utilizza il comandoimages describeda gcloud compute:

gcloud compute images describe IMAGE_NAME
--project=PROJECT_ID

Sostituisci quanto segue:

Tutte le immagini esistenti prima del lancio di questa funzionalità rimarranno dove si trovano. L'unica differenza è che puoi visualizzare la località di tutte le immagini. Se vuoi spostare un'immagine esistente, devi ricrearla nella nuova posizione.

Prepara la VM per un'immagine

Puoi creare un'immagine da un disco anche quando è collegato a una VM in esecuzione. Tuttavia, l'immagine è più affidabile se metti la VM in uno stato più facile da acquisire. Questa sezione descrive come preparare il disco di avvio per l'immagine.

Ridurre al minimo la scrittura di dati sul disco permanente

Utilizza una delle seguenti procedure per ridurre le scritture su disco:

Disattiva l'opzione di eliminazione automatica per il disco

Per impostazione predefinita, l'opzione di eliminazione automatica è abilitata sui dischi di avvio. Prima di creare un'immagine da un disco, disattiva l'eliminazione automatica per evitare che il disco venga eliminato automaticamente quando elimini la VM.

Per disattivare l'eliminazione automatica per il disco, utilizza uno dei seguenti metodi:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze VM.
    Vai alla pagina Istanze VM
  2. Fai clic sul nome della VM che utilizzi come origine per creare un'immagine.
    Viene visualizzata la pagina Dettagli istanza VM.
  3. Fai clic su Modifica.
  4. Nella sezione Disco di avvio, verifica che per la Regola di eliminazione sia selezionata l'opzione Conserva disco.
  5. Fai clic su Salva.

gcloud

In Google Cloud CLI, utilizza ilcomando gcloud compute instances set-disk-auto-deleteper disattivare l'opzione di eliminazione automatica per il disco.

gcloud compute instances set-disk-auto-delete VM_NAME
--no-auto-delete
--disk=SOURCE_DISK

Sostituisci quanto segue:

Go

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Go.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

Java

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Java.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

Node.js

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Node.js.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

Python

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Python.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

REST

Per impostare l'opzione di eliminazione automatica di un disco, invia una richiesta POST almetodo instances.setDiskAutoDelete.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setDiskAutoDelete?autoDelete=false&deviceName=SOURCE_DISK

Sostituisci quanto segue:

Dopo aver preparato la VM, crea l'immagine.

Crea l'immagine

Puoi creare immagini dei dischi dalle seguenti origini:

Puoi creare un'immagine del disco una volta ogni 10 minuti. Se vuoi inviare una serie di richieste per creare un'immagine disco, puoi inviare al massimo 6 richieste in 60 minuti. Per ulteriori informazioni, consultaLimiti di frequenza degli snapshot.

Console

  1. Nella console Google Cloud , vai alla pagina Crea un'immagine.
    Vai a Crea un'immagine
  2. Specifica il Nome dell'immagine.
  3. Specifica l'Origine da cui vuoi creare un'immagine. Può essere un disco permanente, uno snapshot, un'altra immagine o un file disk.raw in Cloud Storage.
  4. Se stai creando un'immagine da un disco collegato a una VM in esecuzione, seleziona Mantieni in esecuzione l'istanza per confermare che vuoi creare l'immagine mentre la VM è in esecuzione. Puoi preparare la VMprima di creare l'immagine.
  5. Nell'elenco a discesa Basata sulla posizione del disco di origine (impostazione predefinita), specifica la posizione in cui archiviare l'immagine. Ad esempio, specifica us per archiviare l'immagine nella località multiregionale us oppure us-central1 per archiviarla nella regione us-central1. Se non effettui una selezione, Compute Engine archivia l'immagine nella multi-regione più vicina alla località di origine dell'immagine.
  6. (Facoltativo) Specifica le proprietà dell'immagine.
    • Famiglia: la famiglia di immaginia cui appartiene questa nuova immagine.
    • Descrizione: una descrizione dell'immagine personalizzata.
    • Etichetta: un'etichetta per raggruppare le risorse.
  7. Specifica la chiave di crittografia. Puoi scegliere tra una Google-owned and Google-managed encryption key, una chiave Cloud Key Management Service (Cloud KMS) o una chiave dicrittografia fornita dal cliente (CSEK). Se non viene specificata alcuna chiave di crittografia, le immagini vengono criptate utilizzando una Google-owned and Google-managed encryption key.
  8. Fai clic su Crea per creare l'immagine.

gcloud

In Google Cloud CLI, utilizza ilcomando gcloud compute images createper creare un'immagine personalizzata.

Crea un'immagine da un disco di origine:

Il flag --force è un flag facoltativo che consente di creare l'immagine da un'istanza in esecuzione. Per impostazione predefinita, non puoi creare immagini da istanze in esecuzione. Specifica questo flag solo se vuoi creare l'immagine mentre l'istanza è in esecuzione.

gcloud compute images create IMAGE_NAME
--source-disk=SOURCE_DISK
--source-disk-zone=ZONE
[--family=IMAGE_FAMILY]
[--storage-location=LOCATION]
[--force]

Sostituisci quanto segue:

Crea un'immagine da un'immagine di origine:

gcloud compute images create IMAGE_NAME
--source-image=SOURCE_IMAGE
[--source-image-project=IMAGE_PROJECT]
[--family=IMAGE_FAMILY]
[--storage-location=LOCATION]

Sostituisci quanto segue:

Crea un'immagine da uno snapshot:

gcloud compute images create IMAGE_NAME
--source-snapshot=SOURCE_SNAPSHOT
[--storage-location=LOCATION]

Sostituisci quanto segue:

Visualizzare la posizione di un'immagine:

Utilizza il comando gcloud compute images describe per visualizzare la posizione di un'immagine.

gcloud compute images describe IMAGE_NAME

Sostituisci IMAGE_NAME con il nome dell'immagine che vuoi esaminare.

Go

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Go.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

Java

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Java.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

Python

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nellaguida rapida di Compute Engine per l'utilizzo delle librerie client. Per saperne di più, consulta ladocumentazione di riferimento dell'API Compute Engine per Python.

Per effettuare l'autenticazione in Compute Engine, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vediConfigura l'autenticazione per le librerie client.

REST

Invia una richiesta POST almetodo images().insert, un URL nel corpo della richiesta che rimanda all'oggetto di origine da cui vuoi creare l'immagine. Specifica gli URL delle tue risorse utilizzando il tuo ID progetto e i nomi delle risorse.

Crea un'immagine da un disco permanente:

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

{ "name": "IMAGE_NAME", "sourceDisk": "/zones/ZONE/disks/SOURCE_DISK", ("storageLocations": "LOCATION",) ("forceCreate": "TRUE") }

Sostituisci quanto segue:

Il parametro facoltativo forceCreate consente di creare l'immagine da una VM in esecuzione. Specifica TRUE solo se vuoi creare l'immagine da una VM in esecuzione. L'impostazione predefinita di forceCreateè FALSE.

Creare un'immagine da un'altra immagine:

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

{ "name": "IMAGE_NAME", "sourceImage": "/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION") }

Sostituisci quanto segue:

Crea un'immagine da uno snapshot:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "IMAGE_NAME", "sourceSnapshot": "(/SOURCE_PROJECT_ID)/global/snapshots/SOURCE_SNAPSHOT", ("storageLocations": "LOCATION") }

Sostituisci quanto segue:

Per saperne di più sull'aggiunta di immagini, consulta la documentazione di riferimento sulle immagini.

Dopo aver creato un'immagine personalizzata, puoi condividerla tra i progetti. Se consenti agli utenti di un altro progetto di utilizzare le tue immagini personalizzate, questi possono accedere a queste immagini specificando il progetto di immagini nella loro richiesta.

Attivare le funzionalità del sistema operativo guest

Utilizza le funzionalità del sistema operativo guest per configurare le seguenti opzioni di rete, sicurezza, spazio di archiviazione e sistema operativo sulle immagini personalizzate. Le immagini personalizzate con queste funzionalità configurate vengono utilizzate come dischi di avvio.

gcloud

Utilizza il comando gcloud compute images create con il flag --guest-os-features per creare una nuova immagine personalizzata da un'immagine personalizzata esistente.

gcloud compute images create IMAGE_NAME
--source-image=SOURCE_IMAGE
[--source-image-project=IMAGE_PROJECT]
--guest-os-features="FEATURES,..."
[--storage-location=LOCATION]

Sostituisci quanto segue:

REST

Utilizza il metodo images().insertcon il flag guestOsFeatures per creare una nuova immagine personalizzata da un'immagine personalizzata esistente.

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

{ "name": "IMAGE_NAME", "sourceImage": "(projects/IMAGE_PROJECT)/global/images/SOURCE_IMAGE", ("storageLocations": "LOCATION",) "guestOsFeatures": [ { "type": "FEATURES" } ] }

Sostituisci quanto segue:

Evita informazioni sensibili nelle variabili UEFI

Le variabili Unified Extensible Firmware Interface (UEFI) sono variabili di coppie chiave-valore utilizzate dal firmware UEFI durante l'avvio per avviare il sistema operativo di una VM. A differenza delle macchine fisiche, in cui le variabili sono archiviate su un chip hardware, Compute Engine virtualizza l'archiviazione di queste variabili. Pertanto, in molti sistemi operativi, tutte le applicazioni e tutti gli utenti possono raggiungere queste variabili e accedere a queste informazioni.

Per questo motivo, Google consiglia vivamente di non scrivere o archiviare informazioni sensibili o che consentono l'identificazione personale, come password o chiavi private, nelle variabili UEFI.

Considerazioni per le immagini Arm

Google offre le serie di macchine A4X, C4A e Tau T2A, che vengono eseguite su piattaforme CPU Arm. Puoi avviare una VM con una di queste serie di macchine e poi utilizzare la VM di origine per creare un'immagine Arm. La procedura per creare un'immagine Arm personalizzata è identica a quella per creare un'immagine x86.

Per aiutare gli utenti a distinguere le immagini Arm da quelle x86, le immagini Arm avranno il campo architecture impostato su ARM64. I valori possibili per questo campo sono:

Gli utenti delle immagini possono quindi filtrare in base a questo campo per trovare immagini basate su x86 o Arm.

Passaggi successivi

Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.

Ultimo aggiornamento 2026-06-18 UTC.