Erstellen eines virtuellen Computers mithilfe einer spezialisierten Imageversion
Artikel
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs
Erstellen Sie einen virtuellen Computer aus einer spezialisierten Imageversion, die in einer Azure Compute Gallery (früher als Shared Image Gallery bezeichnet) gespeichert ist. Wenn Sie eine VM mit einer generalisierten Imageversion erstellen möchten, finden Sie weitere Informationen unter Erstellen einer VM aus einer generalisierten Imageversion.
Dieser Artikel zeigt, wie Sie eine VM aus einem spezialisierten Image erstellen:
Wenn Sie zur Erstellung eines neuen VM eine spezielle VHD verwenden, behält der neue VM den Computernamen des ursprünglichen VM bei. Auch andere computerspezifische Informationen, z. B. die CMID, werden aufbewahrt. Diese doppelten Informationen können Probleme verursachen. Achten Sie beim Kopieren einer VM darauf, auf welche Arten von computerspezifischen Informationen Ihre Anwendungen angewiesen sind.
Erstellen einer VM aus Ihrem Katalog
Erstellen Sie einen virtuellen Computer aus einem internen Katalog.
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 den virtuellen Computer 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 myVM \
--image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
--specialized
Nachdem Sie über eine spezialisierte Imageversion verfügen, können Sie mithilfe des Cmdlets New-AzVM neue VMs erstellen.
In diesem Beispiel verwenden wir die Imagedefinitions-ID, um sicherzustellen, dass Ihre neue VM die neueste Version eines Images verwendet. Sie können auch eine bestimmte Version verwenden, indem Sie die Imageversions-ID für Set-AzVMSourceImage -Id verwenden. Um beispielsweise die Imageversion 1.0.0 zu verwenden, geben Sie ein: Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".
Bei Verwendung einer bestimmten Imageversion ist die Automatisierung möglicherweise nicht erfolgreich, wenn diese bestimmte Imageversion nicht verfügbar ist, da sie gelöscht oder aus der Region entfernt wurde. Es wird empfohlen, die Imagedefinitions-ID zum Erstellen der neuen VM zu verwenden, es sei denn, eine bestimmte Imageversion ist erforderlich.
Ersetzen Sie bei Bedarf die Ressourcennamen in diesem Beispiel.
# Create some variables for the new VM.
$resourceGroup = "mySIGSpecializedRG"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Jetzt können Sie einen oder mehrere neue virtuelle Computer erstellen. Dieses Beispiel erstellt den virtuellen Computer myVM in myResourceGroup im Rechenzentrum USA, Osten.
Wechseln Sie zur Imagedefinition. Sie können den Ressourcenfilter verwenden, um alle verfügbaren Imagedefinitionen anzuzeigen.
Wählen Sie im Menü oben auf der Seite für die Imagedefinition VM erstellen aus.
Wählen Sie unter Ressourcengruppe die Option Neu erstellen aus, und geben Sie myResourceGroup als Namen ein.
Geben Sie unter Name des virtuellen Computers die Zeichenfolge myVM ein.
Wählen Sie als Region die Option USA, Osten aus.
Übernehmen Sie für Verfügbarkeitsoptionen den Standardwert Keine Infrastrukturredundanz erforderlich.
Der Wert für Image wird automatisch mit der neuesten Imageversion (latest) ausgefüllt, wenn Sie auf der Seite für die Imagedefinition begonnen haben.
Wählen Sie für Größe in der Liste der verfügbaren Größen eine VM-Größe aus und klicken Sie dann auf Auswählen.
Der Benutzername unter Administratorkonto ist abgeblendet, da der Benutzername und die Anmeldeinformationen des virtuellen Quellcomputers verwendet werden.
Wenn Sie Remotezugriff auf den virtuellen Computer zulassen möchten, wählen Sie unter Öffentliche Eingangsports die Option Ausgewählte Ports zulassen aus, und wählen Sie dann in der Dropdownliste SSH (22) oder RDP (3389) aus. Wenn Sie keinen Remotezugriff auf den virtuellen Computer ermöglichen möchten, lassen Sie für ausgewählte Öffentliche Eingangsports die Option Keine ausgewählt.
Wählen Sie abschließend die Schaltfläche Überprüfen + erstellen im unteren Seitenbereich aus.
Nachdem die VM-Konfiguration erfolgreich überprüft wurde, wählen Sie im unteren Seitenbereich Erstellen aus, um die Bereitstellung zu starten.
Rollenbasierte Zugriffssteuerung: 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.
Rollenbasierte Zugriffssteuerung: Aus einem anderen Mandanten oder aus einer anderen Organisation
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.
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. 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.
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
Erstellen Sie den virtuellen Computer mithilfe von az vm create und unter Verwendung des Parameters --specialized, um anzugeben, dass es sich um ein spezialisiertes Image handelt.
imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'
az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
--name $name \
--image $image \
--specialized
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.
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.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVM"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Communitykatalog
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:
Als Endbenutzer müssen Sie das Portal verwenden, um den öffentlichen Namen eines Communitykatalogs abzurufen. Wechseln Sie zu Virtuelle Computer>Erstellen>Virtueller Azure-Computer>Image>Alle Images anzeigen>Communityimages>Öffentlicher Katalogname.
Listet alle Imagedefinitionen auf, die in einem Communitykatalog mit az sig image-definition list-community verfügbar sind. In diesem Beispiel werden alle Images im ContosoImage-Katalog in USA, Westen und nach Name aufgeführt, die eindeutige ID, die zum Erstellen einer VM, eines Betriebssystems und des Betriebssystemstatus erforderlich ist.
az sig image-definition list-community \
--public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
--location westus \
--query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table
Erstellen Sie den virtuellen Computer mithilfe von az vm create und unter Verwendung des Parameters --specialized, um anzugeben, dass es sich um ein spezialisiertes Image handelt.
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 myVM \
--image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
--specialized
Wenn Sie ein Communityimage verwenden, werden Sie aufgefordert, die rechtlichen Bedingungen zu akzeptieren. Die Nachricht sieht wie folgt 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):
Geben Sie in das Suchfeld virtuelle Computer ein.
Wählen Sie unter Dienste die Option Virtuelle Computer aus.
Wählen Sie auf der Seite Virtuelle Computer die Option Erstellen und dann Virtueller Computer aus. Die Seite Virtuellen Computer erstellen wird geöffnet.
Stellen Sie auf der Registerkarte Grundlagen unter Projektdetails sicher, dass das richtige Abonnement ausgewählt ist, und wählen Sie dann Neue Ressourcengruppe erstellen oder eine Ressource aus der Dropdownliste aus.
Geben Sie unter Instanzdetails einen Namen für den virtuellen Computer ein.
Stellen Sie für den Sicherheitstyp sicher, dass Standard ausgewählt ist.
Wählen Sie für Ihr Image die Option Alle Images anzeigen aus. Die Seite Image auswählen wird geöffnet.
Wählen Sie im linken Menü unter Andere Elemente die Option Communityimages aus. Die Seite Andere Elemente | Communityimages wird geöffnet.
Wählen Sie ein Image aus der Liste aus. Stellen Sie sicher, dass der Betriebssystemstatus entsprechend Spezialisiert ist. Informationen zum Verwenden eines spezialisierten Images finden Sie unter Erstellen eines virtuellen Computers mithilfe einer generalisierten Imageversion. Je nach Auswahl des Images ändert sich die Region, in der die VM erstellt wird, um dem Image zu entsprechen.
Schließen Sie die restlichen Optionen ab, und wählen Sie dann unten auf der Seite die Schaltfläche Überprüfen und erstellen aus.
Auf der Seite Virtuellen Computer erstellen werden die Details der VM angezeigt, die Sie erstellen möchten. Wählen Sie Erstellen aus, wenn Sie fertig sind.
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 mit der aktuellen Version eines Images zu erstellen, das für Ihr Abonnement oder Ihren Mandanten freigegeben ist, muss die ID des Images im folgenden Format vorliegen:
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 alle verfügbaren Images zu ermitteln. In diesem Beispiel werden alle Images in USA, Westen 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 Specialized lautet. Wenn Sie ein Image mit dem Status Generalized verwenden möchten, finden Sie weitere Informationen unter Erstellen einer VM aus einer generalisierten Imageversion.
Erstellen Sie den virtuellen Computer mithilfe von az vm create und unter Verwendung des Parameters --specialized, um anzugeben, dass es sich um ein spezialisiertes Image handelt.
Verwenden Sie als Wert für „--image“ Id ergänzt durch /Versions/latest, um beim Erstellen einer VM die neueste Version zu verwenden.
In diesem Beispiel erstellen wir eine VM aus der aktuellen Version des Images myImageDefinition.
imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM
az group create --name $vmResourceGroup --location $location
az vm create\
--resource-group $vmResourceGroup \
--name $vmName \
--image $imgDef \
--specialized
Hinweis
Bekanntes Problem: Wenn Sie im Azure-Portal eine Region und ein Image auswählen und dann die Region ändern, erhalten Sie eine Fehlermeldung: „Sie können die VM nur in den Replikationsregionen für dieses Image erstellen“, selbst wenn das Image in diese Region repliziert wird. Um diesen Fehler zu beheben, wählen Sie eine andere Region aus und wechseln dann zurück zur gewünschten Region. Wenn das Image verfügbar ist, sollte die Fehlermeldung geschlossen werden.
Sie können auch mithilfe der Azure CLI überprüfen, welche Images für Sie freigegeben sind. Beispielsweise können Sie mit „az sig list-shared --location westus“ anzeigen, welche Images in der Region „USA, Westen“ für Sie freigegeben sind.
Geben Sie in das Suchfeld virtuelle Computer ein.
Wählen Sie unter Dienste die Option Virtuelle Computer aus.
Wählen Sie auf der Seite Virtuelle Computer die Option Erstellen und dann Virtueller Computer aus. Die Seite Virtuellen Computer erstellen wird geöffnet.
Stellen Sie auf der Registerkarte Grundlagen unter Projektdetails sicher, dass das richtige Abonnement ausgewählt ist, und wählen Sie dann Neue Ressourcengruppe erstellen oder eine Ressource aus der Dropdownliste aus.
Geben Sie unter Instanzdetails einen Namen für den virtuellen Computer ein.
Stellen Sie für den Sicherheitstyp sicher, dass Standard ausgewählt ist.
Wählen Sie für Ihr Image die Option Alle Images anzeigen aus. Die Seite Image auswählen wird geöffnet.
Wählen Sie im linken Menü unter Weitere Elemente die Option Direkt freigegebene Images (VORSCHAU) aus. Die Seite Weitere Elemente | Direkt freigegebene Images (VORSCHAU) wird geöffnet.
Wählen Sie ein Image aus der Liste aus. Stellen Sie sicher, dass der Betriebssystemstatus entsprechend Spezialisiert ist. Wenn Sie ein generalisiertes Image verwenden möchten, finden Sie weitere Informationen unter Erstellen einer VM aus einer generalisierten Imageversion. Je nach Auswahl des Images ändert sich die Region, in der die VM erstellt wird, um dem Image zu entsprechen.
Schließen Sie die restlichen Optionen ab, und wählen Sie dann unten auf der Seite die Schaltfläche Überprüfen und erstellen aus.
Auf der Seite Virtuellen Computer erstellen werden die Details der VM angezeigt, die Sie erstellen möchten. Wählen Sie Erstellen aus, wenn Sie fertig sind.