Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie, wie Sie Azure-Ressourcen basierend auf Bedingungen in einer Azure Resource Manager-Vorlage (ARM-Vorlage) bereitstellen.
Im Lernprogramm zum Festlegen von Ressourcenbereitstellungsreihenfolgen erstellen Sie einen virtuellen Computer, ein virtuelles Netzwerk und einige andere abhängige Ressourcen, einschließlich eines Speicherkontos. Anstatt jedes Mal ein neues Speicherkonto zu erstellen, können Sie wählen, ob ein neues Speicherkonto erstellt und ein vorhandenes Speicherkonto verwendet wird. Um dieses Ziel zu erreichen, definieren Sie einen zusätzlichen Parameter. Wenn der Wert des Parameters neu ist, wird ein neues Speicherkonto erstellt. Andernfalls wird ein vorhandenes Speicherkonto mit dem angegebenen Namen verwendet.
In diesem Lernprogramm werden die folgenden Aufgaben behandelt:
- Öffnen einer Schnellstartvorlage
- Ändern der Vorlage
- Implementieren der Vorlage
- Bereinigen von Ressourcen
In diesem Lernprogramm wird nur ein grundlegendes Szenario der Verwendung von Bedingungen behandelt. Weitere Informationen finden Sie unter:
- Vorlagendateistruktur: Bedingung.
- Stellen Sie eine Ressource bedingt in einer ARM-Vorlage bereit.
- Vorlagenfunktion: Wenn.
- Vergleichsfunktionen für ARM-Vorlagen
Ein Lernmodul, das Bedingungen abdeckt, finden Sie unter Verwalten komplexer Cloudbereitstellungen mithilfe erweiterter ARM-Vorlagenfeatures.
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Voraussetzungen
Damit Sie die Anweisungen in diesem Artikel ausführen können, benötigen Sie Folgendes:
Verwenden Sie zum Erhöhen der Sicherheit ein generiertes Kennwort für das Administratorkonto des virtuellen Computers. Sie können Azure Cloud Shell verwenden, um den folgenden Befehl in PowerShell oder Bash auszuführen:
openssl rand -base64 32Um mehr zu erfahren, führen Sie den Befehl aus
man openssl rand, um die manuelle Seite zu öffnen.Azure Key Vault wurde entwickelt, um kryptografische Schlüssel und andere geheime Schlüssel zu schützen. Weitere Informationen finden Sie im Tutorial: Integration von Azure Key Vault in die Bereitstellung von ARM-Vorlagen. Außerdem wird empfohlen, Ihr Kennwort alle drei Monate zu aktualisieren.
Öffnen einer Schnellstartvorlage
Azure-Schnellstartvorlagen sind ein Repository für ARM-Vorlagen. Anstatt eine Vorlage von Grund auf neu zu erstellen, können Sie eine Beispielvorlage finden und anpassen. Die in diesem Lernprogramm verwendete Vorlage wird als "Bereitstellen einer einfachen Windows-VM" bezeichnet.
Wählen Sie in Visual Studio Code " Datei>öffnen" aus.
Fügen Sie unter "Dateiname" die folgende URL ein:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.jsonWählen Sie "Öffnen" aus, um die Datei zu öffnen.
Es gibt sechs Ressourcen, die von der Vorlage definiert sind:
- Microsoft.Storage/storageAccounts.
- Microsoft.Network/publicIPAddresses.
- Microsoft.Network/networkSecurityGroups.
- Microsoft.Network/virtualNetworks.
- Microsoft.Network/networkInterfaces.
- Microsoft.Compute/virtualMachines.
Es ist hilfreich, den Vorlagenverweis zu überprüfen, bevor Sie eine Vorlage anpassen.
Wählen Sie "Datei>Speichern unter" aus, um eine Kopie der Datei auf Ihrem lokalen Computer mit dem Namen azuredeploy.json zu speichern.
Ändern der Vorlage
Nehmen Sie zwei Änderungen an der vorhandenen Vorlage vor:
- Fügen Sie einen Parameter für den Speicherkontonamen hinzu. Benutzer können entweder einen neuen Speicherkontonamen oder einen vorhandenen Speicherkontonamen angeben.
- Fügen Sie einen neuen Parameter mit dem Namen
newOrExistinghinzu. Die Bereitstellung verwendet diesen Parameter, um zu bestimmen, ob ein neues Speicherkonto erstellt oder ein vorhandenes Speicherkonto verwendet wird.
Hier ist das Verfahren zum Vornehmen der Änderungen:
Öffnen Sie azuredeploy.json in Visual Studio Code.
Ersetzen Sie die drei
variables('storageAccountName')mitparameters('storageAccountName')in der gesamten Vorlage.Entfernen Sie die folgende Variablendefinition:
Fügen Sie die folgenden beiden Parameter am Anfang des Parameterabschnitts hinzu:
"storageAccountName": { "type": "string" }, "newOrExisting": { "type": "string", "allowedValues": [ "new", "existing" ] },Drücken Sie Alt+Shift+F, um die Vorlage in Visual Studio Code zu formatieren.
Die Definition der aktualisierten Parameter sieht wie folgt aus:
Fügen Sie die folgende Zeile am Anfang der Speicherkontodefinition hinzu.
"condition": "[equals(parameters('newOrExisting'),'new')]",Die Bedingung überprüft den Wert des Parameters
newOrExisting. Wenn der Parameterwert neu ist, erstellt die Bereitstellung das Speicherkonto.Die aktualisierte Speicherkontodefinition sieht wie folgt aus:
Aktualisieren Sie die
storageUriEigenschaft der Ressourcendefinition des virtuellen Computers mit dem folgenden Wert:"storageUri": "[format('https://{0}.blob.core.windows.net', parameters('storageAccountName'))]"Diese Änderung ist erforderlich, wenn Sie ein vorhandenes Speicherkonto unter einer anderen Ressourcengruppe verwenden.
Speichern Sie die Änderungen.
Implementieren der Vorlage
Melden Sie sich bei Cloud Shell an.
Wählen Sie Ihre bevorzugte Umgebung aus, indem Sie entweder PowerShell oder Bash (für CLI) in der oberen linken Ecke auswählen. Ein Neustart der Shell ist erforderlich, wenn Sie wechseln.
Wählen Sie "Dateien hochladen/herunterladen" und dann " Hochladen" aus. Sehen Sie sich den vorherigen Screenshot an. Wählen Sie die Datei aus, die Sie im vorherigen Abschnitt gespeichert haben. Nach dem Hochladen der Datei können Sie den
lsBefehl und dencatBefehl verwenden, um zu überprüfen, ob die Datei erfolgreich hochgeladen wurde.Führen Sie das folgende PowerShell-Skript aus, um die Vorlage bereitzustellen.
Von Bedeutung
Der Name des Speicherkontos muss in Azure eindeutig sein. Der Name darf nur Kleinbuchstaben oder Zahlen enthalten. Er darf maximal 24 Zeichen lang sein. Der Name des Speicherkontos ist der Projektname, an den store angehängt wird. Stellen Sie sicher, dass der Projektname und der generierte Speicherkontoname den Anforderungen des Speicherkontonamens entsprechen.
$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource group name and resource names" $newOrExisting = Read-Host -Prompt "Create new or use existing (Enter new or existing)" $location = Read-Host -Prompt "Enter the Azure location (i.e. centralus)" $vmAdmin = Read-Host -Prompt "Enter the admin username" $vmPassword = Read-Host -Prompt "Enter the admin password" -AsSecureString $dnsLabelPrefix = Read-Host -Prompt "Enter the DNS Label prefix" $resourceGroupName = "${projectName}rg" $storageAccountName = "${projectName}store" New-AzResourceGroup -Name $resourceGroupName -Location $location New-AzResourceGroupDeployment ` -ResourceGroupName $resourceGroupName ` -adminUsername $vmAdmin ` -adminPassword $vmPassword ` -dnsLabelPrefix $dnsLabelPrefix ` -storageAccountName $storageAccountName ` -newOrExisting $newOrExisting ` -TemplateFile "$HOME/azuredeploy.json" Write-Host "Press [ENTER] to continue ..."Hinweis
Die Bereitstellung schlägt fehl, wenn
newOrExistingneu ist, aber das Speicherkonto mit dem angegebenen Speicherkontonamen bereits vorhanden ist.
Versuchen Sie, eine andere Bereitstellung zu erstellen, bei der newOrExisting auf existing festgelegt ist, und geben Sie ein vorhandenes Speicherkonto an. Informationen zum voraben Erstellen eines Speicherkontos finden Sie unter Erstellen eines Speicherkontos.
Bereinigen von Ressourcen
Wenn die Azure-Ressourcen nicht mehr benötigt werden, bereinigen Sie die von Ihnen bereitgestellten Ressourcen, indem Sie die Ressourcengruppe löschen. Um die Ressourcengruppe zu löschen, wählen Sie "Testen" aus, um die Cloud Shell zu öffnen. Um das PowerShell-Skript einzufügen, klicken Sie mit der rechten Maustaste auf den Shellbereich, und wählen Sie dann "Einfügen" aus.
$projectName = Read-Host -Prompt "Enter the same project name you used in the last procedure"
$resourceGroupName = "${projectName}rg"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue ..."
Nächste Schritte
In diesem Lernprogramm haben Sie eine Vorlage entwickelt, mit der Benutzer zwischen dem Erstellen eines neuen Speicherkontos und der Verwendung eines vorhandenen Speicherkontos wählen können. Informationen zum Abrufen von Geheimschlüsseln aus Azure Key Vault und zum Verwenden der geheimen Schlüssel als Kennwörter in der Vorlagenbereitstellung finden Sie unter: