Erstellen eines verwalteten Images eines virtuellen Computers oder einer VHDHow to create a managed image of a virtual machine or VHD

Um mehrere Kopien eines virtuellen Computers (VM) für die Verwendung zum Entwickeln und Testen in Azure zu erstellen, erfassen Sie ein verwaltetes Image der VM oder der Betriebssystem-VHD.To create multiple copies of a virtual machine (VM) for use in Azure for development and test, capture a managed image of the VM or of the OS VHD. Informationen zum Erstellen, Speichern und Freigeben von Images in jeder Größenordnung finden Sie unter Kataloge mit freigegebenen Images.To create, store and share images at scale, see Shared Image Galleries.

Ein verwaltetes Image unterstützt bis zu 20 Bereitstellungen gleichzeitig.One managed image supports up to 20 simultaneous deployments. Wenn Sie versuchen, mehr als 20 VMs gleichzeitig aus demselben verwalteten Image zu erstellen, kann dies aufgrund der Einschränkungen bei der Speicherleistung einer einzelnen VHD zu Timeouts bei der Bereitstellung führen.Attempting to create more than 20 VMs concurrently, from the same managed image, may result in provisioning timeouts due to the storage performance limitations of a single VHD. Wenn Sie mehr als 20 VMs gleichzeitig erstellen möchten, verwenden Sie ein Image für Kataloge mit freigegebenen Images, das mit jeweils einem Replikat pro 20 gleichzeitige VM-Bereitstellungen konfiguriert wurde.To create more than 20 VMs concurrently, use a Shared Image Galleries image configured with 1 replica for every 20 concurrent VM deployments.

Wenn Sie ein verwaltetes Image erstellen möchten, müssen Sie persönliche Kontoinformationen entfernen.To create a managed image, you'll need to remove personal account information. In den folgenden Schritten heben Sie die Bereitstellung eines vorhandenen virtuellen Computers auf, heben dessen Zuordnung auf und erstellen ein Image.In the following steps, you deprovision an existing VM, deallocate it and create an image. Sie können dieses Image verwenden, um virtuelle Computer über jede Ressourcengruppe innerhalb Ihres Abonnements hinweg zu erstellen.You can use this image to create VMs across any resource group within your subscription.

Wenn Sie zum Sichern oder Debuggen eine Kopie Ihres vorhandenen virtuellen Linux-Computers erstellen oder eine spezielle Linux-VHD über einen lokalen virtuellen Computer hochladen möchten, lesen Sie Hochladen und Erstellen eines virtuellen Linux-Computers aus einem benutzerdefinierten Datenträgerimage.To create a copy of your existing Linux VM for backup or debugging, or to upload a specialized Linux VHD from an on-premises VM, see Upload and create a Linux VM from custom disk image.

Sie können den Azure VM Image Builder (Public Preview) -Dienst nutzen, um ein eigenes Bild zu erstellen, ohne vorher den Umgang mit Tools zu erlernen oder eine Buildpipeline einzurichten. Sie geben einfach nur eine Bildkonfiguration an, und der Image Builder erstellt dann das Bild.You can use the Azure VM Image Builder (Public Preview) service to build your custom image, no need to learn any tools, or setup build pipelines, simply providing an image configuration, and the Image Builder will create the Image. Weitere Informationen finden Sie unter Erste Schritte mit Azure VM Image Builder.For more information, see Getting Started with Azure VM Image Builder.

Damit Sie ein Image erstellen können, müssen die folgenden Voraussetzungen erfüllt sein:You'll need the following items before creating an image:

  • Im Resource Manager-Bereitstellungsmodell muss ein virtueller Azure-Computer mit verwalteten Datenträgern erstellt worden sein.An Azure VM created in the Resource Manager deployment model that uses managed disks. Wenn Sie noch keinen virtuellen Linux-Computer erstellt haben, können Sie das Portal, die Azure-Befehlszeilenschnittstelle (Azure CLI) oder Resource Manager-Vorlagen dazu verwenden.If you haven't yet created a Linux VM, you can use the portal, the Azure CLI, or Resource Manager templates. Konfigurieren Sie die VM den Anforderungen entsprechend.Configure the VM as needed. Sie können beispielsweise Datenträger hinzufügen, Updates einspielen und Anwendungen installieren.For example, add data disks, apply updates, and install applications.

  • Die neueste Version von Azure CLI muss installiert sein, und Sie müssen mithilfe von az login bei einem Azure-Konto angemeldet sein.The latest Azure CLI installed and be logged in to an Azure account with az login.

Bevorzugen Sie stattdessen ein Tutorial?Prefer a tutorial instead?

Eine vereinfachte Version dieses Artikels sowie Informationen zum Testen und Auswerten oder zu VMs in Azure finden Sie unter Erstellen eines benutzerdefinierten Images eines virtuellen Azure-Computers mit der Azure-Befehlszeilenschnittstelle.For a simplified version of this article, and for testing, evaluating, or learning about VMs in Azure, see Create a custom image of an Azure VM by using the CLI. Lesen Sie andernfalls hier weiter, um das vollständige Bild zu erhalten.Otherwise, keep reading here to get the full picture.

Schritt 1: Aufheben der Bereitstellung des virtuellen ComputersStep 1: Deprovision the VM

Zuerst heben Sie die Bereitstellung des virtuellen Computers mithilfe des Azure-VM-Agents auf, um computerspezifische Dateien und Daten zu löschen.First you'll deprovision the VM by using the Azure VM agent to delete machine-specific files and data. Verwenden Sie auf dem virtuellen Linux-Quellcomputer den Befehl waagent mit dem Parameter -deprovision+user.Use the waagent command with the -deprovision+user parameter on your source Linux VM. Weitere Informationen erhalten Sie im Benutzerhandbuch für Azure Linux-Agent.For more information, see the Azure Linux Agent user guide.

  1. Stellen Sie mit einem SSH-Client eine Verbindung mit Ihrem virtuellen Linux-Computer her.Connect to your Linux VM with an SSH client.

  2. Geben Sie im SSH-Fenster den folgenden Befehl ein:In the SSH window, enter the following command:

    sudo waagent -deprovision+user
    

    Hinweis

    Führen Sie diesen Befehl nur auf einem virtuellen Computer aus, den Sie als Image erfassen möchten.Only run this command on a VM that you'll capture as an image. Die Ausführung dieses Befehls garantiert nicht, dass alle vertraulichen Informationen aus dem Image gelöscht werden oder dass es für eine erneute Verteilung geeignet ist.This command does not guarantee that the image is cleared of all sensitive information or is suitable for redistribution. Der Parameter +user entfernt auch das zuletzt bereitgestellte Benutzerkonto.The +user parameter also removes the last provisioned user account. Wenn die Anmeldeinformationen des Benutzerkontos auf dem virtuellen Computer verbleiben sollen, verwenden Sie nur -deprovision.To keep user account credentials in the VM, use only -deprovision.

  3. Geben Sie y ein, um fortzufahren.Enter y to continue. Sie können den Parameter -force hinzufügen, um diesen Bestätigungsschritt zu vermeiden.You can add the -force parameter to avoid this confirmation step.

  4. Geben Sie nach der Ausführung dieses Befehls den Befehl exit ein, um den SSH-Client zu schließen.After the command completes, enter exit to close the SSH client. Der virtuelle Computer wird zu diesem Zeitpunkt immer noch ausgeführt.The VM will still be running at this point.

Schritt 2: Erstellen des VM-ImageStep 2: Create VM image

Verwenden Sie Azure CLI, um die VM als generalisiert zu kennzeichnen und das Image zu erfassen.Use the Azure CLI to mark the VM as generalized and capture the image. Ersetzen Sie in den folgenden Beispielen die Beispielparameternamen durch Ihre eigenen Werte.In the following examples, replace example parameter names with your own values. Beispielparameternamen sind u.a. myResourceGroup, myVnet und myVM.Example parameter names include myResourceGroup, myVnet, and myVM.

  1. Heben Sie die Zuordnung des virtuellen Computers auf, dessen Bereitstellung Sie mit az vm deallocate aufgehoben haben.Deallocate the VM that you deprovisioned with az vm deallocate. Im folgenden Beispiel wird die Zuordnung des virtuellen Computers myVM in der Ressourcengruppe myResourceGroup aufgehoben.The following example deallocates the VM named myVM in the resource group named myResourceGroup.

    az vm deallocate \
      --resource-group myResourceGroup \
      --name myVM
    

    Warten Sie, bis die Zuordnung des virtuellen Computers vollständig aufgehoben wurde.Wait for the VM to completely deallocate before moving on. Dies kann einige Minuten in Anspruch nehmen.This may take a few minutes to complete. Der virtuelle Computer wird während der Aufhebung der Zuordnung heruntergefahren.The VM is shut down during deallocation.

  2. Kennzeichnen Sie die VM mit az vm generalize als generalisiert.Mark the VM as generalized with az vm generalize. Im folgenden Beispiel wird der virtuelle Computer myVM in der Ressourcengruppe myResourceGroup als generalisiert gekennzeichnet.The following example marks the VM named myVM in the resource group named myResourceGroup as generalized.

    az vm generalize \
      --resource-group myResourceGroup \
      --name myVM
    

    Eine VM, die generalisiert wurde, kann nicht mehr neu gestartet werden.A VM that has been generalized can no longer be restarted.

  3. Erstellen Sie ein Image der VM-Ressource mit az image create.Create an image of the VM resource with az image create. Im folgenden Beispiel wird ein Image mit dem Namen myImage in der Ressourcengruppe myResourceGroup mit der VM-Ressource myVM erstellt.The following example creates an image named myImage in the resource group named myResourceGroup using the VM resource named myVM.

    az image create \
      --resource-group myResourceGroup \
      --name myImage --source myVM
    

    Hinweis

    Das Image wird in derselben Ressourcengruppe wie der virtuelle Quellcomputer erstellt.The image is created in the same resource group as your source VM. Sie können aus diesem Image virtuelle Computer in einer beliebigen Ressourcengruppe in Ihrem Abonnement erstellen.You can create VMs in any resource group within your subscription from this image. Angesichts der Verwaltung können Sie eine spezifische Ressourcengruppe für die VM-Ressourcen und Images erstellen.From a management perspective, you may wish to create a specific resource group for your VM resources and images.

    Wenn Sie das Image in Speicher mit Zonenresilienz speichern möchten, müssen Sie es in einer Region erstellen, die Verfügbarkeitszonen unterstützt, und den --zone-resilient true-Parameter einbeziehen.If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

Dieser Befehl gibt JSON zurück, das das VM-Image beschreibt.This command returns JSON that describes the VM image. Speichern Sie diese Ausgabe zur späteren Referenznahme.Save this output for later reference.

Schritt 3: Bereitstellen eines virtuellen Computers anhand des erfassten ImagesStep 3: Create a VM from the captured image

Erstellen Sie anhand des erstellten Images einen virtuellen Computer mit az vm create.Create a VM by using the image you created with az vm create. Im folgenden Beispiel wird ein virtueller Computer mit dem Namen myVMDeployed anhand des Images myImage erstellt.The following example creates a VM named myVMDeployed from the image named myImage.

az vm create \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --image myImage\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Erstellen der VM in einer anderen RessourcengruppeCreating the VM in another resource group

Sie können VMs aus einem Image in jeder Ressourcengruppe innerhalb Ihres Abonnements erstellen.You can create VMs from an image in any resource group within your subscription. Zum Erstellen eines virtuellen Computers in einer anderen Ressourcengruppe als dem Image geben Sie die vollständige Ressourcen-ID im Image an.To create a VM in a different resource group than the image, specify the full resource ID to your image. Verwenden Sie az image list, um eine Liste von Images anzuzeigen.Use az image list to view a list of images. Die Ausgabe sieht in etwa wie das folgende Beispiel aus:The output is similar to the following example.

"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
   "location": "westus",
   "name": "myImage",

Im folgenden Beispiel wird az vm create verwendet, um einen virtuellen Computer in einer anderen Ressourcengruppe als das Quellimage zu erstellen, indem die Imageressourcen-ID angegeben wird.The following example uses az vm create to create a VM in a resource group other than the source image, by specifying the image resource ID.

az vm create \
   --resource-group myOtherResourceGroup \
   --name myOtherVMDeployed \
   --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Schritt 4: Überprüfen der BereitstellungStep 4: Verify the deployment

Stellen Sie über SSH eine Verbindung mit dem von Ihnen erstellten virtuellen Computer her, um die Bereitstellung zu überprüfen und den neuen virtuellen Computer zu verwenden.SSH into the virtual machine you created to verify the deployment and start using the new VM. Zum Herstellen einer Verbindung über SSH ermitteln Sie die IP-Adresse oder den FQDN Ihres virtuellen Computers mit az vm show.To connect via SSH, find the IP address or FQDN of your VM with az vm show.

az vm show \
   --resource-group myResourceGroup \
   --name myVMDeployed \
   --show-details

Nächste SchritteNext steps

Informationen zum Erstellen, Speichern und Freigeben von Images in jeder Größenordnung finden Sie unter Kataloge mit freigegebenen Images.To create, store and share images at scale, see Shared Image Galleries.