Speichern und Freigeben von Images in einer Azure Compute Gallery-Instanz

Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen ✔️ Einheitliche Skalierungsgruppen

Ein Image ist eine Kopie entweder eines vollständigen virtuellen Computers (einschließlich sämtlicher angefügter Datenträger) oder lediglich des Betriebssystemdatenträgers, je nachdem, wie es erstellt wird. Wenn Sie aus dem Image einen virtuellen Computer erstellen, werden Kopien der virtuellen Festplatten in dem Image verwendet, um die Datenträger für die neue VM zu erstellen. Das Image verbleibt im Speicher und kann immer wieder zum Erstellen neuer VMs verwendet werden.

Wenn Sie eine große Anzahl Images haben, die Sie verwalten müssen und im gesamten Unternehmen zur Verfügung stellen möchten, können Sie eine Azure Compute Gallery-Instanz als Repository verwenden.

Wenn Sie einen Katalog zum Speichern von Images verwenden, werden mehrere Arten von Ressourcen erstellt:

Resource BESCHREIBUNG
Imagequelle Dies ist eine Ressource, die zum Erstellen einer Imageversion in einem Katalog verwendet werden kann. Eine Imagequelle kann eine vorhandene Azure-VM, die entweder generalisiert oder spezialisiert ist, ein verwaltetes Image, eine Momentaufnahme, eine VHD oder eine Imageversion in einem anderen Katalog sein.
Galerie Wie der Azure Marketplace ist ein Katalog ein Repository zum Verwalten und Teilen von Images und anderen Ressourcen, aber Sie kontrollieren, wer Zugriff hat.
Imagedefinition Imagedefinitionen werden in einem Katalog erstellt und enthalten Informationen zum Image und zu den Anforderungen für die Verwendung zur Erstellung von VMs. Dies schließt ein, ob das Image Windows oder Linux ist, Anmerkungen zu dieser Version und Anforderungen an den minimalen und maximalen Arbeitsspeicher. Es ist eine Definition eines Imagetyps.
Imageversion Eine Imageversion ist, was Sie verwenden, um einen virtuellen Computer zu erstellen, wenn Sie einen Katalog verwenden. Sie können nach Bedarf mehrere Versionen eines Images für Ihre Umgebung haben. Wie bei einem verwalteten Image wird, wenn Sie eine Imageversion zum Erstellen einer VM verwenden, wird die Imageversion verwendet, um neue Datenträger für den virtuellen Computer zu erstellen. Imageversionen können mehrmals verwendet werden.

Eine Abbildung, die zeigt, wie Sie mehrere Versionen eines Images in Ihrem Katalog haben können.

Imagedefinitionen

Eine Imagedefinition ist eine logische Gruppierung für Versionen eines Images. Die Imagedefinition enthält Informationen darüber, warum das Image erstellt wurde, sowie Imagemetadaten, etwa für welches Betriebssystem es bestimmt ist, welche Funktionen es unterstützt und andere Informationen zur Verwendung des Images. Eine Imagedefinition ist wie ein Plan für alle Details rund um das Erstellen eines bestimmten Image. Sie stellen eine VM nicht aus einer Imagedefinition, sondern aus den Imageversionen bereit, die aus der Definition erstellt wurden.

Es gibt drei Parameter für jede Imagedefinition, die in Kombination verwendet werden Herausgeber, Angebot und SKU. Diese Parameter werden verwendet, um eine spezielle Imagedefinition zu finden. Bei einzelnen Imagedefinitionen können ein oder zwei Werte identisch sein, aber nicht alle drei. Hier werden z.B. drei Imagedefinitionen und deren Werte gezeigt:

Imagedefinition Herausgeber Angebot Sku
myImage1 Contoso Finanzen Back-End
myImage2 Contoso Finanzen Front-End
myImage3 Testen Finanzen Front-End

Alle drei verfügen über eindeutige Sätze von Werten. Das Format ist ähnlich der Weise, in der Sie aktuell Herausgeber, Angebot und SKU für Azure Marketplace-Images in Azure PowerShell angeben können, um die neueste Version eines Marketplace-Images abzurufen. Für jede Imagedefinition ist ein eindeutiger Satz dieser Werte erforderlich.

Die folgenden Parameter bestimmen, welche Arten von Imageversionen sie enthalten können:

  • Betriebssystemstatus: Sie können den Betriebssystemstatus auf „Generalisiert“ oder „Spezialisiert“ festlegen. Dieses Feld ist erforderlich.
  • Betriebssystem: Kann entweder Windows oder Linux sein. Dieses Feld ist erforderlich.
  • Hyper-V-Generation: Sie können angeben, ob das Image aus einer Hyper-V-VHD der Generation 1 oder der Generation 2 erstellt wurde. Der Standardwert ist Generation 1.

Imagedefinitionen enthalten Metadaten für das Image, um die Gruppierung von Images zu ermöglichen, die dieselben Features, denselben Plan, Betriebssystemstatus, Betriebssystemtyp usw. unterstützen. Die folgenden Parameter sind weitere Parameter, die für Ihre Imagedefinition festgelegt werden können, damit Sie Ihre Ressourcen einfacher verfolgen können:

  • Beschreibung: Verwenden Sie eine Beschreibung, um ausführlichere Informationen darüber anzugeben, warum die Imagedefinition vorhanden ist. Sie könnten z. B. eine Imagedefinition für Ihren Front-End-Server haben, in dem die Anwendung vorinstalliert ist.

  • EULA (Lizenzbedingungen): Kann verwendet werden, um auf einen Endbenutzer-Lizenzvertrag zu verweisen, der speziell für die Imagedefinition gilt.

  • Datenschutzbestimmungen und Versionshinweise: Speichern Sie Versionshinweise und Datenschutzbestimmungen, und stellen Sie einen URI für den Zugriff auf sie als Teil der Imagedefinition bereit.

  • Datum des Endes der Lebensdauer – Legen Sie ein Standarddatum fest, nach dem das Image nicht verwendet werden sollte, für alle Imageversionen in der Imagedefinition. Diese Angabe dient nur der Information. Benutzer können auch nach dem Ende der Lebensdauer weiterhin VMs aus Images und Versionen erstellen.

  • Tag: Sie können Tags hinzufügen, wenn Sie Ihre Imagedefinition erstellen. Weitere Informationen zu Tags finden Sie unter Verwenden von Tags zum Organisieren von Azure-Ressourcen.

  • Mindest- und Maximalempfehlungen zu vCPU und Arbeitsspeicher: Wenn es für Ihr Image vCPU- und Arbeitsspeicherempfehlungen gibt, können Sie diese Informationen zu Ihrer Imagedefinition hinzufügen.

  • Unzulässige Datenträgertypen: Sie können Informationen über die Speicheranforderungen für Ihren virtuellen Computer bereitstellen. Wenn Ihr Image z. B. nicht für normale Festplattenlaufwerke geeignet ist, fügen Sie diese zur Liste „Nicht zulassen“ hinzu.

  • Erwerbsplaninformationen für Marketplace-Images: -PurchasePlanPublisher, -PurchasePlanName und -PurchasePlanProduct. Weitere Informationen zu den Erwerbsplaninformationen finden Sie unter Suchen nach Images in Azure Marketplace und Bereitstellen von Azure Marketplace-Erwerbsplaninformationen beim Erstellen von Images.

  • Aufbau

  • Mit Features können Sie zusätzliche Features und SecurityTypes angeben, die für das Image unterstützt werden, basierend auf dem Typ des Katalogs:

    Features Zulässige Werte Definition Unterstützt in
    IsHibernateSupported TRUE, FALSE Erstellen von VMs mit Unterstützung für den Ruhezustand. Privat, direkt freigegeben, Community
    IsAcceleratedNetworkSupported TRUE, FALSE Erstellen von virtuellen Computern mit aktiviertem beschleunigtem Netzwerkbetrieb. Wenn dies bei der Imagedefinition auf True festgelegt wird, wird das Erfassen von VMs, die den beschleunigten Netzwerkbetrieb nicht unterstützen, nicht unterstützt. Privat, direkt freigegeben, Community
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Hiermit legen Sie fest, ob als Datenträgertyp SCSI oder NVMe verwendet wird. NVMe-VMs und -Datenträger können nur in Imagedefinitionen erfasst werden, die für die Unterstützung von NVMe gekennzeichnet wurden. Privat, direkt freigegeben, Community

    Wenn Sie einen SecurityType mittels dem features-Parameter angeben, schränkt dies die Sicherheitsfeatures ein, die auf der VM aktiviert sind. Einige Typen sind eingeschränkt, basierend auf dem Typ des Katalogs, in dem sie gespeichert sind:

    SecurityType Definition Unterstützt in
    ConfidentialVMSupported Es handelt sich um ein generisches Gen2-Image, das kein VMGS-Blob enthält. Anhand dieses Imagetyps kann ein virtueller Gen2-Computer oder ein vertraulicher virtueller Computer erstellt werden. Privat, direkt freigegeben, Community
    Vertrauliche VM Anhand dieses Imagetyps können nur vertrauliche virtuelle Computer erstellt werden. Privat
    TrustedLaunchSupported Es handelt sich um ein generisches Gen2-Image, das den VMGS-Blob nicht enthält. Anhand dieses Imagetyps können Gen2- oder TrustedLaunch-VMs erstellt werden. Privat, direkt freigegeben, Community
    TrustedLaunch Anhand dieses Imagetyps können nur TrustedLaunch-VMs erstellt werden. Privat
    TrustedLaunchAndConfidentialVmSupported Es handelt sich um ein generisches Gen2-Image, das den VMGS-Blob nicht enthält. Anhand dieses Imagetyps können Gen2-, TrustedLaunch und vertrauliche VMs erstellt werden. Privat, direkt freigegeben, Community

    Weitere Informationen finden Sie in den CLI-Beispielen zum Hinzufügen von Imagedefinitionsfeatures und SecurityType oder den PowerShell-Beispielen.

    **ConfidentialVM wird nur in den Regionen unterstützt, in denen es verfügbar ist. Die unterstützten Regionen finden Sie hier.

Imageversionen

Eine Imageversion ist, was Sie verwenden, um eine VM zu erstellen. Sie können nach Bedarf mehrere Versionen eines Images für Ihre Umgebung haben. Wenn Sie eine Imageversion zum Erstellen einer VM verwenden, wird die Imageversion verwendet, um neue Datenträger für die VM zu erstellen. Imageversionen können mehrmals verwendet werden.

Die Eigenschaften einer Imageversion sind die folgenden:

  • Versionsnummer: Dies wird als Name der Imageversion verwendet. Es wird immer das folgende Format verwendet: Hauptversion.Nebenversion.Patch. Wenn Sie beim Erstellen einer VM angeben, dass Neueste verwendet werden soll, wird basierend auf den höchsten Werten für Hauptversion, dann für Nebenversion und dann für Patch das neueste Image ausgewählt.
  • Source. Die Quelle kann eine VM, ein verwalteter Datenträger, eine Momentaufnahme, ein verwaltetes Image oder eine andere Imageversion sein.
  • Ende der Lebensdauer. Geben Sie das Ende der Lebensdauer für die Imageversion an. Diese Angabe dient nur der Information. Benutzer können auch nach dem Ende der Lebensdauer weiterhin VMs aus Versionen erstellen.

Generalisierte und spezialisierte Images

Azure Compute Gallery unterstützt zwei Betriebssystemzustände. In der Regel ist es erforderlich, dass die zum Erstellen des Images verwendete VM generalisiert wurde, bevor das Image verwendet wird. Durch das Generalisieren werden computer- und benutzerspezifische Informationen aus dem virtuellen Computer entfernt. Für Linux können Sie den waagent-Parameter -deprovision oder -deprovision+user verwenden. Für Windows wird das Sysprep-Tool verwendet.

Für spezialisierte virtuelle Computer wurden keine computerspezifischen Informationen und Konten entfernt. Virtuellen Computern, die aus spezialisierten Images erstellt wurden, ist zudem kein osProfile zugeordnet. Dies bedeutet, dass spezialisierte Images neben Vorteilen auch einige Einschränkungen aufweisen.

  • VMs und Skalierungsgruppen, die aus spezialisierten Images erstellt wurden, können schneller aktiv sein und ausgeführt werden. Da sie aus einer Quelle erstellt werden, für die bereits der erste Start erfolgt ist, werden virtuelle Computer, die aus diesen Images erstellt wurden, schneller gestartet.
  • Konten, die für die Anmeldung beim virtuellen Computer verwendet werden können, können auch auf jedem virtuellen Computer verwendet werden, der mit dem aus ihm erstellten spezialisierten Image erstellt wurde.
  • Virtuelle Computer haben den Computernamen des virtuellen Computers, aus dem das Image erstellt wurde. Sie sollten den Computernamen ändern, um Konflikte zu vermeiden.
  • Das osProfile gibt an, wie sensible Informationen mithilfe von secrets an den virtuellen Computer übermittelt werden. Dies kann Probleme bei KeyVault, WinRM und anderen Funktionen verursachen, die secrets im osProfile verwenden. In einigen Fällen können Sie verwaltete Dienstidentitäten (Managed Service Identities, MSIs) verwenden, um diese Einschränkungen zu umgehen.

Aktualisieren von Ressourcen

Sobald die Katalogressourcen erstellt sind, können Sie diese ändern. Diese Änderungen sind auf Folgendes beschränkt:

Azure Compute Gallery:

  • BESCHREIBUNG

Imagedefinition:

  • Empfohlene vCPUs
  • Empfohlener Arbeitsspeicher
  • BESCHREIBUNG
  • Datum für Ende des Lebenszyklus
  • ReleaseNotes

Imageversion:

  • Anzahl regionaler Replikate
  • Zielregionen
  • Aus Neueste ausschließen
  • Datum für Ende des Lebenszyklus

Freigabe

Es gibt drei Hauptmethoden zum Freigeben von Images in einer Azure Compute Gallery-Instanz, je nachdem, für wen Sie sie freigeben möchten:

Freigeben für: Personen Gruppen Dienstprinzipal Alle Benutzer in einem bestimmten Abonnement (oder) Mandanten Öffentlich für alle Benutzer in Azure
RBAC-Freigabe Ja Ja Ja Nr. Nein
RBAC + direkt freigegebener Katalog Ja Ja Ja Ja Nein
RBAC + Communitykatalog Ja Ja Ja Keine Ja

Für die Erstellung eines ACG-Image erforderliche RBAC-Berechtigungen

ACG-Images können von Benutzern aus verschiedenen Quellen erstellt werden, einschließlich VMs, Datenträgern oder Momentaufnahmen und VHDs. In diesem Abschnitt werden die verschiedenen Benutzerberechtigungen beschrieben, die zum Erstellen eines Azure Compute Gallery-Image erforderlich sind. Identitäten ohne die erforderlichen Berechtigungen können keine ACG-Images erstellen.

  • Benutzer benötigen Schreibberechtigungen auf dem virtuellen Computer, um eine ACG-Imageversion zu erstellen.
  • Verwenden Sie für das Azure SDK die Eigenschaft properties.storageProfile.source.virtualMachineId. Diese Eigenschaft erfordert die API-Version 2023-07-03 oder Version 1.4.0 (oder höher) des .NET SDK.
Quellentyp Erforderliche Berechtigungen
Virtueller Computer Schreiben
Datenträger/Momentaufnahme Schreiben
VHD Schreiben (listKeys)
Verwaltetes Image Lesen Sie
Katalogabbildung Lesen Sie

Weitere Informationen zu integrierten Rollen in Azure für die Gewährung von RBAC-Berechtigungen finden Sie in unserer Dokumentation.

Flache Replikation

Wenn Sie eine Imageversion erstellen, können Sie den Replikationsmodus für die Entwicklung und den Test auf „flach“ festlegen. Bei der flachen Replikation wird das Kopieren des Images übersprungen, sodass die Imageversion schneller bereit ist. Es bedeutet jedoch auch, dass Sie keine große Anzahl von VMs aus dieser Imageversion bereitstellen können. Dies ähnelt der Art und Weise, wie die älteren verwalteten Images funktionierten.

Eine flache Replikation kann auch hilfreich sein, wenn Sie sehr große Images (bis zu 32 TB) haben, die nicht häufig bereitgestellt werden. Da das Quellimage nicht kopiert wird, können größere Datenträger verwendet werden. Sie können jedoch auch nicht zur gleichzeitigen Bereitstellung großer Anzahl von VMs verwendet werden.

Verwenden Sie --replication-mode Shallow zum Festlegen eines Images für die flache Replikation mit der Azure CLI.

SDK-Unterstützung

Die folgenden SDKs unterstützen das Erstellen von Azure Compute Gallery-Katalogen:

Vorlagen

Sie können mithilfe von Vorlagen eine Azure Compute Gallery-Ressource erstellen. Es stehen mehrere Schnellstartvorlagen zur Verfügung:

Häufig gestellte Fragen

Um alle Azure Compute Gallery-Ressourcen über Abonnements hinweg aufzulisten, auf die Sie im Azure-Portal Zugriff haben, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Azure-Portal.
  2. Scrollen Sie auf der Seite nach unten, und wählen Sie Alle Ressourcen aus.
  3. Wählen Sie alle Abonnements aus, für die Sie alle Ressourcen auflisten möchten.
  4. Suchen Sie nach Ressourcen vom Typ Azure Compute Gallery.

Um alle Azure Compute Gallery-Ressourcen für die Abonnements, auf die Sie Zugriff haben, aufzulisten, verwenden Sie den folgenden Befehl in der Azure-Befehlszeilenschnittstelle:

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