Condividi tramite


Compilazioni di immagini isolate per Image Builder di macchine virtuali di Azure

Compilazioni di immagini isolate è una funzionalità di Azure VM Image Builder (AIB). Esegue la transizione del processo principale di personalizzazione/convalida dell'immagine della macchina virtuale dall'infrastruttura della piattaforma condivisa alle risorse di Istanze di Azure Container dedicate nella sottoscrizione, fornendo l'isolamento di calcolo e rete.

Vantaggi delle compilazioni di immagini isolate

Le compilazioni di immagini isolate consentono una difesa avanzata limitando l'accesso di rete della macchina virtuale di compilazione solo alla sottoscrizione. Le compilazioni di immagini isolate offrono anche maggiore trasparenza consentendo l'ispezione dell'elaborazione eseguita da AIB per personalizzare/convalidare l'immagine della macchina virtuale. Inoltre, le compilazioni di immagini isolate semplificano la visualizzazione dei log di compilazione in tempo reale. In particolare:

  1. Isolamento calcolo: le compilazioni di immagini isolate eseguono una parte importante dell'elaborazione della compilazione di immagini nelle risorse ACI nella sottoscrizione anziché nelle risorse della piattaforma condivisa di AIB. Istanze di Azure Container fornisce isolamento con hypervisor per ogni gruppo di contenitori per garantire l'esecuzione dei contenitori in isolamento senza condividere un kernel.

  2. Isolamento rete: le compilazioni di immagini isolate rimuovono tutte le comunicazioni WinRM/ssh di rete diretta tra la macchina virtuale di compilazione e i componenti back-end del servizio AIB.

    • Se si esegue il provisioning di un modello AIB senza la propria subnet per la macchina virtuale di compilazione, non viene più effettuato il provisioning di una risorsa Indirizzo IP pubblico nel gruppo di risorse di staging in fase di compilazione dell'immagine.
    • Se si esegue il provisioning di un modello AIB con una subnet esistente per la compilazione di macchine virtuali, un canale di comunicazione basato su collegamento privato non è più configurato tra la macchina virtuale di compilazione e le risorse della piattaforma back-end di AIB. Il canale di comunicazione viene invece configurato tra l'ACI e le risorse della macchina virtuale di compilazione, entrambe presenti nel gruppo di risorse di staging nella sottoscrizione.
    • A partire dall'API versione 2024-02-01, è possibile specificare una seconda subnet per la distribuzione dell'ACI oltre alla subnet per la macchina virtuale di compilazione. Se specificato, AIB distribuisce ACI in questa subnet e non è necessario che AIB configuri il canale di comunicazione basato su collegamento privato tra ACI e la macchina virtuale di compilazione. Per altre informazioni sulla seconda subnet, vedere la sezione qui.
  3. Trasparenza: AIB si basa su HashiCorp Packer. Le compilazioni di immagini isolate eseguono Packer nell'ACI nella sottoscrizione, che consente di esaminare la risorsa ACI e i relativi contenitori. Analogamente, la presenza dell'intera pipeline di comunicazione di rete nella sottoscrizione consente di esaminare tutte le risorse di rete, le relative impostazioni e le relative quote.

  4. Migliore visualizzazione dei log live: AIB scrive i log di personalizzazione in un account di archiviazione nel gruppo di risorse di staging nella sottoscrizione. Compilazioni di immagini isolate offre un altro modo per seguire gli stessi log direttamente nella portale di Azure, operazione che può essere eseguita passando al contenitore di AIB nella risorsa ACI.

Topologie di rete

Compilazioni di immagini isolate distribuisce l'ACI e la macchina virtuale di compilazione nel gruppo di risorse di staging nella sottoscrizione. Per consentire a AIB di personalizzare o convalidare l'immagine, le istanze del contenitore in esecuzione nell'ACI devono avere un percorso di rete per la macchina virtuale di compilazione. In base alle esigenze e ai criteri di rete personalizzati, è possibile configurare AIB per usare topologie di rete diverse a questo scopo:

Non usare una subnet di vm di compilazione personalizzata

  • È possibile selezionare questa topologia non specificando il vnetConfig campo nel modello di immagine o specificando il campo ma senza subnetId campi secondari e containerInstanceSubnetId .
  • In questo caso, AIB distribuisce un Rete virtuale nel gruppo di risorse di staging insieme a due subnet e gruppi di sicurezza di rete. Una delle subnet viene usata per distribuire l'ACI, mentre l'altra subnet viene usata per distribuire la macchina virtuale di compilazione. I gruppi di sicurezza di rete sono configurati per consentire la comunicazione tra le due subnet.
  • AIB non distribuisce una risorsa IP pubblico o una pipeline di comunicazione basata su collegamento privato in questo caso.

Bring Your Own Build VM subnet but don't bring your own ACI subnet (Bring Your Own Build VM subnet but don't bring your own ACI subnet)

  • È possibile selezionare questa topologia specificando il vnetConfig campo insieme al subnetId sottocampo, ma non il containerInstanceSubnetId sottocampo nel modello di immagine.
  • In questo caso, AIB distribuisce un Rete virtuale temporaneo nel gruppo di risorse di staging insieme a due subnet e gruppi di sicurezza di rete. Una delle subnet viene usata per distribuire l'ACI, mentre l'altra subnet viene usata per distribuire la risorsa endpoint privato. La macchina virtuale di compilazione viene distribuita nella subnet specificata. Una pipeline di comunicazione basata su collegamento privato costituita da un endpoint privato, un servizio collegamento privato, Azure Load Balancer e una macchina virtuale proxy viene distribuita anche nel gruppo di risorse di staging per facilitare la comunicazione tra la subnet ACI e la subnet della macchina virtuale di compilazione.

Bring Your Own Build VM subnet and bring your own ACI subnet (Bring Your Own Build VM Subnet and Bring Your Own ACI Subnet)

  • È possibile selezionare questa topologia specificando il vnetConfig campo insieme ai subnetIdcontainerInstanceSubnetId sottocampi nel modello di immagine. Questa opzione (e sottocampo containerInstanceSubnetId) è disponibile a partire dall'API versione 2024-02-01. È anche possibile aggiornare i modelli esistenti per usare questa topologia.
  • In questo caso, AIB distribuisce la macchina virtuale di compilazione nella subnet di vm di compilazione specificata e ACI nella subnet ACI specificata.
  • AIB non distribuisce alcuna risorsa di rete nel gruppo di risorse di staging, tra cui IP pubblico, Rete virtuale, subnet, gruppi di sicurezza di rete, endpoint privato, collegamento privato servizio, Azure Load Balancer e macchina virtuale proxy. Questa topologia può essere usata se sono presenti restrizioni di quota o criteri che non consentono la distribuzione di queste risorse.
  • La subnet ACI deve soddisfare determinate condizioni per consentirne l'uso con compilazioni di immagini isolate.

È possibile visualizzare i dettagli su questi campi nel riferimento al modello. Le opzioni di rete sono descritte in dettaglio qui.

Compatibilità con le versioni precedenti

Compilazioni di immagini isolate è una modifica a livello di piattaforma e non influisce sulle interfacce di AIB. Le risorse modello di immagine e trigger esistenti continuano quindi a funzionare e non vi sono modifiche nel modo in cui si distribuiscono nuove risorse di questi tipi. È necessario creare nuovi modelli o aggiornare i modelli esistenti se si vuole usare la topologia di rete che consente di portare la propria subnet ACI.

La migrazione delle compilazioni di immagini viene eseguita automaticamente alle compilazioni di immagini isolate ed è necessario non eseguire alcuna azione per acconsentire esplicitamente. Inoltre, i log di personalizzazione continuano a essere disponibili nell'account di archiviazione.

A seconda della topologia di rete specificata nel modello di immagine, è possibile osservare temporaneamente alcune nuove risorse nel gruppo di risorse di staging, ad esempio ACI, Rete virtuale, gruppo di sicurezza di rete ed endpoint privato, mentre alcune altre risorse non vengono più visualizzate (ad esempio, Indirizzo IP pubblico). Come in precedenza, queste risorse temporanee esistono solo durante la compilazione e AIB le elimina successivamente.

Importante

Assicurarsi che la sottoscrizione sia registrata per Microsoft.ContainerInstance provider:

  • Interfaccia della riga di comando di Azure: az provider register -n Microsoft.ContainerInstance
  • PowerShell: Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance

Dopo aver registrato correttamente la sottoscrizione, assicurarsi che nella sottoscrizione non siano presenti criteri di Azure che negano la distribuzione delle risorse di Istanze di Azure Container. I criteri che consentono solo un set limitato di tipi di risorse che non includono ACI causerebbero l'esito negativo delle compilazioni di immagini isolate.

Assicurarsi che la sottoscrizione disponga anche di una quota sufficiente di risorse necessarie per la distribuzione delle risorse ACI.

Importante

A seconda della topologia di rete specificata nel modello di immagine, AIB potrebbe dover distribuire risorse correlate alla rete temporanea nel gruppo di risorse di staging nella sottoscrizione. Assicurarsi che nessun criterio di Azure neghi la distribuzione di tali risorse (Rete virtuale con subnet, gruppo di sicurezza di rete, endpoint privato) nel gruppo di risorse.

Se sono presenti criteri di Azure che applicano piani di protezione DDoS a qualsiasi Rete virtuale appena creato, rilassare i criteri per il gruppo di risorse o assicurarsi che l'identità gestita del modello disponga delle autorizzazioni per partecipare al piano. In alternativa, è possibile usare la topologia di rete che non richiede la distribuzione di un nuovo Rete virtuale da AIB.

Importante

Assicurarsi di seguire tutte le procedure consigliate durante l'uso di AIB.

Nota

AIB sta implementando questa modifica in tutte le località e i clienti. Alcuni di questi dettagli(in particolare per la distribuzione di nuove risorse correlate alla rete) possono cambiare man mano che il processo è ottimizzato in base ai dati di telemetria e ai commenti dei servizi. Per eventuali errori, vedere la guida alla risoluzione dei problemi.

Passaggi successivi