Übung: Interaktives Erstellen einer Azure-Ressource mit Azure PowerShell
Im ursprünglichen Szenario müssen Sie VMs erstellen, um die CRM-Software (Customer Relationship Management) zu testen. Wenn ein neuer Build verfügbar ist, möchten Sie eine neue VM einrichten, damit Sie die gesamte Installation anhand eines sauberen Images testen können. Nach Abschluss des Tests können Sie die VM löschen.
Jetzt probieren wir die Befehle aus, um eine VM zu erstellen.
Hinweis
Diese Übung ist optional. Wenn Sie diese Übung abschließen möchten, müssen Sie ein Azure-Abonnement erstellen, bevor Sie beginnen. Wenn Sie nicht über ein Azure-Konto verfügen oder derzeit kein Azure-Konto erstellen möchten, können Sie die Anweisungen durchlesen, damit Sie die informationen verstehen, die präsentiert werden.
Hinweis
Sie müssen eine Ressourcengruppe verwenden, um die Schritte in dieser Übung auszuführen. Sie können eine ressourcengruppe verwenden, die Sie bereits erstellt haben, oder Sie können eine neue Ressourcengruppe speziell für diese Übung erstellen. Wenn Sie sich dafür entscheiden, eine neue Ressourcengruppe zu erstellen, macht es das einfacher, alle während der Übung erstellten Ressourcen zu bereinigen. Wenn Sie nicht über eine vorhandene Ressourcengruppe verfügen oder eine neue speziell für diese Übung erstellen möchten, können Sie die Schritte im Azure-Portal und Azure Resource Manager ausführen, um Ressourcengruppen mithilfe des Azure-Portals zu erstellen, oder Sie können die Schritte unter "Azure-Ressourcengruppen verwalten" mithilfe der Azure CLI ausführen, um eine Ressourcengruppe mithilfe der Azure CLI zu erstellen.
Erstellen einer Linux-VM mithilfe von Azure PowerShell
Hier erfahren Sie, wie Sie eine neue Azure-VM mit Azure PowerShell erstellen:
Verwenden Sie das
New-AzVM-Cmdlet zum Erstellen der VM.- Geben Sie die Ressourcengruppe für Ihren virtuellen Computer an.
- Benennen Sie die VM gemäß den Benennungsstandards Ihrer Organisation.
- Wählen Sie einen Speicherort in der Nähe von Ihnen aus der Liste der verfügbaren Azure-Regionen aus.
- Verwenden Sie das Ubuntu Linux-Image
Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest. - Verwenden Sie das Cmdlet
Get-Credential, um die Anmeldeinformationen des VM-Administrators festzulegen. - Fügen Sie den OpenPorts-Parameter mit Port
22für ssh-Zugriff hinzu. - Erstellen Sie einen Namen für eine öffentliche IP-Adresse für die SSH-Anmeldung.
$azVmParams = @{ ResourceGroupName = 'myResourceGroupName' Name = 'testvm-eus-01' Credential = (Get-Credential) Location = 'eastus' Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 PublicIpAddressName = 'testvm-eus-01' } New-AzVm @azVmParamsErsetzen Sie "myResourceGroupName" im vorherigen Beispiel durch den Namen einer vorhandenen Ressourcengruppe oder den Namen der Ressourcengruppe, die Sie für diese Übung erstellt haben.
Tipp
Mit der Schaltfläche " Kopieren " können Sie Befehle in die Zwischenablage kopieren. Klicken Sie zum Einfügen mit der rechten Maustaste auf eine neue Zeile im Cloud Shell-Terminal, und wählen Sie "Einfügen" aus, oder verwenden Sie die Tastenkombination UMSCHALT+Einfügen (%+V unter macOS).
Geben Sie Anmeldeinformationen ein:
Geben Sie bei entsprechender Aufforderung einen Benutzernamen und ein Kennwort gemäß den folgenden Richtlinien ein: Kennwörter müssen 12 bis 123 Zeichen lang sein und drei der folgenden vier Komplexitätsanforderungen erfüllen: Kleinbuchstaben, Großbuchstaben, Ziffern und Sonderzeichen (Übereinstimmung mit dem regulärem Ausdruck [\W_]). Weitere Informationen finden Sie in den häufig gestellten Fragen zur Linux-VM.
Warten Sie auf die VM-Erstellung:
Der VM-Erstellungsprozess kann einige Minuten dauern.
Fragen Sie die Daten ab:
Fragen Sie nach Abschluss die VM ab, und weisen Sie das VM-Objekt einer Variablen (
$vm) zu.$vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName myResourceGroupNameZeigen Sie Informationen zur VM an:
Um Informationen über die VM zu erhalten, zeigen Sie den Inhalt der Variablen an.
$vmBeispielausgabe:
ResourceGroupName : myResourceGroupName Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/testvm-eus-01 VmId : 00000000-0000-0000-0000-000000000000 Name : testvm-eus-01 Type : Microsoft.Compute/virtualMachines Location : eastus Tags : {} HardwareProfile : {VmSize} NetworkProfile : {NetworkInterfaces} OSProfile : {ComputerName, AdminUsername, LinuxConfiguration, Secrets} ProvisioningState : Succeeded StorageProfile : {ImageReference, OsDisk, DataDisks} ...Überprüfen Sie die VM-Eigenschaften:
Sie können komplexe Objekte über den Memberzugriffsoperator (
.) prüfen. Führen Sie beispielsweise den folgenden Befehl aus, um die Eigenschaften im Objekt anzuzeigen, dasVMSizedem Abschnitt "HardwareProfile " zugeordnet ist:$vm.HardwareProfileAlternativ können Sie den folgenden Befehl ausführen, um Informationen zu einem der Datenträger abzurufen:
$vm.StorageProfile.OsDiskRufen Sie die verfügbaren VM-Größen ab:
Übergeben Sie das VM-Objekt an andere Cmdlets, um verfügbare Größen abzurufen:
$vm | Get-AzVMSizeRufen Sie die öffentliche IP-Adresse ab:
Rufen Sie die öffentliche IP-Adresse ab, um eine Verbindung mit der VM herzustellen und sie in einer Variablen zu speichern.
$ip = Get-AzPublicIpAddress -ResourceGroupName myResourceGroupName -Name testvm-eus-01Stellen Sie eine Verbindung mit der VM her:
Stellen Sie eine SSH-Verbindung mit der VM mithilfe der IP-Adresse aus der Variablen her. Wenn der Benutzername beispielsweise
bobist, verwenden Sie den folgenden Befehl:ssh bob@$($ip.IpAddress)Melden Sie sich ab, indem Sie "Exit" eingeben.
Löschen einer VM
Löschen Sie die VM nun, um weitere Befehle auszuprobieren. Führen Sie diese Schritte aus:
Fahren Sie die VM herunter:
Führen Sie den folgenden Befehl aus:
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Löschen der VM:
Wenn die VM beendet wurde, löschen Sie sie, indem Sie das
Remove-AzVM-Cmdlet ausführen.Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Listen Sie alle Ressourcen in der Ressourcengruppe auf:
Verwenden Sie das Cmdlet
Get-AzResource, um alle Ressourcen in der Ressourcengruppe aufzulisten. Die Ergebnisse werden anSelect-Objectweitergeleitet, um bestimmte Eigenschaften zurückzugeben:Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupNameDaraufhin sollten verschiedene Ressourcen (u. a. Datenträger und virtuelle Netzwerke) angezeigt werden, die noch vorhanden sind:
Name ResourceType ResourceGroupName ---- ------------ ----------------- cloudshell Microsoft.Storage/storageAccounts myResourceGroupName testvm-eus-01 Microsoft.Network/virtualNetworks myResourceGroupName testvm-eus-01 Microsoft.Network/publicIPAddresses myResourceGroupName testvm-eus-01 Microsoft.Network/networkSecurityGroups myResourceGroupName testvm-eus-01 Microsoft.Network/networkInterfaces myResourceGroupName testvm-eus-01_OsDisk_1 Microsoft.Compute/disks myResourceGroupNameDer Befehl
Remove-AzVMlöscht nur die VM. Andere Ressourcen werden hierdurch nicht gelöscht. Führen Sie die folgenden Schritte aus, um sie manuell zu bereinigen:Löschen Sie die Netzwerkschnittstelle:
Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name | Remove-AzNetworkInterfaceGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Löschen Sie die Netzwerksicherheitsgruppe:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroupGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Löschen Sie die öffentliche IP-Adresse:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddressGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Löschen Sie das virtuelle Netzwerk:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetworkGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Löschen Sie die verwalteten Betriebssystemdatenträger:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDiskGeben Sie Y ein, und drücken Sie die EINGABETASTE , wenn Sie aufgefordert werden, den Vorgang fortzusetzen.
Überprüfen Sie, ob alle Ressourcen entfernt wurden:
Überprüfen Sie die Ressourcengruppe, um sicherzustellen, dass alle Ressourcen entfernt wurden:
Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupName
Sie diese Befehle interaktiv ausgeführt. Ein besserer Ansatz besteht darin, ein PowerShell-Skript zu schreiben. Skripts ermöglichen es Ihnen, die Logik zum Erstellen oder Löschen einer VM in Zukunft wiederzuverwenden.
Als Nächstes sehen wir uns an, wie diese Aufgaben mithilfe eines PowerShell-Skripts automatisiert werden.