Erstellen einer VM aus einer generalisierten Imageversion

Erstellen Sie eine VM aus einer generalisierten Imageversion, die in einer Azure Compute Gallery (früher als Shared Image Gallery bezeichnet) gespeichert ist. Informationen zum Erstellen einer VM aus einem spezialisierten Image finden Sie unter Erstellen einer VM aus einem spezialisierten Image.

Dieser Artikel zeigt, wie Sie eine VM anhand eines generalisierten Images erstellen:

Listen Sie die Imagedefinitionen in einem Katalog mithilfe von az sig image-definition list auf, um den Namen und die ID der Definitionen anzuzeigen.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list --resource-group $resourceGroup --gallery-name $gallery --query "[].[name, id]" --output tsv

Erstellen Sie einen virtuellen Computer mit az vm create. Wenn Sie die neueste Version des Images verwenden möchten, legen Sie --image auf die ID der Imagedefinition fest.

In diesem Beispiel wird ein mit SSH geschützter virtueller Linux-Computer erstellt. Für Windows oder zum Schutz einer Linux-VM mit einem Kennwort entfernen Sie --generate-ssh-keys, um zur Eingabe eines Kennworts aufgefordert zu werden. Wenn Sie ein Kennwort direkt angeben möchten, ersetzen Sie --generate-ssh-keys durch --admin-password. Ersetzen Sie bei Bedarf die Ressourcennamen in diesem Beispiel.

imgDef="/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Sie können auch eine bestimmte Version verwenden, indem Sie die Imageversion mit der ID für den --image-Parameter verwenden. Um beispielsweise die Imageversion 1.0.0 zu verwenden, geben Sie ein: --image "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".

Rollenbasierte Zugriffssteuerung: Freigegeben innerhalb Ihrer Organisation

Wenn sich das Abonnement, das den Katalog enthält, im gleichen Mandanten befindet, können Images, die über die rollenbasierte Zugriffssteuerung freigegeben wurden, zum Erstellen von virtuellen Computern über die CLI und über PowerShell verwendet werden.

Verwenden Sie die Image-ID (imageID) des gewünschten Images, und vergewissern Sie sich, dass es in der Region repliziert wird, in der Sie den virtuellen Computer erstellen möchten.

Stellen Sie sicher, dass der Status des Images Generalized lautet. Wenn Sie ein Image mit dem Status Specialized verwenden möchten, finden Sie weitere Informationen unter Erstellen einer VM aus einer spezialisierten Imageversion.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Rollenbasierte Zugriffssteuerung: Freigegeben über einen anderen Mandanten

Wenn das gewünschte Image in einem Katalog gespeichert ist, der sich nicht im gleichen Mandanten (Verzeichnis) befindet, müssen Sie sich bei den einzelnen Mandanten anmelden, um zu überprüfen, ob Sie über Zugriff verfügen.

Sie benötigen außerdem die imageID des gewünschten Images, und Sie müssen sicherstellen, dass sie in der Region repliziert wird, in der Sie den virtuellen Computer erstellen möchten. Außerdem benötigen Sie die Mandanten-ID (tenantID) für den Quellkatalog und die Mandanten-ID (tenantID) für den Ort, an dem Sie den virtuellen Computer erstellen möchten.

In diesem Beispiel wird gezeigt, wie Sie einen virtuellen Computer auf der Grundlage eines generalisierten Images erstellen. Informationen zur Verwendung eines spezialisierten Images finden Sie unter Erstellen eines virtuellen Computers mithilfe einer spezialisierten Imageversion.

Sie müssen sich bei dem Mandanten anmelden, in dem das Image gespeichert ist, ein Zugriffstoken abrufen und sich dann bei dem Mandanten anmelden, in dem Sie den virtuellen Computer erstellen möchten. So überprüft Azure, ob Sie Zugriff auf das Image haben.


tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token
az login --tenant $tenant1
az account get-access-token

Erstellen Sie den virtuellen Computer. Ersetzen Sie die Informationen im Beispiel durch Ihre eigenen. Vergewissern Sie sich vor dem Erstellen des virtuellen Computers, dass das Image in der Region repliziert wird, in der Sie den virtuellen Computer erstellen möchten.

imageid="<ID of the image that you want to use>"
resourcegroup="<name for the resource group>"
location="<location where the image is replicated>"
user='<username for the VM>'
name='<name for the VM>'

az group create --location $location --resource-group $resourcegroup
az vm create \
  --resource-group $resourcegroup \
  --name $name \
  --image $imageid \
  --admin-username $user \
  --generate-ssh-keys

Wichtig

Microsoft bietet keine Unterstützung für Images im Communitykatalog.

Melden von Problemen mit einem Community-Image

Die Verwendung von durch die Community übermittelten VM-Images birgt mehrere Risiken. Images können Schadsoftware oder Sicherheitsrisiken enthalten oder das geistige Eigentum einer Person verletzen. Um eine sichere und zuverlässige Erfahrung für die Community zu schaffen, können Sie Images melden, bei denen Sie diese Probleme sehen.

Die einfachste Möglichkeit, Probleme mit einem Communitykatalog zu melden, besteht darin, das Portal zu verwenden, das Informationen für den Bericht vorab ausfüllt:

  • Wenn Sie Probleme mit Links oder anderen Informationen in den Feldern einer Bilddefinition haben möchten, wählen Sie Communityimage melden aus.
  • Wenn eine Imageversion schädlichen Code enthält oder andere Probleme mit einer bestimmten Version eines Images auftreten, wählen Sie in der Tabelle der Imageversionen unter der Spalte Berichtsversion die Option Bericht aus.

Sie können auch die folgenden Links verwenden, um Probleme zu melden, aber die Formulare werden nicht vorab ausgefüllt:

Verwenden Sie zum Erstellen einer VM mithilfe eines in einem Communitykatalog freigegebenen Images die eindeutige ID des Images für das --image, das im folgenden Format vorliegt:

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

Befolgen Sie die folgenden Anweisungen, um die Liste der Community-Images mithilfe der CLI abzurufen:

Step 1:  Show all 'Community images' in a specific location
az sig list-community --location westus2

Step 2: Once you have the public gallery name from Step 1, Get the Image definition (Name) of the image by running the following command
az sig image-definition list-community --public-gallery-name <<public gallery name>> --location westus2

Step 3: Finally, run the following command to list different image versions available for the specific image
az sig image-version list-community --public-gallery-name <<galleryname>> --gallery-image-definition <<image name>> --location westus2

So rufen Sie den öffentlichen Namen eines Community-Katalogs aus dem Portal ab. Wechseln Sie zu Virtuelle Computer>Erstellen>Virtueller Azure-Computer>Image>Alle Images anzeigen>Communityimages>Öffentlicher Katalogname.

In diesem Beispiel erstellen wir eine VM aus einem Linux-Image und erstellen SSH-Schlüssel für die Authentifizierung.

imgDef="/CommunityGalleries/ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/myLinuxImage/Versions/latest"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Wenn Sie ein Communityimage verwenden, werden Sie aufgefordert, die rechtlichen Bedingungen zu akzeptieren. Die Nachricht sieht folgendermaßen aus:

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Wichtig

„Azure Compute Gallery – direkt freigegebener Katalog“ befindet sich derzeit in der Vorschauphase und unterliegt den Vorschaubedingungen für Azure Compute Gallery.

Um Images während der Vorschau in einem direkt freigegebenen Katalog zu veröffentlichen, müssen Sie sich bei https://aka.ms/directsharedgallery-preview registrieren. Die Erstellung von VMs aus einem direkt freigegebenen Katalog steht allen Azure-Benutzern offen.

Während der Vorschau müssen Sie einen neuen Katalog erstellen, bei dem die Eigenschaft sharingProfile.permissions auf Groups festgelegt ist. Wenn Sie zum Erstellen eines Katalogs die CLI nutzen, verwenden Sie den Parameter --permissions groups. Sie können keinen vorhandenen Katalog verwenden, die Eigenschaft kann zurzeit nicht aktualisiert werden.

Um eine VM mithilfe eines Images zu erstellen, das für Ihr Abonnement oder Ihren Mandanten freigegeben ist, muss die eindeutige ID des Images im folgenden Format vorliegen:

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

Verwenden Sie az sig list-shared, um die uniqueID eines Katalogs zu ermitteln, der für Sie freigegeben ist. In diesem Beispiel suchen wir Kataloge in der Region „USA, Westen“.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

Verwenden Sie den Katalognamen, um die verfügbaren Images zu ermitteln. In diesem Beispiel werden alle Images in Westen, USA nach dem Namen, der für die Erstellung einer VM erforderlichen eindeutigen ID, dem Betriebssystem und dem Betriebssystemstatus aufgelistet.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Stellen Sie sicher, dass der Status des Images Generalized lautet. Wenn Sie ein Image mit dem Status Specialized verwenden möchten, finden Sie weitere Informationen unter Erstellen einer VM aus einer spezialisierten Imageversion.

Verwenden Sie als Wert für --image die ID (Id) aus der Ausgabe, und hängen Sie /Versions/latest an, um bei der Erstellung eines virtuellen Computers die neueste Version zu verwenden. In diesem Beispiel erstellen wir eine VM aus einem Linux-Image, das direkt für uns freigegeben ist, und erstellen SSH-Schlüssel für die Authentifizierung.

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM
adminUsername=azureuser

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

Nächste Schritte