Isolerade avbildningsversioner för Azure VM Image Builder
Isolerade avbildningsversioner är en funktion i Azure VM Image Builder (AIB). Den överför kärnprocessen för anpassning/validering av VM-avbildningar från infrastrukturen för delad plattform till dedikerade Azure Container Instances-resurser (ACI) i din prenumeration, vilket ger beräknings- och nätverksisolering.
Fördelar med isolerade avbildningsversioner
Isolerade avbildningsversioner möjliggör skydd på djupet genom att begränsa nätverksåtkomsten för din virtuella build-dator till bara din prenumeration. Isolerade avbildningsversioner ger dig också mer transparens genom att tillåta din kontroll av bearbetningen som utförs av AIB för att anpassa/verifiera din VM-avbildning. Dessutom underlättar isolerade avbildningsversioner visning av live-byggloggar. Specifikt:
Beräkningsisolering: Isolerade avbildningsversioner utför större delen av bearbetningen av bildskapande i ACI-resurser i din prenumeration i stället för på AIB:s delade plattformsresurser. ACI tillhandahåller isolering av hypervisor-program för varje containergrupp för att säkerställa att containrar körs isolerade utan att dela en kernel.
Nätverksisolering: Isolerade avbildningsversioner tar bort all winRM-/ssh-kommunikation mellan den virtuella datorn och serverdelskomponenterna i AIB-tjänsten.
- Om du etablerar en AIB-mall utan ditt eget undernät för att skapa en virtuell dator etableras inte en offentlig IP-adressresurs längre i din mellanlagringsresursgrupp vid avbildningens byggtid.
- Om du etablerar en AIB-mall med ett befintligt undernät för att skapa en virtuell dator är en Private Link-baserad kommunikationskanal inte längre konfigurerad mellan din virtuella dator och AIB:s serverdelsplattformsresurser. I stället konfigureras kommunikationskanalen mellan ACI:n och de virtuella byggresurserna – som båda finns i mellanlagringsresursgruppen i din prenumeration.
- Från och med API-version 2024-02-01 kan du ange ett andra undernät för att distribuera ACI utöver undernätet för den virtuella byggdatorn. Om det anges distribuerar AIB ACI i det här undernätet och det finns inget behov av att AIB konfigurerar den Private Link-baserade kommunikationskanalen mellan ACI och den virtuella byggdatorn. Mer information om det andra undernätet finns i avsnittet här.
Transparens: AIB bygger på HashiCorp Packer. Isolerade avbildningsversioner kör Packer i ACI i din prenumeration, vilket gör att du kan inspektera ACI-resursen och dess containrar. På samma sätt kan du med hela nätverkskommunikationspipelinen i din prenumeration inspektera alla nätverksresurser, deras inställningar och deras ersättningar.
Bättre visning av liveloggar: AIB skriver anpassningsloggar till ett lagringskonto i mellanlagringsresursgruppen i din prenumeration. Isolerade avbildningsversioner ger ett annat sätt att följa samma loggar direkt i Azure-portalen, vilket kan göras genom att navigera till AIB:s container i ACI-resursen.
Kommentar
Om du vill komma åt liveloggarna under avbildningsversionen eller anpassnings- och valideringsloggfilerna när bygget är klart kan du läsa felsökningsguiden.
Nätverkstopologier
Isolerade avbildningsversioner distribuerar ACI och den virtuella byggdatorn i resursgruppen mellanlagring i din prenumeration. För att AIB ska kunna anpassa/verifiera avbildningen måste containerinstanser som körs i ACI ha en nätverkssökväg till den virtuella byggdatorn. Baserat på dina anpassade nätverksbehov och principer kan du konfigurera AIB för att använda olika nätverkstopologier för detta ändamål:
Ta inte med ett eget undernät för virtuell build-dator
- Du kan välja den här topologin
vnetConfig
genom att inte ange fältet i bildmallen eller genom att ange fältet men utansubnetId
ochcontainerInstanceSubnetId
underfält. - I det här fallet distribuerar AIB ett virtuellt nätverk i mellanlagringsresursgruppen tillsammans med två undernät och nätverkssäkerhetsgrupper (NSG:er). Ett av undernäten används för att distribuera ACI:n, medan det andra undernätet används för att distribuera den virtuella build-datorn. NSG:er har konfigurerats för att tillåta kommunikation mellan de två undernäten.
- AIB distribuerar inte en offentlig IP-resurs eller en privat länkbaserad kommunikationspipeline i det här fallet.
Ta med ditt eget build VM-undernät men ta inte med ditt eget ACI-undernät
- Du kan välja den här topologin
vnetConfig
genom att ange fältet tillsammans medsubnetId
underfältet, men intecontainerInstanceSubnetId
underfältet i avbildningsmallen. - I det här fallet distribuerar AIB ett tillfälligt virtuellt nätverk i mellanlagringsresursgruppen tillsammans med två undernät och nätverkssäkerhetsgrupper (NSG:er). Ett av undernäten används för att distribuera ACI,medan det andra undernätet används för att distribuera den privata slutpunktsresursen. Den virtuella byggdatorn distribueras i det angivna undernätet. En privat länkbaserad kommunikationspipeline som består av en privat slutpunkt, Private Link Service, Azure Load Balancer och en virtuell proxydator distribueras också i mellanlagringsresursgruppen för att underlätta kommunikationen mellan ACI-undernätet och undernätet för den virtuella byggdatorn.
Ta med ditt eget build VM-undernät och ta med ditt eget ACI-undernät
- Du kan välja den här topologin genom att ange fältet
vnetConfig
tillsammans med underfältensubnetId
&containerInstanceSubnetId
i bildmallen. Det här alternativet (och underfältetcontainerInstanceSubnetId
) är tillgängligt från och med API-version 2024-02-01. Du kan också uppdatera dina befintliga mallar så att de använder den här topologin. - I det här fallet distribuerar AIB den virtuella datorn build till det angivna build VM-undernätet och ACI till det angivna ACI-undernätet.
- AIB distribuerar inte några nätverksresurser i mellanlagringsresursgruppen, inklusive offentlig IP, virtuellt nätverk, undernät, nätverkssäkerhetsgrupper, privat slutpunkt, Private Link Service, Azure Load Balancer och virtuell proxydator. Den här topologin kan användas om du har kvotbegränsningar eller principer som inte tillåter distribution av dessa resurser.
- ACI-undernätet måste uppfylla vissa villkor för att tillåta dess användning med isolerade avbildningsversioner.
Du kan se information om dessa fält i mallreferensen. Nätverksalternativ beskrivs i detalj här.
Bakåtkompatibilitet
Isolerade avbildningsversioner är en ändring på plattformsnivå och påverkar inte AIB:s gränssnitt. Dina befintliga resurser för avbildningsmallar och utlösare fortsätter att fungera och det sker ingen ändring i hur du distribuerar nya resurser av dessa typer. Du måste skapa nya mallar eller uppdatera befintliga mallar om du vill använda nätverkstopologin så att du kan ta med ditt eget ACI-undernät.
Dina avbildningsversioner migreras automatiskt till isolerade avbildningsversioner och du behöver inte vidta några åtgärder för att anmäla dig. Anpassningsloggar fortsätter också att vara tillgängliga i lagringskontot.
Beroende på nätverkstopologin som anges i avbildningsmallen kan du se några nya resurser tillfälligt visas i resursgruppen för mellanlagring (till exempel ACI, Virtuellt nätverk, Nätverkssäkerhetsgrupp och Privat slutpunkt) medan vissa andra resurser inte längre visas (till exempel offentlig IP-adress). Som tidigare finns dessa tillfälliga resurser bara under bygget och AIB tar bort dem därefter.
Viktigt!
Kontrollera att din prenumeration är registrerad för Microsoft.ContainerInstance provider
:
- Azure CLI:
az provider register -n Microsoft.ContainerInstance
- PowerShell:
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance
När du har registrerat din prenumeration kontrollerar du att det inte finns några Azure-principer i din prenumeration som nekar distribution av ACI-resurser. Principer som endast tillåter en begränsad uppsättning resurstyper som inte inkluderar ACI skulle leda till att isolerade avbildningsversioner misslyckas.
Se till att din prenumeration också har en tillräcklig kvot med resurser som krävs för distribution av ACI-resurser.
Viktigt!
Beroende på nätverkstopologin som anges i avbildningsmallen kan AIB behöva distribuera tillfälliga nätverksrelaterade resurser i mellanlagringsresursgruppen i din prenumeration. Se till att inga Azure-principer nekar distributionen av sådana resurser (virtuellt nätverk med undernät, nätverkssäkerhetsgrupp, privat slutpunkt) i resursgruppen.
Om du har Azure-principer som tillämpar DDoS-skyddsplaner på ett nyligen skapat virtuellt nätverk kan du antingen koppla från principen för resursgruppen eller se till att mallhanterad identitet har behörighet att ansluta till planen. Du kan också använda nätverkstopologin som inte kräver distribution av ett nytt virtuellt nätverk av AIB.
Viktigt!
Se till att du följer alla metodtips när du använder AIB.
Kommentar
AIB håller på att lansera den här ändringen till alla platser och kunder. En del av den här informationen (särskilt när det gäller distribution av nya nätverksrelaterade resurser) kan ändras eftersom processen finjusteras baserat på tjänsttelemetri och feedback. Eventuella fel finns i felsökningsguiden.