Condividi tramite


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

La compilazione di immagini isolate è una funzionalità di Image Builder per macchine virtuali di Azure (AIB). Esegue la transizione del processo principale di personalizzazione/convalida dell'immagine della macchina virtuale dall'infrastruttura della piattaforma condivisa alle risorse dedicate di Istanze di Azure Container (ACI) nella sottoscrizione, fornendo isolamento di calcolo e di 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. Le compilazioni di immagini isolate semplificano inoltre la visualizzazione dei log di compilazione in tempo reale. In particolare:

  1. Isolamento del calcolo: le compilazioni di immagini isolate esegue una parte importante dell'elaborazione della compilazione di immagini nelle risorse ACI della 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 di rete WinRM/ssh dirette 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ù eseguito il provisioning della 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 una macchina virtuale, non sarà più possibile impostare un canale di comunicazione basato su un collegamento privato 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 dalla versione API 2024-02-01, è possibile specificare una seconda subnet per la distribuzione ACI oltre alla subnet per la macchina virtuale di compilazione. Se specificato, AIB distribuisce l'ACI in questa subnet e non è necessario che AIB configuri il canale di comunicazione basato su collegamento privato tra l'ACI e la macchina virtuale di compilazione. Per altre informazioni sulla seconda subnet, vedere la sezione qui.
  3. Trasparenza: AIB è basato su HashiCorp Packer. Le compilazioni di immagini isolate eseguono Packer nell'ACI della sottoscrizione, che consente di esaminare la risorsa ACI e i relativi contenitori. Analogamente, avere l'intera pipeline di comunicazione di rete nella sottoscrizione consente di esaminare tutte le risorse di rete, le loro impostazioni e le relative autorizzazioni.

  4. Migliore visualizzazione dei log in tempo reale: 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 nel portale di Azure, che può essere eseguito passando al contenitore di AIB nella risorsa ACI.

Nota

Per accedere ai log in tempo reale durante la compilazione dell'immagine o i file di log di personalizzazione e convalida al termine della compilazione, fare riferimento alla guida alla risoluzione dei problemi.

Topologie di rete

Compilazioni di immagini isolate distribuisce l'ACI e la macchina virtuale di compilazione nel gruppo di risorse di staging della sottoscrizione. Per consentire a AIB di personalizzare/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 macchina virtuale di compilazione personalizzata

  • È possibile selezionare questa topologia non specificando il campo vnetConfig nel modello di immagine o specificando il campo, ma senza i sottocampi subnetId e containerInstanceSubnetId.
  • In questo caso, AIB distribuisce una rete virtuale nel gruppo di risorse di staging insieme a due subnet e gruppi di sicurezza di rete (NSG). 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.
  • In questo caso, AIB non distribuisce una risorsa IP pubblica o una pipeline di comunicazione basata su un collegamento privato.

Portare la propria subnet della macchina virtuale di compilazione, ma non la propria subnet ACI

  • È possibile selezionare questa topologia specificando il campo vnetConfig insieme al sottocampo subnetId, ma non il sottocampo containerInstanceSubnetId nel modello di immagine.
  • In questo caso, AIB distribuisce una rete virtuale temporanea nel gruppo di risorse di staging insieme a due subnet e gruppi di sicurezza di rete (NSG). 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. Nel gruppo di risorse di staging viene inoltre distribuita una pipeline di comunicazione basata su collegamento privato composta da un endpoint privato, un servizio di collegamento privato, Azure Load Balancer e una macchina virtuale proxy per facilitare la comunicazione tra la subnet ACI e la subnet della macchina virtuale di compilazione.

Portare la propria subnet della macchina virtuale di compilazione e la propria subnet ACI

  • È possibile selezionare questa topologia specificando il campo vnetConfig insieme ai sottocampi subnetId e containerInstanceSubnetId nel modello 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 macchina virtuale di compilazione specificata e l'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, servizio di collegamento privato, 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 nel dettaglio qui.

Compatibilità con le versioni precedenti

La compilazione 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 cambia il modo in cui si distribuiscono nuove risorse di questi tipi. È necessario creare nuovi modelli o aggiornare i modelli esistenti per usare la topologia di rete, consentendo di portare la propria subnet ACI.

La migrazione delle compilazioni di immagini viene eseguita automaticamente alle compilazioni di immagini isolate e non è necessario intraprendere 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 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 non ci siano criteri di Azure nella sottoscrizione che neghino la distribuzione delle risorse ACI. 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 sufficiente quota di risorse necessaria 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 creata, allentare 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 una nuova 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 posizioni 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 viene ottimizzato in base ai dati di telemetria e ai feedback. Per eventuali errori, vedere la guida alla risoluzione dei problemi.

Passaggi successivi