Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie eine Skalierungsgruppe erstellen, geben Sie ein Image an, das beim Bereitstellen der VM-Instanzen verwendet wird. Sie können ein benutzerdefiniertes VM-Image verwenden, um die Anzahl von Aufgaben zu reduzieren, nachdem VM-Instanzen bereitgestellt wurden. Dieses benutzerdefinierte VM-Image enthält alle erforderlichen Anwendungsinstallationen oder -konfigurationen. Für alle VM-Instanzen, die in der Skalierungsgruppe erstellt werden, wird das benutzerdefinierte VM-Image verwendet, und die VM-Instanzen sind für die Bereitstellung Ihres Anwendungsdatenverkehrs bereit. In diesem Tutorial lernen Sie Folgendes:
- Erstellen einer Azure Compute Gallery
- Spezialisierte Imagedefinition erstellen
- Erstellen einer Imageversion
- Erstellen einer Skalierungsgruppe auf der Grundlage eines spezialisierten Images
- Bildergalerie freigeben
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Voraussetzungen
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter "Erste Schritte mit Azure Cloud Shell".
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
- Für diesen Artikel ist mindestens Version 2.4.0 der Azure CLI erforderlich. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.
Ü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 Initialisieren von Konfigurationen verwendet werden, z. B. für das Vorabladen von Anwendungen, Anwendungskonfigurationen und weiteren 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 teilen möchten, in welchen Regionen Sie sie verfügbar machen möchten, und mit wem Sie sie teilen möchten.
Erstellen und Konfigurieren einer Quell-VM
Erstellen Sie zunächst mit az group create eine Ressourcengruppe und dann mit az vm create eine VM. Diese VM wird dann als Quelle für das Image verwendet.
Im folgenden Beispiel wird eine Linux-VM mit dem Namen myVM in der Ressourcengruppe myResourceGroup erstellt.
export RANDOM_ID=$(openssl rand -hex 3)
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_ID"
export REGION="eastus"
export MY_VM_NAME="myVM"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image debian11 \
--admin-username azureuser \
--generate-ssh-keys
Tipp
Die ID Ihrer VM wird in der Ausgabe des Befehls az vm create angezeigt. Kopieren und speichern Sie sie an einem sicheren Ort, damit Sie sie später in diesem Tutorial verwenden können.
Erstellen eines Imagekatalogs
Ein Imagekatalog ist die primäre Ressource, die zur Ermöglichung des Teilens von Images verwendet wird.
Für Galerienamen sind Groß- und Kleinbuchstaben, Ziffern und Punkte zulässig. Der Galeriename darf keine Bindestriche enthalten. Galerienamen müssen innerhalb Ihres Abonnements einzigartig sein.
Erstellen Sie einen Imagekatalog mit az sig create.
Im folgenden Beispiel:
- Sie erstellen eine Ressourcengruppe für den Katalog myGalleryRG in der Region USA, Osten.
- Der Katalog heißt myGallery.
export MY_GALLERY_RG_NAME="myGalleryRG$RANDOM_ID"
export MY_GALLERY_NAME="myGallery$RANDOM_ID"
az group create --name $MY_GALLERY_RG_NAME --location $REGION
az sig create --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME
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 Image-Definitionen können aus Groß- und Kleinbuchstaben, Ziffern, Punkten und Bindestrichen bestehen.
Stellen Sie sicher, dass die Imagedefinition den richtigen Typ aufweist:
-
Zustand: Wenn Sie die VM generalisiert haben (über Sysprep für Windows oder „waagent -deprovision“ für Linux) sollten Sie mit
--os-state generalizedeine generalisierte Imagedefinition erstellen. Wenn Sie die VM verwenden möchten, ohne vorhandene Benutzerkonten zu entfernen, erstellen Sie mithilfe von--os-state specializedeine spezialisierte Imagedefinition. - Sicherheitstyp: Neue Azure-VMs werden standardmäßig mit „Vertrauenswürdiger Start“ erstellt. Dieses Tutorial enthält nachfolgende Codebeispiele, die beim Erstellen der Imagedefinition und der Skalierungsgruppe die vertrauenswürdige Start-Konfiguration widerspiegeln. Wenn Sie ein Image mit einer VM erstellen, auf der „Vertrauenswürdiger Start“ nicht aktiviert ist, sollten Sie den richtigen Sicherheitstyp angeben, wenn Sie beide Ressourcen erstellen. Weitere Informationen zu „Vertrauenswürdiger Start“ finden Sie unter „Vertrauenswürdiger Start“ für Azure-VMs.
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 in der Galerie.
Im folgenden Beispiel lautet die Imagedefinition wie folgt:
- Name: myImageDefinition
- Konfiguriert für ein spezialisiertes Image mit dem Betriebssystem Linux Verwenden Sie
--os-type Windows, um eine Definition für Images zu erstellen, die ein Windows-Betriebssystem verwenden. - Konfiguriert für „Vertrauenswürdiger Start“
export MY_IMAGE_DEF_NAME="myImageDefinition$RANDOM_ID"
MY_PUBLISHER_NAME="myPublisher$RANDOM_ID"
az sig image-definition create \
--resource-group $MY_GALLERY_RG_NAME \
--gallery-name $MY_GALLERY_NAME \
--gallery-image-definition $MY_IMAGE_DEF_NAME \
--publisher $MY_PUBLISHER_NAME \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized \
--features SecurityType=TrustedLaunch
Tipp
Die ID Ihrer Imagedefinition wird in der Ausgabe des Befehls angezeigt. Kopieren und speichern Sie sie an einem sicheren Ort, damit Sie sie später in diesem Tutorial verwenden können.
Erstellen der Imageversion
Erstellen Sie mithilfe von az image gallery create-image-version eine Imageversion der VM.
Zulässige Zeichen für die Imageversion sind Zahlen und Punkte. Zahlen müssen im Wertebereich einer 32-Bit-Ganzzahl liegen. Format: Hauptversion.Nebenversion.Patch.
Im folgenden Beispiel:
- Die Bildversion ist 1.0.0.
- Sie erstellen ein Replikat in der Region USA, Süden-Mitte und ein Replikat in der Region USA, Osten. Die Replikationsregionen müssen die Region beinhalten, in der sich der virtuelle Quellcomputer befindet.
-
--virtual-machineist die ID der VM, die Sie zuvor erstellt haben.
export MY_VM_ID=$(az vm show --name $MY_VM_NAME --resource-group $MY_RESOURCE_GROUP_NAME --query "id" --output tsv)
az sig image-version create \
--resource-group $MY_GALLERY_RG_NAME \
--gallery-name $MY_GALLERY_NAME \
--gallery-image-definition $MY_IMAGE_DEF_NAME \
--gallery-image-version 1.0.0 \
--target-regions "southcentralus=1" "eastus=1" \
--virtual-machine $MY_VM_ID
Hinweis
Sie müssen warten, bis die Imageversion vollständig erstellt und repliziert wurde, bevor Sie dieses Image verwenden können, um eine weitere Imageversion zu erstellen.
Sie können Ihr Image beim Erstellen der Imageversion auch in Premium-Speicher speichern, indem Sie --storage-account-type premium_lrs hinzufügen, oder in Zone Redundant Storage, indem Sie --storage-account-type standard_zrs hinzufügen.
Skalierungsset aus dem Image erstellen
Sie erstellen ein Skalierungsset mithilfe von az vmss create. Wenn Sie eine spezialisierte Quell-VM verwenden, fügen Sie den --specialized-Parameter hinzu, um anzugeben, dass es sich um ein spezialisiertes Image handelt.
Wenn Sie zum Erstellen der Skalierungsgruppeninstanzen die Imagedefinitions-ID für --image verwenden, erstellen Sie eine Skalierungsgruppe, die die neueste Version des verfügbaren Image verwendet. Wenn Sie eine bestimmte Version des Image benötigen, stellen Sie sicher, dass Sie die Imageversions-ID einschließen, wenn Sie --image definieren.
Aktuelles Imagebeispiel:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageBeispiel für ein spezialisiertes Image:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0
Im folgenden Beispiel ist der Skalierungssatz:
- Mit dem Namen myScaleSet
- Unter Verwendung der neuesten Version des Images myImageDefinition.
- Konfiguriert für „Vertrauenswürdiger Start“
export MY_IMAGE_DEF_ID=$(az sig image-definition show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --gallery-image-definition $MY_IMAGE_DEF_NAME --query "id" --output tsv)
export MY_SCALE_SET_RG_NAME="myResourceGroup$RANDOM_ID"
export MY_SCALE_SET_NAME="myScaleSet$RANDOM_ID"
az group create --name $MY_SCALE_SET_RG_NAME --location eastus
az vmss create \
--resource-group $MY_SCALE_SET_RG_NAME \
--name $MY_SCALE_SET_NAME \
--orchestration-mode flexible \
--image $MY_IMAGE_DEF_ID \
--specialized \
--security-type TrustedLaunch
Das Erstellen und Konfigurieren aller Ressourcen und VMs des Skalierungssets dauert einige Minuten.
Galerie teilen
Sie können Images über Abonnements hinweg freigeben, indem Sie die rollenbasierte Zugriffssteuerung (Azure RBAC) verwenden, und Sie können sie auf Katalog-, Imagedefinitions- oder Imageversionsebene freigeben. Jeder Benutzer, der Leseberechtigungen für eine Imageversion besitzt (auch über Abonnements hinweg), kann mithilfe der Imageversion eine VM bereitstellen.
Wir empfehlen, dass Sie mit anderen Benutzern auf Ebene des Katalogs teilen.
Das folgende Beispiel:
- Ruft die Objekt-ID der Galerie mit az sig show ab.
- Ermöglicht den Zugriff auf den Katalog mithilfe von az role assignment create.
- Verwendet die Objekt-ID als Geltungsbereich der Zuweisung.
- Verwendet die ID des angemeldeten Benutzers für Demonstrationszwecke als zugewiesene Person. Wenn Sie diesen Code in Ihrem Test- oder Produktionscode verwenden, stellen Sie bitte sicher, dass Sie den Zuweisungsempfänger entsprechend anpassen, damit nur die von Ihnen gewünschten Personen auf dieses Bild zugreifen können. Weitere Informationen zum Teilen von Ressourcen mithilfe der Azure RBAC finden Sie unter Hinzufügen oder Entfernen von Azure-Rollenzuweisungen mithilfe der Azure CLI. , zusammen mit einer E-Mail-Adresse, mithilfe von az role assignment create, um einem Benutzer Zugriff auf den freigegebenen Image-Katalog zu gewähren.
export MY_GALLERY_ID=$(az sig show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --query "id" --output tsv)
export CALLER_ID=$(az ad signed-in-user show --query id -o tsv)
az role assignment create \
--role "Reader" \
--assignee $CALLER_ID \
--scope $MY_GALLERY_ID
Bereinigen von Ressourcen
Um Ihre Skalierungsgruppe und weitere Ressourcen zu entfernen, löschen Sie die Ressourcengruppe und alle darin enthaltenen Ressourcen mit az group delete. Der Parameter --no-wait gibt die Steuerung an die Eingabeaufforderung zurück, ohne zu warten, bis der Vorgang abgeschlossen ist. Der Parameter --yes bestätigt ohne eine zusätzliche Aufforderung, dass Sie die Ressourcen löschen möchten.
Nächste Schritte
In diesem Tutorial wurde beschrieben, wie Sie ein benutzerdefiniertes VM-Image für Ihre Skalierungsgruppen mit der Azure CLI erstellen und verwenden:
- Erstellen einer Azure Compute Gallery
- Spezialisierte Imagedefinition erstellen
- Erstellen einer Imageversion
- Erstellen einer Skalierungsgruppe auf der Grundlage eines spezialisierten Images
- Bildergalerie freigeben
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Anwendungen in Ihrer Skalierungsgruppe bereitstellen.