Tutorial: Erstellen eines benutzerdefinierten Images eines virtuellen Azure-Computers mit der Azure CLI

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

Benutzerdefinierte Images sind wie Marketplace-Images, Sie erstellen sie jedoch selbst. Benutzerdefinierte Images können zum Starten von Konfigurationen verwendet werden, z.B. zum Vorabladen von Anwendungen, Anwendungskonfigurationen und anderen Betriebssystemkonfigurationen. In diesem Tutorial erstellen Sie ein eigenes benutzerdefiniertes Image eines virtuellen Azure-Computers. Folgendes wird vermittelt:

  • Erstellen einer Azure Compute Gallery-Instanz (früher als „Shared Image Gallery“ bezeichnet)
  • Erstellen einer Imagedefinition
  • Erstellen einer Imageversion
  • Erstellen eines virtuellen Computers aus einem Image
  • Freigeben eines Katalogs

Dieses Tutorial verwendet die CLI innerhalb des Diensts Azure Cloud Shell, der ständig auf die neueste Version aktualisiert wird. Wählen Sie zum Öffnen von Cloud Shell oben in einem Codeblock die Option Ausprobieren aus.

Wenn Sie die CLI lokal installieren und verwenden möchten, müssen Sie für dieses Tutorial mindestens die Azure CLI-Version 2.35.0 ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Übersicht

Eine Azure Compute Gallery vereinfacht das Freigeben benutzerdefinierter Images in Ihrer Organisation. Benutzerdefinierte Images sind wie Marketplace-Images, Sie erstellen sie jedoch selbst. Benutzerdefinierte Images können zum Starten von Konfigurationen verwendet werden, z.B. zum Vorabladen von Anwendungen, Anwendungskonfigurationen und anderen Betriebssystemkonfigurationen.

Mithilfe von Azure Compute Gallery können Sie Ihre benutzerdefinierten VM-Images für andere Benutzer freigeben. Wählen Sie aus, welche Images Sie freigeben möchten, in welchen Regionen Sie sie zur Verfügung stellen und mit wem Sie sie teilen möchten.

Die Funktion „Azure Compute Gallery“ verfügt über mehrere Ressourcentypen:

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 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 VM-Anwendungen, aber Sie kontrollieren, wer Zugriff hat.
Imagedefinition Imagedefinitionen werden in einem Katalog erstellt und enthalten Informationen zum Image und zu den Anforderungen für seine interne Verwendung. 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.

Voraussetzungen

In den folgenden Schritten wird gezeigt, wie Sie eine vorhandene VM in ein wiederverwendbares benutzerdefiniertes Image umwandeln, mit dem Sie neue VM-Instanzen erstellen können.

Für das Beispiel in diesem Tutorial muss ein virtueller Computer vorhanden sein. Sehen Sie sich ggf. die Schnellstartanleitung zur Befehlszeilenschnittstelle an, um einen virtuellen Computer für dieses Tutorial zu erstellen. Ersetzen Sie beim Durcharbeiten des Tutorials bei Bedarf die Ressourcennamen.

Starten von Azure Cloud Shell

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel ausführen können. Sie verfügt über allgemeine vorinstallierte Tools und ist für die Verwendung mit Ihrem Konto konfiguriert.

Wählen Sie zum Öffnen von Cloud Shell oben rechts in einem Codeblock einfach die Option Ausprobieren. Sie können Cloud Shell auch auf einem separaten Browsertab starten, indem Sie zu https://shell.azure.com/powershell navigieren. Wählen Sie Kopieren, um die Blöcke mit dem Code zu kopieren. Fügen Sie ihn anschließend in Cloud Shell ein, und drücken Sie die EINGABETASTE, um ihn auszuführen.

Ein Katalog ist die primäre Ressource, die zur Ermöglichung der Imagefreigabe verwendet wird.

Zulässige Zeichen für Katalognamen sind Groß- und Kleinbuchstaben, Zahlen und Punkte. Der Katalogname darf keine Gedankenstriche enthalten. Katalognamen müssen innerhalb Ihres Abonnements eindeutig sein.

Erstellen Sie einen Katalog mit az sig create. Im folgenden Beispiel werden eine Ressourcengruppe namens myGalleryRG in der Region USA, Osten und ein Katalog namens myGallery erstellt.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Abrufen von Informationen zur VM

Eine Liste der verfügbaren VMs kann mithilfe von az vm list angezeigt werden.

az vm list --output table

Wenn Sie den Namen des virtuellen Computers kennen und wissen, in welcher Ressourcengruppe er sich befindet, rufen Sie die ID des virtuellen Computers mithilfe von az vm get-instance-view ab.

az vm get-instance-view -g MyResourceGroup -n MyVm --query id

Kopieren Sie die ID des virtuellen Computers zur späteren Verwendung.

Erstellen einer Imagedefinition

Imagedefinitionen erstellen eine logische Gruppierung von Images. Sie werden verwendet, um Informationen zu den Imageversionen zu verwalten, die in ihnen erstellt werden.

Namen für Imagedefinition können aus Groß- und Kleinbuchstaben, Zahlen, Punkten und (Binde)Strichen bestehen.

Weitere Informationen zu den Werten, die Sie für eine Imagedefinition angeben können, finden Sie unter Imagedefinitionen.

Erstellen Sie mithilfe von az sig image-definition create eine Imagedefinition im Katalog.

In diesem Beispiel heißt die Imagedefinition myImageDefinition und ist für ein spezialisiertes Linux-Betriebssystemimage gedacht.

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Kopieren Sie die ID der Imagedefinition in der Ausgabe zur späteren Verwendung.

Erstellen der Imageversion

Erstellen Sie eine Imageversion der VM mit az sig image-version create.

Zulässige Zeichen für die Imageversion sind Zahlen und Punkte. Zahlen müssen im Bereich einer ganzen 32-Bit-Zahl liegen. Format: Hauptversion.Nebenversion.Patch.

In diesem Beispiel wird ein Image der Version 1.0.0 verwendet, und es werden unter Verwendung von zonenredundantem Speicher zwei Replikate in der Region USA, Westen-Mitte, ein Replikat in der Region USA, Süden-Mitte und ein Replikat in der Region USA, Osten 2 erstellt. Die Replikationsregionen müssen die Region beinhalten, in der sich der virtuelle Quellcomputer befindet.

Ersetzen Sie den Wert --managed-image in diesem Beispiel durch die ID Ihrer VM aus dem vorherigen Schritt.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "westcentralus" "southcentralus=1" "eastus=1=standard_zrs" \
   --replica-count 2 \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Hinweis

Sie müssen warten, bis die Imageversion vollständig erstellt und repliziert wurde, bevor Sie dieses verwaltete Image verwenden können, um eine weitere Imageversion zu erstellen.

Fügen Sie beim Erstellen der Imageversion entweder --storage-account-type premium_lrs hinzu, um Ihr Image in Premium-Speicher zu speichern, oder --storage-account-type standard_zrs, um Ihr Image in zonenredundantem Speicher zu speichern.

Erstellen des virtuellen Computers

Erstellen Sie die VM mithilfe von az vm create und unter Verwendung des Parameters --specialized, um anzugeben, dass es sich um ein spezialisiertes Image handelt.

Verwenden Sie die Imagedefinitions-ID für --image, um die VM auf der Grundlage der neuesten verfügbaren Imageversion zu erstellen. Sie können die VM auch auf der Grundlage einer bestimmten Version erstellen, indem Sie die Imageversions-ID für --image angeben.

In diesem Beispiel erstellen wir eine VM aus der aktuellen Version des Images myImageDefinition.

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM2 \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

Sie können Images zwischen Abonnements mithilfe der rollenbasierten Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure RBAC) teilen. Sie können Images auf der Ebene des Katalogs, der Imagedefinition oder der Imageversion freigeben. Jeder Benutzer, der Leseberechtigungen für eine Imageversion besitzt (auch über Abonnements hinweg), kann mithilfe der Imageversion einen virtuellen Computer bereitstellen.

Wir empfehlen, dass Sie mit anderen Benutzern auf Ebene des Katalogs teilen. Um die Objekt-ID Ihres Katalogs abzurufen, verwenden Sie az sig show.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Verwenden Sie die Objekt-ID als Bereich, zusammen mit einer E-Mail-Adresse und az role assignment create, um einem Benutzer Zugriff auf Azure Compute Gallery zu gewähren. Ersetzen Sie <email-address> und <gallery iD> durch Ihre eigenen Angaben.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Weitere Informationen zum Teilen von Ressourcen mithilfe der Azure RBAC finden Sie unter Hinzufügen oder Entfernen von Azure-Rollenzuweisungen mithilfe der Azure CLI.

Azure Image Builder

Azure bietet darüber hinaus den auf Packer basierenden Dienst Azure VM Image Builder. Beschreiben Sie Ihre Anpassungen in einer Vorlage. Diese übernimmt die Imageerstellung.

Nächste Schritte

In diesem Tutorial haben Sie ein benutzerdefiniertes Image eines virtuellen Computers erstellt. Sie haben Folgendes gelernt:

  • Erstellen einer Azure Compute Gallery-Instanz
  • Erstellen einer Imagedefinition
  • Erstellen einer Imageversion
  • Erstellen eines virtuellen Computers aus einem Image
  • Freigeben eines Katalogs

Im nächsten Tutorial erfahren Sie mehr über VM-Skalierungsgruppen.