Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure VM Image Builder è un servizio gestito che crea e personalizza immagini di macchine virtuali (VM), quindi distribuisce le immagini risultanti alle destinazioni, ad esempio Azure Compute Gallery o dischi rigidi virtuali (VHD) in Archiviazione BLOB di Azure. Il servizio non richiede di mantenere un'infrastruttura di compilazione di lunga durata.
Quando si usa Azure, l'affidabilità è una responsabilità condivisa. Microsoft offre una gamma di funzionalità per supportare la resilienza e il ripristino. L'utente è responsabile della comprensione del funzionamento di tali funzionalità all'interno di tutti i servizi usati e della selezione delle funzionalità necessarie per soddisfare gli obiettivi aziendali e gli obiettivi di tempo di attività.
Questo articolo descrive come rendere resiliente Image Builder per macchine virtuali di Azure a varie potenziali interruzioni e problemi, tra cui errori temporanei, errori delle zone di disponibilità, errori dell'intera area di Azure e manutenzione del servizio. Vengono inoltre descritte le opzioni di backup e ripristino, le soluzioni per più aree personalizzate e le informazioni chiave sul contratto di servizio di Image Builder per macchine virtuali di Azure.
Raccomandazioni per la distribuzione di produzione
Quando si progetta una pipeline di creazione di immagini di produzione, tenere presente quanto segue:
Definire i modelli di immagine usando l'infrastruttura come codice, ad esempio Bicep o Terraform, e archiviare le definizioni nel controllo del codice sorgente.
Distribuire le immagini finalizzate nelle aree in cui vengono eseguiti i carichi di lavoro, ad esempio tramite la replica di Azure Compute Gallery, per evitare dipendenze tra aree non necessarie durante la creazione, la scalabilità orizzontale e le operazioni di reimaging delle macchine virtuali.
Archiviare script, pacchetti e altre dipendenze di compilazione nell'archiviazione con le caratteristiche di ridondanza richieste dal carico di lavoro.
Panoramica dell'architettura di affidabilità
Questa sezione descrive alcuni degli aspetti importanti del funzionamento del servizio più rilevanti dal punto di vista dell'affidabilità. La sezione presenta l'architettura logica, che include alcune delle risorse e delle funzionalità distribuite e usate. Illustra anche l'architettura fisica, che fornisce informazioni dettagliate sul funzionamento del servizio sotto le quinte.
Architettura logica
Quando si usa Image Builder per macchine virtuali, si distribuisce un modello di immagine in una singola area Azure, che diventa l'area di origine del modello.
Dopo aver creato il template, si esegue una build che esegue una serie di passaggi per creare l'immagine della macchina virtuale. Questi passaggi possono eseguire script o includere pacchetti da incorporare nell'immagine.
Il servizio crea o usa un gruppo di risorse di staging e distribuisce l'infrastruttura di compilazione nella sottoscrizione. Dopo la compilazione, il servizio rimuove le risorse temporanee, inclusa la macchina virtuale di compilazione e le risorse di rete associate. Il gruppo di risorse di staging e le relative risorse di archiviazione rimangono fino a quando esiste la risorsa modello di immagine.
Image Builder di macchine virtuali distribuisce l'immagine completata a una o più destinazioni specificate. Gli obiettivi comuni includono:
Azure Compute Gallery (noto in precedenza come Raccolta immagini condivise): Compute Gallery fornisce la replica in più aree delle immagini delle macchine virtuali. Ad esempio, è possibile creare un'immagine in un'area e distribuire la versione dell'immagine di Azure Compute Gallery risultante in diverse aree di destinazione.
Archiviazione BLOB di Azure: il servizio può archiviare il disco rigido virtuale nell'account di archiviazione in cui VM Image Builder distribuisce il VHD o in un account di archiviazione e in un contenitore BLOB specificato.
Se si usa l'account di archiviazione gestito dal servizio come destinazione di distribuzione del VHD, il servizio archivia il VHD nel gruppo di risorse di staging. Quando si elimina il modello di immagine, il servizio elimina anche il disco rigido virtuale. Per conservare il disco rigido virtuale indipendentemente dal modello di immagine, distribuirlo a un account di archiviazione personalizzato o copiarlo in un'altra posizione prima di eliminare il modello.
Azure Compute Gallery e gestione rete virtuale di Azure sono servizi separati da VM Image Builder. È possibile distribuire le immagini a più destinazioni, incluse le destinazioni in aree Azure diverse. Questo modello di distribuzione consente di separare l'area in cui si crea un'immagine dalle aree in cui si utilizza l'immagine.
Note
VM Image Builder supporta anche immagini gestite, che sono una destinazione di distribuzione legacy. Questo articolo non tratta le immagini gestite. Per gli scenari di produzione, usare Azure Compute Gallery.
Architettura fisica
Image Builder per macchine virtuali usa build di immagini isolate per eseguire il processo di personalizzazione e convalida dell'immagine di base. Il servizio distribuisce una risorsa Istanze di Azure Container dedicata e una macchina virtuale di compilazione nel gruppo di risorse di staging nella sottoscrizione. La risorsa Istanze di Container esegue HashiCorp Packer per personalizzare e convalidare l'immagine e VM Image Builder coordina la compilazione.
Per eseguire compilazioni di immagini, registrare il Microsoft.ContainerInstance provider di risorse e assicurarsi che la sottoscrizione disponga di una quota sufficiente Istanze di Container. Per altre informazioni sull'architettura del servizio, sulle aree supportate e sul processo di compilazione, vedere Panoramica di Azure VM Image Builder.
Servizi Azure separati, ad esempio Azure Compute Gallery e gestione rete virtuale di Azure, archiviano le immagini completate. Configurare ogni destinazione di distribuzione per soddisfare i requisiti di resilienza.
Resilienza a errori temporanei
Gli errori temporanei sono errori brevi e intermittenti nei componenti. Si verificano spesso in un ambiente distribuito come il cloud e fanno parte delle normali operazioni. Gli errori temporanei si correggono dopo un breve periodo di tempo. È importante che le applicazioni possano gestire gli errori temporanei, in genere ritentando le richieste interessate.
Tutte le applicazioni ospitate nel cloud devono seguire le indicazioni sulla gestione degli errori temporanei di Azure quando comunicano con qualsiasi API, database e altri componenti ospitati nel cloud. Per ulteriori informazioni, vedi Raccomandazioni per la gestione di errori temporanei.
In genere si interagisce con Azure VM Image Builder usando il portale di Azure, interfaccia della riga di comando di Azure, Azure PowerShell o l'infrastruttura come codice, ad esempio Bicep. La pipeline di compilazione è responsabile della gestione degli errori transitori. Se Azure Resource Manager restituisce una risposta di errore temporanea, ripetere la richiesta con il backoff appropriato.
Se una compilazione ha esito negativo, controllare i suoi lastRunStatus, log di personalizzazione e convalida e gli output dell'esecuzione della distribuzione prima di rieseguirla. Questi dettagli consentono di determinare se una condizione di errore temporanea, un passaggio di personalizzazione o un'operazione di distribuzione delle immagini ha causato l'errore. Per altre informazioni, vedere Risolvere gli errori di compilazione di VM Image Builder.
Le operazioni di compilazione possono anche dipendere da sistemi esterni, ad esempio account di archiviazione, repository di pacchetti, percorsi delle immagini di base e destinazioni di distribuzione. Progettare i passaggi e le pipeline di personalizzazione per supportare i nuovi tentativi dopo un problema temporaneo di rete, piattaforma o dipendenza.
Resilienza ai guasti delle zone di disponibilità
Le operazioni di compilazione e le immagini completate si comportano in modo diverso durante gli errori della zona.
Build: Image Builder per macchine virtuali non supporta le zone di disponibilità e non offre una garanzia di resilienza della zona per i modelli di immagine o le operazioni di compilazione. Se un errore di zona influisce sulle risorse usate da una compilazione, la compilazione potrebbe non essere avviata o potrebbe essere interrotta. VM Image Builder non sposta automaticamente la build in un'altra zona.
Se è necessario eseguire build di immagini durante interruzioni di zona, distribuire i modelli di immagine e le risorse di supporto in più aree di Azure. Per altre informazioni, consulta Soluzioni multiregione personalizzate per la resilienza.
Immagini: Le immagini completate rimangono disponibili se l'archiviazione è resiliente alla zona.
Azure Compute Gallery: Le versioni delle immagini di Azure Compute Gallery possono usare l'archiviazione con ridondanza della zona (ZRS) nelle aree di destinazione che supportano le zone di disponibilità. Per ogni area di destinazione selezionare ZRS come tipo di replica dell'account di archiviazione. L'impostazione predefinita è l'archiviazione con ridondanza locale (LRS), che non è resiliente ai guasti della zona. Per altre informazioni, vedere disponibilità elevata di Azure Compute Gallery.
Dischi rigidi virtuali in Archiviazione BLOB di Azure: se non si usa un account di archiviazione personalizzato, Image Builder crea un account di archiviazione con ridondanza della zona per impostazione predefinita nelle aree che supportano le zone di disponibilità. Se si usa un account di archiviazione personalizzato, si è responsabili della configurazione della ridondanza per soddisfare i requisiti. Usare ZRS per archiviare copie del VHD tra più zone di disponibilità. Per altre informazioni sul funzionamento di ZRS, vedere Affidabilità in Archiviazione BLOB di Azure.
Resilienza agli errori a livello di area
Le operazioni di compilazione e le immagini completate si comportano in modo diverso durante gli errori estesi a un'intera area.
Build: Image Builder per macchine virtuali di Azure è un servizio a singola area e non fornisce il failover per più aree integrato. Se l'area che ospita il modello di immagine non è più disponibile, anche il modello di immagine e le operazioni di compilazione in tale area non sono disponibili. Il servizio non esegue automaticamente il failover in un'altra area geografica.
Se è necessario eseguire compilazioni delle immagini durante le interruzioni a livello di area geografica, distribuire i modelli di immagine e le risorse di supporto in più aree geografiche di Azure. Per altre informazioni, consulta Soluzioni multiregione personalizzate per la resilienza.
Immagini: Le immagini completate rimangono disponibili se l'archiviazione è resiliente ai guasti dell'intera regione.
Azure Compute Gallery: è possibile configurare Azure Compute Gallery per replicare le versioni delle immagini in più aree. La replica è asincrona ed è possibile usare una versione dell'immagine in un'area di destinazione solo al termine della replica in tale area.
Durante un'interruzione in un'area, le repliche completate rimangono disponibili per le distribuzioni di VM nelle aree di destinazione integre. Tuttavia, se l'area che contiene la risorsa della raccolta non è disponibile, non è possibile creare o aggiornare le risorse della raccolta. Se è necessario continuare a pubblicare le versioni delle immagini durante un'interruzione di un'area geografica, mantenere raccolte separate in aree di compilazione separate. Per altre informazioni, vedere Replica di Raccolta di calcolo di Azure e procedure consigliate.
VHD in Archiviazione BLOB di Azure: la destinazione predefinita dei VHD gestita dal servizio non fornisce ridondanza geografica. Nelle aree che supportano le zone di disponibilità usa ZRS, che non protegge da un'interruzione dell'intera area geografica.
In un'area con un'area associata, è possibile distribuire il VHD in un account di archiviazione personalizzato che usa l'archiviazione con ridondanza geografica (GRS) o l'archiviazione con ridondanza geografica della zona (GZRS). L'archiviazione con ridondanza geografica e accesso in lettura (RA-GRS) e l'archiviazione con ridondanza geografica della zona e accesso in lettura (RA-GZRS) forniscono l'accesso in sola lettura tramite un endpoint secondario, ma non eseguono il failover. Per ripristinare il normale accesso in lettura/scrittura nell'area abbinata, avviare un failover gestito dal cliente o copiare il disco rigido virtuale dall'endpoint secondario in un account di archiviazione separato. La replica geografica è asincrona, quindi un failover non pianificato potrebbe causare la perdita di dati che non erano ancora stati replicati. Controllare la proprietà Ora ultima sincronizzazione dell'account di archiviazione prima del failover, quando possibile.
Per altre informazioni sul comportamento di failover gestione rete virtuale di Azure e sugli approcci alternativi per la replica dei dati tra aree non abbinate, vedere Affidabilità in Archiviazione BLOB di Azure.
Soluzioni di multiregione personalizzate per la resilienza
Se è necessario mantenere la creazione di immagini durante un'interruzione di una'area, si è responsabili della distribuzione e del funzionamento di ambienti di compilazione indipendenti in più aree.
Scegliere le aree che supportano Image Builder per macchine virtuali. In ogni area di build, distribuire preventivamente un modello di immagine e le relative dipendenze specifiche dell'area, incluse identità gestite e assegnazioni di ruolo, configurazione di rete, artefatti di personalizzazione, un'immagine di origine o una replica di immagini e destinazioni di distribuzione.
Se è necessario pubblicare immagini mentre l'area di una raccolta non è disponibile, usare una risorsa di Raccolta di calcolo indipendente in ogni area di compilazione. La replica delle versioni delle immagini da una singola raccolta non rende la raccolta una risorsa completamente multiregione.
Definire queste risorse usando l'infrastruttura come codice e considerare tali definizioni come fonte di riferimento. Mantenere sincronizzati gli ambienti regionali quando cambia la configurazione e verificare regolarmente che ogni ambiente possa compilare e distribuire un'immagine.
Backup e ripristino
Azure VM Image Builder non sostituisce il processo di backup e ripristino. Nella maggior parte dei casi, l'artefatto importante per il ripristino è l'immagine completata pubblicata in Raccolta di calcolo di Azure o nell'archiviazione VHD.
Per migliorare il ripristino dal danneggiamento o da un'interruzione non pianificata estesa, seguire queste indicazioni:
Conservare le immagini pubblicate in Azure Compute Gallery o altre destinazioni di distribuzione in base ai requisiti di conservazione.
Se si crea un disco rigido virtuale e si usa la destinazione VHD predefinita, copiare il disco rigido virtuale nel proprio archivio permanente prima di eliminare il modello di immagine.
Usare il controllo del codice sorgente per archiviare e gestire le versioni delle definizioni dei modelli di immagine.
Usare il controllo del codice sorgente o un altro tipo di archiviazione durevole per archiviare e gestire il controllo delle versioni di script e pacchetti di personalizzazione.
Verificare regolarmente che ogni ambiente di ripristino preconfigurato possa creare e distribuire un'immagine.
Resilienza alla manutenzione del servizio
Microsoft gestisce la manutenzione per Azure VM Image Builder. Image Builder per macchine virtuali non gestisce il traffico applicativo in fase di esecuzione, quindi la manutenzione non influisce sulle macchine virtuali già create dalle immagini pubblicate. Se una compilazione viene ritardata o interrotta durante la manutenzione o un altro evento del servizio, controllarne lo stato e i log ed eseguirla di nuovo.
Usare Integrità dei servizi di Azure per monitorare la manutenzione pianificata e gli eventi imprevisti del servizio che potrebbero influire sull'area di compilazione.
Contratto di servizio
Azure VM Image Builder non fornisce un contratto sul livello di servizio (SLA) per la disponibilità.
Qualsiasi Contratto di servizio applicabile a una destinazione di distribuzione o a un servizio di archiviazione si applica separatamente e non fornisce un impegno di disponibilità per le operazioni di compilazione o modello di Image Builder per macchine virtuali.