Tutorial: Erstellen und Verwalten virtueller Linux-Computer mit der Azure-Befehlszeilenschnittstelle

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

Virtuelle Azure-Computer bieten eine vollständig konfigurierbare und flexible Computerumgebung. In diesem Tutorial werden grundlegende Vorgänge bei der Bereitstellung von virtuellen Azure-Computern behandelt, z.B. Auswählen einer VM-Größe, Auswählen eines VM-Images und Bereitstellen eines virtuellen Computers. Folgendes wird vermittelt:

  • Erstellen eines virtuellen Computers und Herstellen einer Verbindung mit ihm
  • Auswählen und Verwenden von VM-Images
  • Anzeigen und Verwenden bestimmter VM-Größen
  • Ändern der Größe eines virtuellen Computers
  • Anzeigen und Verstehen des Status von virtuellen Computern

Dieses Tutorial verwendet die CLI innerhalb des Diensts Azure Cloud Shell, der ständig auf die neueste Version aktualisiert wird.

Wenn Sie die CLI lokal installieren und verwenden möchten, müssen Sie für dieses Tutorial die Azure CLI-Version 2.0.30 oder höher 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.

Ressourcengruppe erstellen

Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe.

Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Vor dem virtuellen Computer muss eine Ressourcengruppe erstellt werden. In diesem Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroupVM in der Region eastus2 erstellt.

az group create --name myResourceGroupVM --location eastus2

Die Ressourcengruppe wird beim Erstellen oder Ändern eines virtuellen Computers angegeben und ist im gesamten Tutorial zu sehen.

Erstellen eines virtuellen Computers

Erstellen Sie mit dem Befehl az vm create einen virtuellen Computer.

Beim Erstellen eines virtuellen Computers stehen mehrere Optionen zur Verfügung – beispielsweise Betriebssystemimage, Datenträgergröße und Administratoranmeldeinformationen. Im folgenden Beispiel wird eine VM namens myVM erstellt, auf der SUSE Linux Enterprise Server (SLES) ausgeführt wird. Auf dem virtuellen Computer wird ein Benutzerkonto namens azureuser erstellt. Außerdem werden SSH-Schlüssel generiert, sofern sie am Standardspeicherort für Schlüssel ( ~/.ssh) nicht vorhanden sind:

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image SuseSles15SP3 \
    --public-ip-sku Standard \
    --admin-username azureuser \
    --generate-ssh-keys

Die Erstellung der VM kann einige Minuten dauern. Nach der Erstellung des virtuellen Computers gibt die Azure-Befehlszeilenschnittstelle Informationen zu dem virtuellen Computer aus. Notieren Sie sich den Wert für publicIpAddress, diese Adresse kann für den Zugriff auf die VM verwendet werden.

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus2",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

Herstellen einer Verbindung mit dem virtuellen Computer

Nun können Sie mittels SSH in Azure Cloud Shell oder von Ihrem lokalen Computer aus eine Verbindung mit der VM herstellen. Ersetzen Sie die Beispiel-IP-Adresse durch den Wert für publicIpAddress, den Sie sich im vorherigen Schritt notiert haben.

ssh azureuser@52.174.34.95

Nachdem Sie sich bei der VM angemeldet haben, können Sie Anwendungen installieren und konfigurieren. Wenn Sie fertig sind, schließen Sie wie gewohnt die SSH-Sitzung:

exit

Allgemeines zu VM-Images

Azure Marketplace bietet zahlreiche Images, die zum Erstellen von VMs verwendet werden können. In den vorherigen Schritten wurde ein virtueller Computer mit einem Ubuntu-Image erstellt. In diesem Schritt wird der Marketplace mithilfe der Azure CLI nach einem Ubuntu-Image durchsucht, das anschließend zum Bereitstellen eines zweiten virtuellen Computers verwendet wird.

Eine Liste mit den am häufigsten verwendeten Images erhalten Sie mithilfe des Befehls az vm image list.

az vm image list --output table

Der Befehl gibt die beliebtesten VM-Images in Azure zurück.

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             debian-10                     Debian                  10                                  Debian:debian-10:10:latest                                                      Debian                   latest
x64             flatcar-container-linux-free  kinvolk                 stable                              kinvolk:flatcar-container-linux-free:stable:latest                              Flatcar                  latest
x64             opensuse-leap-15-3            SUSE                    gen2                                SUSE:opensuse-leap-15-3:gen2:latest                                             openSUSE-Leap            latest
x64             RHEL                          RedHat                  7-LVM                               RedHat:RHEL:7-LVM:latest                                                        RHEL                     latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               18.04-LTS                           Canonical:UbuntuServer:18.04-LTS:latest                                         UbuntuLTS                latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                     Win2022Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest  Win2022AzureEditionCore  latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                     Win2019Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                     Win2016Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                  Win2012R2Datacenter      latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                     Win2012Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2008-R2-SP1                         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest                         Win2008R2SP1             latest

Eine vollständige Liste erhalten Sie, indem Sie den Parameter --all hinzufügen. Die Imageliste kann auch nach --publisher oder –-offer gefiltert werden. In diesem Beispiel wird die Liste nach Images gefiltert, die von OpenLogic veröffentlicht wurden, mit einem Angebot, das 0001-com-ubuntu-server-jammy entspricht.

az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table

Beispiel für partielle Ausgabe:

Architecture    Offer                              Publisher    Sku              Urn                                                                       Version
--------------  ---------------------------------  -----------  ---------------  ------------------------------------------------------------------------  ---------------
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200          22.04.202204200
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060          22.04.202205060
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280          22.04.202205280
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040          22.04.202206040
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090          22.04.202206090
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160          22.04.202206160
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220          22.04.202206220
x64             0001-com-ubuntu-server-jammy       Canonical    22_04-lts        Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060          22.04.202207060

Hinweis

Canonical hat die Angebotsnamen geändert, die sie für die neuesten Versionen verwenden. Vor Ubuntu 20.04 lautet der Angebotsname „UbuntuServer“. Für Ubuntu 20.04 lautet der Angebotsname0001-com-ubuntu-server-focal, und für Ubuntu 22.04 lautet er 0001-com-ubuntu-server-jammy.

Wenn Sie einen virtuellen Computer mit einem bestimmten Image bereitstellen möchten, notieren Sie sich den Wert aus der Spalte Urn. Dieser setzt sich zusammen aus dem Herausgeber, dem Angebot, der SKU und optional einer Versionsnummer zur Identifizierung des Images. Bei der Angabe des Images kann die Imageversionsnummer durch latest ersetzt werden, um die neueste Version der Distribution auszuwählen. In diesem Beispiel wird der Parameter --image verwendet, um die aktuelle Version von Ubuntu 22.04 anzugeben.

az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys

Grundlegendes zu VM-Größen

Die Größe eines virtuellen Computers bestimmt die Menge an Computeressourcen (CPU, GPU, Arbeitsspeicher und Ähnliches), die für den virtuellen Computer zur Verfügung gestellt werden. Die Größe virtueller Computer muss auf die zu erwartende Workload abgestimmt werden. Bei einer Zunahme der Workload kann die Größe eines vorhandenen virtuellen Computers geändert werden.

VM-Größen

In der folgenden Tabelle sind Größen in Anwendungsfällen kategorisiert.

type BESCHREIBUNG
Allgemeiner Zweck Ausgewogenes Verhältnis von CPU zu Arbeitsspeicher. Ideal für Entwicklung und Tests, kleine bis mittlere Anwendungen und Datenlösungen.
Computeoptimiert Hohes Verhältnis von CPU zu Arbeitsspeicher. Geeignet für Anwendungen, Network Appliances und Batch-Prozesse mit mittlerer Auslastung.
Arbeitsspeicheroptimiert Hohes Verhältnis von Speicher zu Kern. Hervorragend geeignet für relationale Datenbanken, mittlere bis große Caches und In-Memory-Analysen.
Speicheroptimiert Datenträgerdurchsatz und -E/A auf hohem Niveau. Ideal für Big Data sowie SQL- und NoSQL-Datenbanken.
GPU Spezialisierte virtuelle Computer für aufwendiges Grafikrendering und aufwendige Videobearbeitung.
Hohe Leistung Unsere virtuellen Computer mit den leistungsfähigsten CPUs, die optional über Netzwerkschnittstellen mit hohem Durchsatz (RDMA) verfügen.

Ermitteln der verfügbaren VM-Größen

Eine Liste mit den verfügbaren VM-Größen einer bestimmten Region erhalten Sie mithilfe des Befehls az vm list-sizes.

az vm list-sizes --location eastus2 --output table

Beispiel für partielle Ausgabe:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
4                   8192          Standard_D2ds_v4           2                1047552           76800
8                   16384         Standard_D4ds_v4           4                1047552           153600
16                  32768         Standard_D8ds_v4           8                1047552           307200
32                  65536         Standard_D16ds_v4          16               1047552           614400
32                  131072        Standard_D32ds_v4          32               1047552           1228800
32                  196608        Standard_D48ds_v4          48               1047552           1843200
32                  262144        Standard_D64ds_v4          64               1047552           2457600
4                   8192          Standard_D2ds_v5           2                1047552           76800
8                   16384         Standard_D4ds_v5           4                1047552           153600
16                  32768         Standard_D8ds_v5           8                1047552           307200
32                  65536         Standard_D16ds_v5          16               1047552           614400
32                  131072        Standard_D32ds_v5          32               1047552           1228800
32                  196608        Standard_D48ds_v5          48               1047552           1843200
32                  262144        Standard_D64ds_v5          64               1047552           2457600
32                  393216        Standard_D96ds_v5          96               1047552           3686400

Erstellen eines virtuellen Computers mit einer bestimmten Größe

Im vorherigen Beispiel zur Erstellung eines virtuellen Computers wurde eine Standardgröße verwendet, da keine Größe angegeben wurde. Eine VM-Größe kann bei der Erstellung mit dem Befehl az vm create und dem Parameter --size ausgewählt werden.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image SuseSles15SP3 \
    --size Standard_D2ds_v4  \
    --generate-ssh-keys

Ändern der Größe eines virtuellen Computers

Nach der Bereitstellung eines virtuellen Computers kann dessen Größe geändert werden, um die Ressourcenzuordnung zu erhöhen oder zu verringern. Mit dem Befehl az vm show können Sie die aktuelle Größe einer VM anzeigen:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

Prüfen Sie vor der Größenänderung eines virtuellen Computers, ob die gewünschte Größe im aktuellen Azure-Cluster verfügbar ist. Der Befehl az vm list-vm-resize-options gibt die Größenliste zurück.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

Wenn die gewünschte Größe verfügbar ist, kann die Größe des virtuellen Computers im eingeschalteten Zustand geändert werden, er muss jedoch während des Vorgangs neu gestartet werden. Verwenden Sie zum Vornehmen der Größenänderung den Befehl az vm resize.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3

Falls die gewünschte Größe im aktuellen Cluster nicht verfügbar ist, muss die Zuordnung des virtuellen Computers aufgehoben werden, damit die Größenänderung erfolgen kann. Verwenden Sie den Befehl az vm deallocate, um den virtuellen Computer zu beenden und die Zuordnung aufzuheben. Wenn der virtuelle Computer wieder eingeschaltet wird, werden unter Umständen sämtliche Daten auf dem temporären Datenträger entfernt. Die öffentliche IP-Adresse ändert sich ebenfalls – es sei denn, es wird eine statische IP-Adresse verwendet.

az vm deallocate --resource-group myResourceGroupVM --name myVM

Sobald die Zuordnung aufgehoben wurde, kann die Größe geändert werden.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

Nach dem Ändern der Größe kann der virtuelle Computer gestartet werden.

az vm start --resource-group myResourceGroupVM --name myVM

Betriebszustände von virtuellen Computern

Ein virtueller Azure-Computer kann einen von mehreren Betriebszuständen aufweisen. Dieser Zustand entspricht dem aktuellen Zustand des virtuellen Computers im Hypervisor.

Betriebszustände

Betriebszustand BESCHREIBUNG
Wird gestartet Gibt an, dass der virtuelle Computer gestartet wird.
Wird ausgeführt Gibt an, dass der virtuelle Computer ausgeführt wird.
Wird beendet Gibt an, dass der virtuelle Computer beendet wird.
Beendet Gibt an, dass der virtuelle Computer beendet wurde. Für virtuelle Computer mit beendetem Zustand fallen weiterhin Computegebühren an.
Zuordnung wird aufgehoben Gibt an, dass die Zuordnung des virtuellen Computers aufgehoben wird.
Zuordnung aufgehoben Gibt an, dass der virtuelle Computer aus dem Hypervisor entfernt wurde, auf der Steuerungsebene jedoch weiterhin verfügbar ist. Für virtuelle Computer mit aufgehobener Zuordnung fallen keine Computegebühren an.
- Gibt an, dass der Betriebszustand des virtuellen Computers nicht bekannt ist.

Ermitteln des Energiezustands

Verwenden Sie zum Abrufen des Zustands eines bestimmten virtuellen Computers den Befehl az vm get-instance-view. Achten Sie darauf, dass Sie einen gültigen Namen für einen virtuellen Computer und eine Ressourcengruppe angeben.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Ausgabe:

Code                Level    DisplayStatus
------------------  -------  ---------------
PowerState/running  Info     VM running

Verwenden Sie die API zum Auflisten aller virtuellen Computer, und setzen Sie dabei den Parameter statusOnly auf true, um den Energiezustand aller virtuellen Computer in Ihrem Abonnement abzurufen.

Verwaltungsaufgaben

Während der Lebensdauer eines virtuellen Computers können Sie Verwaltungsaufgaben wie das Starten, Beenden oder Löschen eines virtuellen Computers ausführen. Darüber hinaus empfiehlt es sich, Skripts zum Automatisieren von wiederkehrenden oder komplexen Aufgaben zu erstellen. Mithilfe der Azure CLI können viele allgemeine Verwaltungsaufgaben über die Befehlszeile oder in Skripts ausgeführt werden.

IP-Adresse abrufen

Dieser Befehl gibt die privaten und öffentlichen IP-Adressen eines virtuellen Computers zurück.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Beenden des virtuellen Computers

az vm stop --resource-group myResourceGroupVM --name myVM

Starten des virtuellen Computers

az vm start --resource-group myResourceGroupVM --name myVM

Löschen von VM-Ressourcen

Je nachdem, wie Sie eine VM löschen, wird nur die VM-Ressource gelöscht, nicht aber die Netzwerk- und Datenträgerressourcen. Sie können das Standardverhalten ändern, um auch andere Ressourcen zu löschen, wenn Sie die VM löschen. Weitere Informationen finden Sie unter Löschen einer VM und der angefügten Ressourcen.

Beim Löschen einer Ressourcengruppe werden auch alle in der Ressourcengruppe enthaltenen Ressourcen gelöscht, z.B. die VM, das virtuelle Netzwerk und der virtuelle Datenträger. 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.

az group delete --name myResourceGroupVM --no-wait --yes

Nächste Schritte

In diesem Tutorial haben Sie Informationen zur grundlegenden Erstellung und Verwaltung von virtuellen Computern erhalten, darunter:

  • Erstellen eines virtuellen Computers und Herstellen einer Verbindung mit ihm
  • Auswählen und Verwenden von VM-Images
  • Anzeigen und Verwenden bestimmter VM-Größen
  • Ändern der Größe eines virtuellen Computers
  • Anzeigen und Verstehen des Status von virtuellen Computern

Im nächsten Tutorial erhalten Sie Informationen zu VM-Datenträgern.