Übung: Erstellen von Azure-Ressourcen mit Azure PowerShell mithilfe eines Skripts
In dieser Lerneinheit fahren Sie mit dem Beispiel eines Unternehmens fort, das Linux-Verwaltungstools entwickelt. Ziel ist es, virtuelle Linux-Computer (Linux-VMs) zu verwenden, um potenziellen Kunden das Testen Ihrer Software zu ermöglichen. Wenn eine Ressourcengruppe bereits eingerichtet ist, ist es an der Zeit, die virtuellen Computer zu erstellen.
Ihr Unternehmen hat auf einer großen Linux-Messe einen Stand gebucht. Sie planen, einen Demobereich mit drei Terminals einzurichten, die jeweils mit einer separaten Linux-VM verbunden sind. Sie müssen die VMs löschen und am Ende jedes Tages neu erstellen, damit sie jeden Morgen neu verfügbar sind. Das manuelle Erstellen der VMs nach einem langen Tag ist fehleranfällig, daher müssen Sie ein PowerShell-Skript schreiben, um den VM-Erstellungsprozess zu automatisieren.
Schreiben eines Skripts zum Erstellen von virtuellen Computern
Führen Sie die folgenden Schritte aus, um ein Skript in Azure Cloud Shell zu schreiben, das die Erstellung virtueller Computer automatisiert.
Hinweis
In der Regel authentifizieren Sie sich bei Azure mit Ihren Anmeldeinformationen mit Connect-AzAccount
, aber in Cloud Shell sind Sie bereits authentifiziert, sodass dieser Schritt unnötig ist.
Wechseln Sie zu Ihrem Basisordner:
Set-Location -Path $HOME
Erstellen Sie eine neue PowerShell-Skriptdatei:
New-Item -Name ConferenceDailyReset.ps1 -ItemType File
Öffnen Sie den integrierten Visual Studio Code-Editor (VS Code):
code ./ConferenceDailyReset.ps1
Tipp
Der integrierte Cloud Shell-Editor unterstützt auch vim, nano und emacs, falls Sie einen dieser Editoren bevorzugen.
Definieren Sie einen Parameter für den Ressourcengruppennamen:
Fügen Sie Ihrem Skript die folgende Zeile hinzu:
param ( [string]$ResourceGroupName )
Fordern Sie die Anmeldeinformationen für den VM-Administrator an:
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
Erstellen Sie eine Schleife, die dreimal ausgeführt werden soll:
$vms = 'web','app','sql' foreach ($vm in $vms) { $vm }
Geben Sie in der Schleife den Namen für jede VM zurück:
Write-Output "Creating VM: $vm"
Erstellen Sie eine VM mithilfe der
$vm
-Variablen:$azVmParams = @{ ResourceGroupName = $ResourceGroupName Name = $vm Credential = $adminCredential Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 } New-AzVm @azVmParams
Speichern Sie die Datei:
Verwenden Sie zum Speichern des Skripts das Kontextmenü mit den Auslassungspunkten (
...
) in der oberen rechten Ecke des Editors oder die Tastenkombination STRG + S.
Fertiges Skript
Das fertige Skript sollte wie im folgenden Beispiel aussehen:
param (
[string]$ResourceGroupName
)
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
$vms = 'web','app','sql'
foreach ($vm in $vms) {
Write-Output "Creating VM: $vm"
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
}
New-AzVm @azVmParams
}
Nachdem Sie bestätigt haben, dass Ihr Skript dem Code im vorherigen Beispiel entspricht, schließen Sie den Editor mithilfe des Kontextmenüs mit den Auslassungspunkten (...
) in der oberen rechten Ecke des Editors oder der Tastenkombination STRG +
Q.
Ausführen des Skripts
Führen Sie das Skript mit dem folgenden Befehl aus:
./ConferenceDailyReset.ps1 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Warten auf den Abschluss. Die Skriptausführung kann einige Minuten dauern.
Überprüfen Sie die virtuellen Computer. Überprüfen Sie nach Abschluss des Skripts, ob es erfolgreich abgeschlossen wurde, indem Sie die VMs in der Ressourcengruppe auflisten:
Get-AzVM -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Es sollten drei virtuelle Computer mit jeweils eindeutigem Namen angezeigt werden.
Sie haben erfolgreich ein Skript erstellt, das die Erstellung von drei virtuellen Computern automatisiert, die jeweils in einer bestimmten Ressourcengruppe enthalten sind. Auf diese Weise können Sie sicherstellen, dass sie für die täglichen Demos auf der Messe bereit sind. Obwohl das Skript kurz und unkompliziert ist, beschleunigt es einen Prozess erheblich, der andernfalls zeitaufwändig und fehleranfällig wäre, wenn es manuell über das Azure-Portal ausgeführt wird.