Lagra och dela avbildningar i ett Azure Compute-galleri

Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar

En avbildning är en kopia av antingen en fullständig virtuell dator (inklusive eventuella anslutna datadiskar) eller bara OS-disken, beroende på hur den skapas. När du skapar en virtuell dator från avbildningen används en kopia av de virtuella hårddiskarna i avbildningen för att skapa diskarna för den nya virtuella datorn. Avbildningen finns kvar i lagringen och kan användas om och om igen för att skapa nya virtuella datorer.

Om du har ett stort antal bilder som du behöver underhålla och vill göra dem tillgängliga i hela företaget kan du använda ett Azure Compute-galleri som lagringsplats.

När du använder ett galleri för att lagra avbildningar skapas flera resurstyper:

Resurs beskrivning
Bildkälla Det här är en resurs som kan användas för att skapa en avbildningsversion i ett galleri. En avbildningskälla kan vara en befintlig virtuell Azure-dator som antingen är generaliserad eller specialiserad, en hanterad avbildning, en ögonblicksbild, en virtuell hårddisk eller en avbildningsversion i ett annat galleri.
Galleri Precis som på Azure Marketplace är ett galleri en lagringsplats för hantering och delning av avbildningar och andra resurser, men du styr vem som har åtkomst.
Bilddefinition Bilddefinitioner skapas i ett galleri och de innehåller information om avbildningen och eventuella krav för att använda den för att skapa virtuella datorer. Detta inkluderar om avbildningen är Windows eller Linux, viktig information och krav på lägsta och högsta minne. Det är en definition av en typ av bild.
Avbildningsversion En avbildningsversion är det du använder för att skapa en virtuell dator när du använder ett galleri. Du kan ha flera versioner av en avbildning efter behov för din miljö. Precis som en hanterad avbildning används avbildningsversionen för att skapa nya diskar för den virtuella datorn när du använder en avbildningsversion för att skapa en virtuell dator. Avbildningsversioner kan användas flera gånger.

Bild som visar hur du kan ha flera versioner av en bild i galleriet

Bilddefinitioner

Bilddefinitioner är en logisk gruppering för versioner av en bild. Bilddefinitionen innehåller information om varför avbildningen skapades och innehåller även bildmetadata, till exempel vilket operativsystem den är till för, funktioner som den stöder och annan information om hur du använder bilden. En bilddefinition är som en plan för all information om hur du skapar en viss avbildning. Du distribuerar inte en virtuell dator från en avbildningsdefinition, utan från de avbildningsversioner som skapats från definitionen.

Det finns tre parametrar för varje bilddefinition som används i kombination – Publisher, Offer och SKU. Dessa används för att hitta en specifik bilddefinition. Du kan ha bilddefinitioner som delar ett eller två, men inte alla tre värdena. Här är till exempel tre bilddefinitioner och deras värden:

Bilddefinition Publisher Erbjudande Sku
myImage1 Contoso Ekonomi Serverdel
myImage2 Contoso Ekonomi Klientdel
myImage3 Testning Ekonomi Klientdel

Alla tre av dessa har unika uppsättningar med värden. Formatet liknar hur du för närvarande kan ange utgivare, erbjudande och SKU för Azure Marketplace-avbildningar i Azure PowerShell för att hämta den senaste versionen av en Marketplace-avbildning. Varje bilddefinition måste ha en unik uppsättning av dessa värden.

Följande parametrar avgör vilka typer av bildversioner de kan innehålla:

  • Operativsystemtillstånd – Du kan ange operativsystemets tillstånd till generaliserat eller specialiserat. Fältet är obligatoriskt.
  • Operativsystem – kan vara antingen Windows eller Linux. Fältet är obligatoriskt.
  • Hyper-V-generation – ange om avbildningen skapades från en hyper-V-hårddisk av generation 1 eller generation 2 . Standardvärdet är generation 1.

Bilddefinitioner innehåller metadata för avbildningen för att tillåta gruppering av bilder som stöder samma funktioner, plan, OS-tillstånd, operativsystemtyp och andra. Följande är andra parametrar som kan anges i bilddefinitionen så att du enklare kan spåra dina resurser:

  • Beskrivning – använd beskrivning för att ge mer detaljerad information om varför bilddefinitionen finns. Du kan till exempel ha en bilddefinition för klientdelsservern som har programmet förinstallerat.

  • EULA – kan användas för att peka på ett licensavtal för slutanvändare som är specifikt för bilddefinitionen.

  • Sekretesspolicy och viktig information – lagra viktig information och sekretesspolicyer i Azure Storage och ge en URI för åtkomst till dem som en del av avbildningsdefinitionen.

  • Slutdatum – upprätta ett standarddatum efter vilket avbildningen inte ska användas för alla bildversioner i bilddefinitionen. Slutdatum är informationsbaserade. användare kommer fortfarande att kunna skapa virtuella datorer från avbildningar och versioner efter slutdatumet.

  • Tagg – du kan lägga till taggar när du skapar avbildningsdefinitionen. Mer information om taggar finns i Använda taggar för att organisera dina resurser

  • Lägsta och högsta rekommendationer för vCPU och minne – om avbildningen har vCPU- och minnesrekommendationer kan du bifoga den informationen i bilddefinitionen.

  • Otillåtna disktyper – du kan ange information om lagringsbehoven för den virtuella datorn. Om avbildningen till exempel inte lämpar sig för standarddiskar för hårddiskar lägger du till dem i listan över otillåtna.

  • Köp planinformation för Marketplace-avbildningar – -PurchasePlanPublisher, -PurchasePlanNameoch -PurchasePlanProduct. Mer information om köpplansinformation finns i Hitta avbildningar på Azure Marketplace och Ange köpplansinformation för Azure Marketplace när du skapar avbildningar.

  • Arkitektur

    • x64- eller ARM64-arkitektur
  • Med funktioner kan du ange ytterligare funktioner och SecurityTypes som stöds på bilden, baserat på typen av galleri:

    Funktioner Godkända värden Definition Stöds i
    IsHibernateSupported Sant, Falskt Skapa virtuella datorer med stöd för viloläge. Privat, direkt delad, community
    IsAcceleratedNetworkSupported Sant, Falskt Skapa virtuella datorer med accelererat nätverk aktiverat. När inställningen är inställd True på på Bilddefinition stöds inte insamling av virtuella datorer som inte stöder accelererat nätverk. Privat, direkt delad, community
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Ange att detta ska använda scsi- eller NVMe-disktyp. Virtuella NVMe-datorer och -diskar kan bara avbildas i bilddefinitioner som har taggats för att stödja NVMe. Privat, direkt delad, community

    När du anger en SecurityType med parametern features begränsas de säkerhetsfunktioner som är aktiverade på den virtuella datorn. Vissa typer är begränsade, baserat på vilken typ av galleri de lagras i:

    SecurityType Definition Stöds i
    ConfidentialVMSupported Det är en allmän Gen2-avbildning som inte innehåller VMGS-blob. En virtuell Gen2-dator eller en konfidentiell virtuell dator kan skapas från den här avbildningstypen Privat, direkt delad, community
    Konfidentiell virtuell dator Endast konfidentiella virtuella datorer kan skapas från den här avbildningstypen Privat
    TrustedLaunchSupported Det är en allmän Gen2-avbildning som inte innehåller VMGS-bloben. Gen2 VM eller TrustedLaunch VM kan skapas från den här avbildningstypen. Privat, direkt delad, community
    TrustedLaunch Det går bara att skapa en virtuell TrustedLaunch-dator från den här avbildningstypen Privat
    TrustedLaunchAndConfidentialVmSupported Det är en allmän Gen2-avbildning som inte innehåller VMGS-bloben. Gen2 VM, TrustedLaunch VM eller en ConfidentialVM kan skapas från den här avbildningstypen. Privat, direkt delad, community

    Mer information finns i CLI-exemplen för att lägga till bilddefinitionsfunktioner och SecurityType eller PowerShell-exemplen.

    **ConfidentialVM stöds bara i de regioner där den är tillgänglig. Du hittar de regioner som stöds här.

Bildversioner

En avbildningsversion är det du använder för att skapa en virtuell dator. Du kan ha flera versioner av en avbildning efter behov för din miljö. När du använder en avbildningsversion för att skapa en virtuell dator används avbildningsversionen för att skapa nya diskar för den virtuella datorn. Avbildningsversioner kan användas flera gånger.

Egenskaperna för en avbildningsversion är:

  • Versionsnummer. Detta används som namnet på avbildningsversionen. Det är alltid i formatet: MajorVersion.MinorVersion.Patch. När du anger att du ska använda den senaste när du skapar en virtuell dator väljs den senaste avbildningen baserat på den högsta MajorVersion, sedan MinorVersion och sedan Patch.
  • Källa. Källan kan vara en virtuell dator, hanterad disk, ögonblicksbild, hanterad avbildning eller en annan avbildningsversion.
  • Slutdatum. Ange slutdatumet för avbildningsversionen. Slutdatum är informationsbaserade. användare kommer fortfarande att kunna skapa virtuella datorer från versioner efter slutdatumet.

Generaliserade och specialiserade bilder

Det finns två operativsystemtillstånd som stöds av Azure Compute Gallery. Vanligtvis kräver avbildningar att den virtuella dator som används för att skapa avbildningen har generaliserats innan avbildningen används. Generalisering är en process som tar bort dator- och användarspecifik information från den virtuella datorn. För Linux kan du använda waagent-deprovision eller -deprovision+user parametrar. För Windows används Sysprep-verktyget.

Specialiserade virtuella datorer har inte gått igenom en process för att ta bort datorspecifik information och konton. Dessutom har virtuella datorer som skapats från specialiserade avbildningar inte någon osProfile associerad med dem. Det innebär att specialiserade bilder kommer att ha vissa begränsningar utöver vissa fördelar.

  • Virtuella datorer och skalningsuppsättningar som skapats från specialiserade avbildningar kan vara igång snabbare. Eftersom de skapas från en källa som redan har gått igenom den första starten startar virtuella datorer som skapats från dessa avbildningar snabbare.
  • Konton som kan användas för att logga in på den virtuella datorn kan också användas på alla virtuella datorer som skapats med den specialiserade avbildningen som skapas från den virtuella datorn.
  • De virtuella datorerna har datornamnet på den virtuella datorn som avbildningen togs från. Du bör ändra datornamnet för att undvika kollisioner.
  • Är osProfile hur viss känslig information skickas till den virtuella datorn med hjälp av secrets. Detta kan orsaka problem med KeyVault, WinRM och andra funktioner som använder secrets i osProfile. I vissa fall kan du använda hanterade tjänstidentiteter (MSI) för att kringgå dessa begränsningar.

Uppdatera resurser

När du har skapat kan du göra några ändringar i galleriresurserna. Dessa är begränsade till:

Azure Compute Gallery:

  • beskrivning

Bilddefinition:

  • Rekommenderade vCPU:er
  • Rekommenderat minne
  • beskrivning
  • Slutdatum
  • ReleaseNotes

Avbildningsversion:

  • Antal regionala repliker
  • Målregioner
  • Exkludera från senaste
  • Slutdatum

Delning

Det finns tre huvudsakliga sätt att dela bilder på ett Azure Compute-galleri, beroende på vem du vill dela med:

Dela med: Personer Grupper Tjänstens huvudnamn Alla användare i en specifik prenumeration (eller) klientorganisation Offentligt med alla användare i Azure
RBAC-delning Ja Ja Ja Nej Nej
RBAC + Direkt delat galleri Ja Ja Ja Ja Nej
RBAC + Community-galleri Ja Ja Ja No Ja

RBAC-behörigheter som krävs för att skapa en ACG-avbildning:

ACG-avbildningar kan skapas av användare från olika källor, inklusive virtuella datorer, diskar/ögonblicksbilder och virtuella hårddiskar. I avsnittet beskrivs de olika användarbehörigheter som krävs för att skapa en Azure Compute Gallery-avbildning. Identifierar utan nödvändiga behörigheter kommer inte att kunna skapa ACG-avbildningar.

Source type Behörigheter som krävs
Virtuell maskin Skriva
Disk/ögonblicksbild Skriva
VHD Skriv (listKeys)
Hanterad avbildning Lästa
Galleriavbildning Lästa

Mer information om inbyggda Azure-roller finns i vår dokumentation för att bevilja RBAC-behörigheter

Ytlig replikering

När du skapar en avbildningsversion kan du ange replikeringsläget till grunt för utveckling och testning. Ytlig replikering hoppar över kopiering av avbildningen, så avbildningsversionen är klar snabbare. Men det innebär också att du inte kan distribuera ett stort antal virtuella datorer från den avbildningsversionen. Detta liknar det sätt som de äldre hanterade bilderna fungerade på.

Ytlig replikering kan också vara användbar om du har stora avbildningar (upp till 32 TB) som inte distribueras ofta. Eftersom källbilden inte kopieras kan större diskar användas. Men de kan inte heller användas för att distribuera ett stort antal virtuella datorer samtidigt.

Om du vill ange en avbildning för ytlig replikering använder du --replication-mode Shallow med Azure CLI.

SDK-support

Följande SDK:er stöder skapandet av Azure Compute Galleries:

Mallar

Du kan skapa Azure Compute Gallery-resursen med hjälp av mallar. Det finns flera tillgängliga snabbstartsmallar:

Vanliga frågor och svar

Följ stegen nedan om du vill visa en lista över alla Azure Compute Gallery-resurser i prenumerationer som du har åtkomst till i Azure-portalen:

  1. Öppna Azure Portal.
  2. Rulla nedåt på sidan och välj Alla resurser.
  3. Välj alla prenumerationer under vilka du vill visa en lista över alla resurser.
  4. Leta efter resurser av typen Azure Compute Gallery .

Om du vill visa en lista över alla Azure Compute Gallery-resurser i prenumerationer som du har behörighet till använder du följande kommando i Azure CLI:

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

Ja. Det finns tre scenarier baserat på vilka typer av bilder du kan ha.

Scenario 1: Om du har en hanterad avbildning kan du skapa en bilddefinition och avbildningsversion från den. Mer information finns i Skapa och bilddefinition och en avbildningsversion.

Scenario 2: Om du har en ohanterad avbildning kan du skapa en hanterad avbildning från den och sedan skapa en bilddefinition och avbildningsversion från den.

Scenario 3: Om du har en virtuell hårddisk i det lokala filsystemet måste du ladda upp den virtuella hårddisken till en hanterad avbildning. Sedan kan du skapa en bilddefinition och avbildningsversion från den.

Kan jag skapa en avbildningsversion från en specialiserad disk?

Ja, kan skapa en virtuell dator från en specialiserad avbildning.

Nej, du kan inte flytta galleribildresursen till en annan prenumeration. Du kan replikera avbildningsversionerna i galleriet till andra regioner eller kopiera en bild från ett annat galleri.

Kan jag replikera mina avbildningsversioner över moln som Azure som drivs av 21Vianet eller Azure Germany eller Azure Government Cloud?

Nej, du kan inte replikera avbildningsversioner mellan moln.

Kan jag replikera mina avbildningsversioner mellan prenumerationer?

Nej, du kan replikera avbildningsversionerna mellan regioner i en prenumeration och använda den i andra prenumerationer via RBAC.

Kan jag dela avbildningsversioner mellan Microsoft Entra-klienter?

Ja, du kan använda RBAC för att dela till enskilda användare mellan klienter. Men om du vill dela i stor skala kan du läsa "Dela galleribilder mellan Azure-klienter" med hjälp av PowerShell eller CLI.

Hur lång tid tar det att replikera avbildningsversioner i målregionerna?

Replikeringstiden för avbildningsversionen är helt beroende av bildens storlek och antalet regioner som den replikeras till. Vi rekommenderar dock att du håller bilden liten och att käll- och målregionerna stängs för bästa resultat. Du kan kontrollera replikeringens status med flaggan -ReplicationStatus.

Vad är skillnaden mellan källregion och målregion?

Källregionen är den region där avbildningsversionen ska skapas och målregioner är de regioner där en kopia av avbildningsversionen ska lagras. För varje avbildningsversion kan du bara ha en källregion. Kontrollera också att du skickar källregionplatsen som en av målregionerna när du skapar en avbildningsversion.

Hur gör jag för att ange källregionen när du skapar avbildningsversionen?

När du skapar en avbildningsversion kan du använda argumentet --location i CLI och parametern -Location i PowerShell för att ange källregionen. Kontrollera att den hanterade avbildning som du använder som basavbildning för att skapa avbildningsversionen finns på samma plats som den plats där du tänker skapa avbildningsversionen. Kontrollera också att du skickar källregionplatsen som en av målregionerna när du skapar en avbildningsversion.

Hur gör jag för att ange hur många avbildningsversionsrepliker som ska skapas i varje region?

Det finns två sätt att ange hur många avbildningsversionsrepliker som ska skapas i varje region:

  1. Det regionala replikantalet som anger antalet repliker som du vill skapa per region.
  2. Det vanliga antalet repliker som är standardantalet per region om antalet regionala repliker inte har angetts.

Om du vill ange antalet regionala repliker skickar du platsen tillsammans med antalet repliker som du vill skapa i den regionen: "USA, södra centrala=2".

Om det regionala antalet repliker inte anges för varje plats är standardantalet repliker det vanliga antalet repliker som du har angett.

Om du vill ange det vanliga antalet repliker i Azure CLI använder du argumentet --replica-count i az sig image-version create kommandot .

Ja, det är möjligt. Men som bästa praxis rekommenderar vi att du behåller resursgruppen, galleriet, bilddefinitionen och avbildningsversionen på samma plats.

Det finns inga avgifter för att använda ett Azure Compute-galleri, förutom lagringsavgifterna för lagring av avbildningsversioner och avgifter för utgående nätverk för replikering av avbildningsversioner från källregion till målregioner.

Vilken API-version ska jag använda när jag skapar avbildningar?

Om du vill arbeta med gallerier, bilddefinitioner och avbildningsversioner rekommenderar vi att du använder API-version 2018-06-01. Zonredundant lagring (ZRS) kräver version 2019-03-01 eller senare.

Vilken API-version ska jag använda för att skapa en virtuell dator eller vm-skalningsuppsättning av avbildningsversionen?

För vm- och vm-skalningsuppsättningsdistributioner med en avbildningsversion rekommenderar vi att du använder API-version 2018-04-01 eller senare.

Ja, du kan uppdatera referensen för skalningsuppsättningsavbildningen från en hanterad avbildning till en Azure Compute Gallery-avbildning, så länge os-typen, Hyper-V-generationen och datadisklayouten matchar mellan bilderna.

Hur kan jag uppdatera min kod för att använda den nya egenskapen och se till att behörigheterna beviljas korrekt när vm-avbildningen skapas?

För fältet Virtuell dator-ID använder du fältet VirtualMachineId under GallerySource(GalleryImageVersionStorageProfile.GallerySource.VirtualMachineID). Den nya egenskapen kräver api-version 2023-07-03 eller version 1.4.0 (eller senare) av .NET SDK

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

För VHD som källa använder du fältet StorageAccountID under GallerySource under OSDiskImage eller Data disk Image(GalleryImageVersionStorageProfile.OSDiskImage.GallerySource.StorageAccountId). Den nya egenskapen kräver api-version 2022-03-03

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

Felsöka

Om du har problem med att utföra åtgärder på galleriresurserna läser du listan över vanliga fel i felsökningsguiden.

Dessutom kan du publicera och tagga din fråga med azure-virtual-machines-images i Q&A.

Nästa steg

Lär dig hur du distribuerar avbildningar med hjälp av Azure Compute Gallery.