Archiviare e condividere immagini in una Raccolta di calcolo di Azure

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili ✔️ set di scalabilità uniformi

Un'immagine è una copia di una macchina virtuale completa (inclusi eventuali dischi dati allegati) o solo del disco del sistema operativo, a seconda del modo in cui viene creata. Quando si crea una macchina virtuale dall'immagine, la copia dei dischi rigidi virtuali dell'immagine viene usata per creare i dischi per la nuova macchina virtuale. L'immagine rimane nella risorsa di archiviazione e può essere usata ripetutamente per creare nuove macchine virtuali.

Se si dispone di un numero elevato di immagini da mantenere e si desidera renderle disponibili in tutta l'azienda, è possibile usare una Raccolta di calcolo di Azure come repository.

Quando si usa una raccolta per archiviare le immagini, vengono creati più tipi di risorse:

Risorsa Descrizione
Origine immagine Si tratta di una risorsa che è possibile usare per creare una versione di immagine in una raccolta. Un'origine dell'immagine può essere una macchina virtuale di Azure esistente generalizzata o specializzata, un'immagine gestita, uno snapshot, un disco rigido virtuale o la versione di un'immagine in un'altra raccolta.
Gallery Come in Azure Marketplace, una raccolta è un repository per la gestione e la condivisione delle immagini e di altre risorse, ma è possibile controllare chi accede.
Definizione delle immagini Le definizioni delle immagini vengono create all'interno di una raccolta e contengono informazioni sull'immagine ed eventuali requisiti per l'uso per la creazione di macchine virtuali. Questa include il fatto che l'immagine è per Windows o Linux, le note sulla versione e i requisiti minimi e massimi di memoria. Si tratta della definizione di un tipo di immagine.
Versione dell'immagine La versione dell'immagine è ciò che si usa per creare una macchina virtuale quando si usa una raccolta. È possibile avere più versioni di un'immagine in base alle necessità del proprio ambiente. Come un'immagine gestita, quando si usa una versione dell'immagine per creare una macchina virtuale, la versione dell'immagine viene usata per creare nuovi dischi per la macchina virtuale. Le versioni delle immagini possono essere usate più volte.

Immagine che mostra in che modo è possibile avere più versioni di un'immagine nella propria raccolta

Definizioni dell'immagine

Le definizioni dell'immagine rappresentano un raggruppamento logico per le versioni di un'immagine. La definizione dell'immagine contiene informazioni sul motivo per cui è stata creata, oltre che i metadati dell'immagine, ad esempio quali sono i relativi sistemi operativi, le funzionalità supportate e altre informazioni sull'uso dell'immagine. Una definizione dell'immagine è simile a un piano per tutti i dettagli che riguardano la creazione di un'immagine specifica. Non si distribuisce una macchina virtuale da una definizione dell'immagine, ma da versioni dell'immagine create dalla definizione.

Sono disponibili tre parametri per ogni definizione dell'immagine usati in combinazione: Editore, Offerta e SKU. Questi parametri vengono usati per trovare una specifica definizione dell'immagine. È possibile avere definizioni delle immagini che condividono uno o due, ma non tutti e tre i valori. Di seguito, un esempio di tre definizioni di immagini con i relativi valori:

Definizione immagine Autore Offerta Sku
myImage1 Contoso Finanze Back-end
myImage2 Contoso Finanze Front-end
myImage3 Test Finanze Front-end

Questi tre presentano set univoci di valori. Il formato è simile a quello in cui è attualmente possibile specificare l'editore, l'offerta e lo SKU per immagini di Azure Marketplace, in Azure PowerShell, per ottenere la versione più recente di un'immagine del Marketplace. Ogni definizione dell'immagine deve avere un set univoco di questi valori.

I parametri seguenti determinano quali tipi di versioni di immagini possono contenere:

  • Stato sistema operativo: è possibile impostare lo stato sistema operativo su generalizzato o specializzato. Campo obbligatorio.
  • Sistema operativo: può essere Windows o Linux. Campo obbligatorio.
  • Generazione di Hyper-V: specificare se l'immagine è stata creata da un disco rigido virtuale Hyper-V di prima o di seconda generazione. L'impostazione predefinita è la prima generazione.

Le definizioni delle immagini contengono metadati immagine per consentire il raggruppamento di immagini che supportano le stesse funzionalità, lo stato del sistema operativo, il tipo di sistema operativo e altri. Di seguito sono elencati altri parametri che è possibile impostare nella definizione dell'immagine, in modo da tenere traccia più facilmente delle risorse:

  • Descrizione: usare la descrizione per fornire informazioni più dettagliate sul motivo per cui la definizione dell'immagine esiste. Ad esempio, si potrebbe avere una definizione dell'immagine per il server front-end in cui l'applicazione è preinstallata.

  • Contratto di licenza con l'utente finale - Può essere usato per indicare a un contratto di licenza con l'utente finale specifico per la definizione immagine.

  • Informativa sulla privacy e note sulla versione: archivia le note sulla versione e le informative sulla privacy in Archiviazione di Azure e fornisce un URI per accedervi come parte della definizione dell'immagine.

  • Data di fine del ciclo di vita - Stabilire una data predefinita dopo la quale l'immagine non deve essere usata, per tutte le versioni nella definizione immagine. Le date di fine del ciclo di vita sono informative; gli utenti potranno comunque creare macchine virtuali da immagini e versioni successive alla data di fine del ciclo di vita.

  • Tag: quando si crea la definizione dell'immagine è possibile aggiungere tag. Per altre informazioni sui tag, vedere Usare i tag per organizzare le risorse

  • Elementi consigliati per la CPU virtuale e memoria minime e massime: se l'immagine presenta CPU virtuale ed elementi consigliati per la memoria, è possibile allegare tali informazioni alla definizione dell'immagine.

  • Tipi di dischi non consentiti: è possibile fornire informazioni sulle esigenze di archiviazione per la macchina virtuale. Se, ad esempio, l'immagine non è adatta per dischi HDD standard, è necessario aggiungerli all'elenco di quelli non consentiti.

  • Informazioni sui piani di acquisto per immagini del Marketplace - -PurchasePlanPublisher, -PurchasePlanName e -PurchasePlanProduct. Per un approfondimento delle informazioni sui piani di acquisto, vedere Trovare immagini in Azure Marketplace e Fornire informazioni sul piano di acquisto di Azure Marketplace durante la creazione di immagini.

  • Architettura

  • Le funzionalità consentono di specificare funzionalità aggiuntive e SecurityType supportati nell'immagine, in base al tipo di raccolta:

    Funzionalità Valori accettati Definizione Supportato in
    IsHibernateSupported Vero, falso Creare macchine virtuali con supporto per l'ibernazione. Privato, condivisione diretta, community
    IsAcceleratedNetworkSupported Vero, falso Creare macchine virtuali con rete accelerata abilitata. Se impostato su True nella definizione immagine, l'acquisizione di macchine virtuali che non supportano la rete accelerata non è supportata. Privato, condivisione diretta, community
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Impostare questa opzione per usare il tipo di disco SCSI o NVMe. Le macchine virtuali e i dischi NVMe possono essere acquisiti solo nelle definizioni di immagine contrassegnate per il supporto NVMe. Privato, condivisione diretta, community

    Quando si specifica SecurityType usando il parametro features, si limitano le funzionalità di sicurezza abilitate nella macchina virtuale. Alcuni tipi sono limitati, in base al tipo di raccolta in cui sono archiviati:

    SecurityType Definizione Supportato in
    ConfidentialVMSupported Si tratta di un'immagine generica Gen2 che non contiene il BLOB VMGS. Solo le macchine virtuali Gen2 o riservate possono essere create da questo tipo di immagine Privato, condivisione diretta, community
    Macchina virtuale riservata Solo le macchine virtuali riservate possono essere create da questo tipo di immagine Privata
    TrustedLaunchSupported Si tratta di un'immagine generica Gen2 che non contiene il BLOB VMGS. Solo le macchine virtuali Gen2 o TrustedLaunch possono essere create da questo tipo di immagine. Privato, condivisione diretta, community
    TrustedLaunch Solo le macchine virtuali TrustedLaunch possono essere create da questo tipo di immagine Privata
    TrustedLaunchAndConfidentialVmSupported Si tratta di un'immagine generica Gen2 che non contiene il BLOB VMGS. Solo le macchine virtuali Gen2, TrustedLaunch o riservate possono essere create da questo tipo di immagine. Privato, condivisione diretta, community

    Per altre informazioni, vedere gli esempi dell'interfaccia della riga di comando per l'aggiunta di funzionalità di definizione dell'immagine e SecurityType o gli esempi PowerShell.

    **ConfidentialVM è supportato solo nelle aree in cui è disponibile. Le aree supportate sono indicate qui.

Versioni dell'immagine

La versione dell'immagine è quella che si usa per creare una VM. È possibile avere più versioni di un'immagine in base alle necessità del proprio ambiente. Quando si usa una versione dell'immagine per creare una macchina virtuale, vengono creati nuovi dischi per la VM. Le versioni delle immagini possono essere usate più volte.

Le proprietà di una versione dell'immagine sono:

  • Numero di versione. Viene usato come nome della versione dell'immagine. È sempre nel formato: MajorVersion.MinorVersion.Patch. Quando si specifica di usare l'ultima versione quando si crea una VM, viene scelta l'immagine più recente in base al valore più alto di MajorVersion, quindi a quello di MinorVersion e infine a quello di Patch.
  • Origine. L'origine può essere una VM, un disco gestito, uno snapshot, un'immagine gestita o un'altra versione di immagine.
  • Data di scadenza. Indicare la data di fine vita per la versione dell'immagine. Le date di fine del ciclo di vita sono informative; gli utenti potranno comunque creare macchine virtuali da versioni successive alla data di fine del ciclo di vita.

Immagini specializzate e generalizzate

Vi sono due stati del sistema operativo supportati da Raccolta di calcolo di Azure. Solitamente le immagini richiedono che la macchina virtuale usata per creare l'immagine sia stata generalizzata prima di acquisire l'immagine. La generalizzazione è un processo che rimuove le informazioni specifiche del computer e dell'utente dalla macchina virtuale. Per Linux è possibile usare il comando waagent -deprovision o i parametri -deprovision+user. Windows usa lo strumento Sysprep.

Le macchine virtuali specializzate non sono state sottoposte a un processo per rimuovere account e informazioni specifici della macchina. Inoltre, alle macchine virtuali create da immagini specializzate non è associato un osProfile. Ciò significa che le immagini specializzate presentano alcune limitazioni, oltre ai vantaggi.

  • Le macchine virtuali e i set di scalabilità creati da immagini specializzate possono essere operativi più velocemente. Poiché vengono creati da un'origine già avviata per la prima volta, le macchine virtuali create da queste immagini si avviano più velocemente.
  • Gli account che possono essere usati per accedere alla macchina virtuale possono inoltre essere usati in qualsiasi macchina virtuale creata con l'immagine specializzata creata da tale macchina virtuale.
  • Le macchine virtuali avranno il Nome computer della macchina virtuale da cui è stata ricavata l'immagine. È necessario modificare il nome computer per evitare conflitti.
  • La proprietà osProfile indica il modo in cui vengono passate informazioni riservate alla macchina virtuale con secrets. Questo può causare problemi con KeyVault, WinRM e altre funzionalità che usano secrets nella proprietà osProfile. In alcuni casi, è possibile usare le identità del servizio gestito (MSI) per aggirare queste limitazioni.

Nota

Le immagini di macchine virtuali generalizzate e specializzate contengono un disco del sistema operativo e tutti i dischi collegati, se presenti.

Aggiornamento delle risorse

Dopo avere creato le risorse della raccolta, è possibile apportarvi modifiche. Sono limitate a:

Raccolta di calcolo di Azure:

  • Descrizione

Definizione delle immagini:

  • VCPU consigliati
  • Memoria consigliata
  • Descrizione
  • Data di scadenza
  • ReleaseNotes

Versione immagine:

  • Conteggio di repliche a livello di area
  • Aree di destinazione
  • Escludi da versione più recente
  • Data di scadenza

Condivisione

Esistono tre modi principali per condividere immagini in una Raccolta di calcolo di Azure, ciò dipende da quali utenti si scelgono per la condivisione:

Condivisione con: Persone Gruppi Entità servizio Tutti gli utenti in una sottoscrizione specifica (o) tenant Pubblicamente con tutti gli utenti di Azure
Condivisione del controllo degli accessi in base al ruolo No No
Controllo degli accessi in base al ruolo e raccolta condivisa diretta No
Controllo degli accessi in base al ruolo e Raccolta della community No

Autorizzazioni del controllo degli accessi in base al ruolo necessarie per creare un'immagine ACG:

Le immagini ACG possono essere create dagli utenti da varie origini, tra queste, macchine virtuali, dischi/snapshot e dischi rigidi virtuali. In questa sezione sono descritte le varie autorizzazioni utente necessarie per la creazione di un'immagine della Raccolta di calcolo di Azure. Identifica chi, senza le autorizzazioni necessarie, non sarà in grado di creare immagini ACG.

Source type Autorizzazioni necessarie
Macchina virtuale Scrittura
Disco/snapshot Scrittura
VHD Scrittura (listKeys)
Immagine gestita Lettura
Immagine della raccolta Lettura

Per altre informazioni sui ruoli predefiniti di Azure, vedere la documentazione relativa alla concessione di autorizzazioni del controllo degli accessi in base al ruolo

Replica superficiale

Quando si crea una versione dell'immagine, è possibile impostare la modalità di replica su superficiale per lo sviluppo e il test. La replica superficiale ignora la copia dell'immagine, quindi la versione dell'immagine è pronta più velocemente. Tuttavia, ciò significa anche che non è possibile distribuire un numero elevato di macchine virtuali da tale versione dell'immagine. Questo è simile al modo in cui funzionano le immagini gestite meno recenti.

La replica superficiale può essere utile anche se sono presenti immagini di grandi dimensioni (fino a 32 TB) che non vengono distribuite di frequente. Poiché l'immagine di origine non viene copiata, è possibile usare dischi di dimensioni maggiori. Tuttavia, anche questi dischi non possono essere usati per distribuire contemporaneamente un numero elevato di macchine virtuali.

Per impostare un'immagine per la replica superficiale, usare --replication-mode Shallow con l'interfaccia della riga di comando di Azure.

Supporto SDK

Gli SDK seguenti supportano la creazione di raccolte di calcolo di Azure:

Modelli

È possibile creare una risorsa della raccolta di calcolo di Azure usando i modelli. Sono disponibili diversi modelli di avvio rapido:

Domande frequenti

Per elencare tutte le risorse della Raccolta di calcolo di Azure nelle diverse sottoscrizioni alle quali si è autorizzati ad accedere nel portale di Azure, seguire questa procedura:

  1. Apri il portale di Azure.
  2. Scorrere verso il basso e selezionare Tutte le risorse.
  3. Selezionare tutte le sottoscrizioni in cui si desidera elencare tutte le risorse.
  4. Cercare risorse di tipo Raccolta di calcolo di Azure.

Per elencare tutte le risorse della Raccolta di calcolo di Azure nelle sottoscrizioni alle quali si è autorizzati ad accedere, usare il seguente comando nell'interfaccia della riga di comando di Azure:

   az account list -otsv --query "[].id" | xargs -n 1 az sig list --subscription

Sì. Esistono tre scenari in base ai tipi di immagini che si possono avere.

Scenario 1: se si dispone di un'immagine gestita, è possibile creare una definizione di immagine e una versione dell'immagine a partire da essa. Per altre informazioni, vedere Creare e definire un'immagine e una versione dell'immagine.

Scenario 2: se si dispone di un'immagine non gestita, è possibile creare un'immagine gestita da essa e quindi creare una definizione di immagine e la versione dell'immagine.

Scenario 3: se si dispone di un disco rigido virtuale nel file system locale, è necessario caricare il disco rigido virtuale su un'immagine gestita; quindi è possibile creare una definizione di immagine e una versione dell'immagine da essa.

È possibile creare una versione di immagine da un disco specializzato?

Sì, è possibile creare una macchina virtuale da un'immagine specializzata.

No, non è possibile spostare la risorsa immagine della raccolta in una diversa sottoscrizione. È possibile replicare le versioni delle immagini presenti nella raccolta in altre aree oppure copiare un'immagine da un'altra raccolta.

È possibile replicare le versioni delle immagini in diversi cloud, quali Azure gestito da 21Vianet, Azure Germania o Cloud di Azure per enti pubblici?

No, non è possibile replicare le versioni delle immagini in diversi cloud.

È possibile replicare le versioni delle immagini tra sottoscrizioni diverse?

No, è possibile replicare le versioni delle immagini nelle aree in una sottoscrizione e usarle in altre sottoscrizioni tramite RBAC.

È possibile condividere versioni delle immagini nei tenant Microsoft Entra?

Sì, è possibile usare il controllo degli accessi in base al ruolo per condividere utenti singoli tra tenant. Tuttavia, per condividere su larga scala, vedere l'argomento relativo alla condivisione delle immagini della raccolta tra tenant di Azure con PowerShell o CLI.

Quanto tempo occorre per replicare le versioni delle immagini tra le aree di destinazione?

Il tempo di replica della versione dell'immagine dipende interamente dalle dimensioni immagine e dal numero di aree in cui viene replicata. Tuttavia, come procedura consigliata, si raccomanda di mantenere ridotte le dimensioni dell'immagine e le aree di origine e di destinazione vicine per ottenere risultati ottimali. È possibile controllare lo stato della replica usando il flag ReplicationStatus.

Qual è la differenza tra area di origine e area di destinazione?

L'area di origine è l'area in cui viene creata la versione dell'immagine e le aree di destinazione sono le aree in cui viene archiviata una copia della versione dell'immagine. Per ogni versione dell'immagine, è possibile avere solo un'area di origine. Inoltre, assicurarsi di trasmettere la posizione dell'area di origine come una delle aree di destinazione quando si crea una versione di immagine.

Come si specifica l'area di origine durante la creazione della versione dell'immagine?

Durante la creazione di una versione dell'immagine, per specificare l'area di origine è possibile usare l'argomento --location nell'interfaccia della riga di comando e il parametro -Location in PowerShell. Assicurarsi che l'immagine gestita che si utilizza come immagine di base per creare la versione dell'immagine si trovi nella stessa posizione dove si intende creare la versione dell'immagine. Inoltre, assicurarsi di trasmettere la posizione dell'area di origine come una delle aree di destinazione quando si crea una versione di immagine.

Come specificare il numero di repliche della versione dell'immagine da creare in ogni area?

Esistono due modi in cui è possibile specificare il numero delle repliche di versione dell'immagine da creare in ogni area:

  1. Il conteggio delle repliche a livello di area che specifica il numero di repliche che si desidera creare per ogni area.
  2. Il conteggio di repliche comuni, ovvero il conteggio predefinito per area nel caso di un conteggio di repliche a livello di area non viene specificato.

Per specificare il conteggio di repliche a livello di area, trasmettere la posizione e il numero di repliche che si desidera creare in tale area geografica: "Stati Uniti centro-meridionali = 2".

Se il conteggio di repliche a livello di area non viene specificato per ogni posizione, il numero predefinito di repliche sarà il conteggio di repliche comuni che è stato specificato.

Per specificare il conteggio di repliche comuni nell'interfaccia della riga di comando di Azure, usare l'argomento --replica-count nel comando az sig image-version create.

Si, è possibile. Tuttavia, come procedura consigliata, si raccomanda di mantenere il gruppo di risorse, la raccolta, la definizione immagine e la versione dell'immagine nella stessa posizione.

Non sono previsti addebiti per l'uso della Raccolta di calcolo di Azure, a eccezione dei costi di archiviazione delle versioni di immagini e degli addebiti di rete in uscita per la replica di versioni di immagini dall'area di origine alle aree di destinazione.

Quale versione dell'API è consigliabile usare durante la creazione di immagini?

Per lavorare con le raccolte, le definizioni di immagini e le versioni dell'immagine, si consiglia di usare la versione API 01-06-2018. Per l'archiviazione con ridondanza della zona è richiesta la versione 01/03/2019 o successive.

Quale versione dell'API è consigliabile usare per creare una macchina virtuale o un set di scalabilità di macchine virtuali dalla versione dell'immagine?

Per le distribuzioni di macchine virtuali e set di scalabilità di macchine virtuali eseguite usando una versione di immagine, si consiglia di usare la versione API 2018-04-01 o una successiva.

Sì, è possibile aggiornare il riferimento all'immagine del set di scalabilità da un'immagine gestita a un'immagine della Raccolta di calcolo di Azure, purché il tipo di sistema operativo, la generazione Hyper-V e il layout del disco dati corrispondano tra le immagini.

Come è possibile aggiornare il codice per usare la nuova proprietà e assicurarsi che le autorizzazioni vengano concesse in modo accurato durante la creazione dell'immagine della macchina virtuale?

Per il campo ID macchina virtuale, usare il campo VirtualMachineId in GallerySource(GalleryImageVersionStorageProfile.GallerySource.VirtualMachineID). La nuova proprietà richiede la versione API 03-07-2023 o la versione 1.4.0 (o successiva) di .NET SDK

StorageProfile = new GalleryImageVersionStorageProfile()
            {
                GallerySource = new GalleryArtifactVersionFullSource()
                {
                    VirtualMachineId = new ResourceIdentifier(virtualMachineId),
                }
            },

Per il disco rigido virtuale come origine, usare il campo StorageAccountID in GallerySource in OSDiskImage o Immagine disco dati (GalleryImageVersionStorageProfile.OSDiskImage.GallerySource.StorageAccountId). La nuova proprietà richiede la versione API 03-03-2022

StorageProfile = new GalleryImageVersionStorageProfile()
            {
                OSDiskImage = new GalleryOSDiskImage()
                {
                    GallerySource = new GalleryDiskImageSource()
                    {
                        StorageAccountId = new ResourceIdentifier(storageAccountId),
                        Uri = new Uri(blobUri),
                    }
                }
            },

Le macchine virtuali create dall'immagine della Raccolta di calcolo di Azure rimangono invariate a causa dei relativi dischi persistenti. Tuttavia, l'operazione di scalabilità del set di scalabilità di macchine virtuali avrà esito negativo perché esse si basano sul riferimento all'ID dell'immagine di origine che andrebbe perso dopo l'eliminazione dell'immagine della Raccolta di calcolo di Azure.

Risoluzione dei problemi

Se si verificano problemi con l'esecuzione di operazioni sulle risorse della raccolta, consultare l'elenco degli errori comuni nella guida alla risoluzione dei problemi.

È anche possibile pubblicare e contrassegnare la domanda con azure-virtual-machines-images in Domande e risposte.

Passaggi successivi

Informazioni su come distribuire le immagini usando la Raccolta di calcolo di Azure.