Kurz: Používání podmínky v šablonách ARM
Naučte se nasazovat prostředky Azure na základě podmínek v šabloně Azure Resource Manager (šablona ARM).
V kurzu Nastavení pořadí nasazování prostředků vytvoříte virtuální počítač, virtuální síť a několik dalších závislých prostředků včetně účtu úložiště. Místo nutnosti pokaždé vytvářet nový účet úložiště umožníte uživatelům vybrat si mezi vytvořením nového účtu úložiště a použitím existujícího účtu úložiště. Docílíte toho definováním dalšího parametru. Pokud je hodnota parametru nová, vytvoří se nový účet úložiště. V opačném případě se použije existující účet úložiště se zadaným názvem.
Tento kurz se zabývá následujícími úkony:
- Otevření šablony pro rychlý start
- Úprava šablony
- Nasazení šablony
- Vyčištění prostředků
Tento kurz se zabývá pouze základním scénářem použití podmínek. Další informace naleznete v tématu:
- Struktura souboru šablony: Podmínka.
- Podmíněné nasazení prostředku v šabloně ARM
- Funkce šablony: If.
- Srovnávací funkce pro šablony ARM
Modul Learn, který se zabývá podmínkami, najdete v tématu Správa složitých cloudových nasazení pomocí pokročilých funkcí šablon ARM.
Pokud předplatné Azure ještě nemáte, napřed si vytvořte bezplatný účet.
Požadavky
K dokončení tohoto článku potřebujete:
Visual Studio Code s rozšířením Resource Manager Tools. Viz Rychlý start: Vytváření šablon ARM pomocí editoru Visual Studio Code.
Pro zlepšení zabezpečení použijte pro účet správce virtuálního počítače vygenerované heslo. Azure Cloud Shell můžete použít ke spuštění následujícího příkazu v PowerShellu nebo Bash:
openssl rand -base64 32
Další informace získáte spuštěním příkazu
man openssl rand
a otevřete ruční stránku.Služba Azure Key Vault je určená k ochraně kryptografických klíčů a dalších tajných klíčů. Další informace najdete v kurzu Integrace azure Key Vault v nasazení šablony ARM. Zároveň doporučujeme heslo každé tři měsíce aktualizovat.
Otevření šablony pro rychlý start
Šablony azure pro rychlý start jsou úložiště pro šablony ARM. Místo vytvoření šablony úplně od začátku si můžete najít ukázkovou šablonu a přizpůsobit ji. Šablona používaná v tomto kurzu má název Deploy a simple Windows VM (Nasazení jednoduchého virtuálního počítače s Windows).
V editoru Visual Studio Code vyberte Soubor>Otevřít soubor.
Do pole File name (Název souboru) vložte následující adresu URL:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
Výběrem Open (Otevřít) soubor otevřete.
Šablona definuje šest prostředků:
- Microsoft.Storage/storageAccounts.
- Microsoft.Network/publicIPAddresses.
- Microsoft.Network/networkSecurityGroups.
- Microsoft.Network/virtualNetworks.
- Microsoft.Network/networkInterfaces.
- Microsoft.Compute/virtualMachines.
Před přizpůsobením šablony je vhodné si projít referenční informace k šabloně.
Vyberte Soubor>Uložit jako a uložte kopii souboru do místního počítače s názvem azuredeploy.json.
Úprava šablony
Ve stávající šabloně proveďte dvě změny:
- Přidejte parametr názvu účtu úložiště. Uživatelé můžou zadat buď název nového účtu úložiště, nebo název existujícího účtu úložiště.
- Přidejte nový parametr s názvem
newOrExisting
. Nasazení používá tento parametr k určení, jestli chcete vytvořit nový účet úložiště, nebo použít existující účet úložiště.
Tady je postup, jak tyto změny provést:
Ve Visual Studio Code otevřete soubor azuredeploy.json.
V celé šabloně nahraďte třemi
variables('storageAccountName')
parameters('storageAccountName')
za.Odeberte definici následující proměnné:
Na začátek oddílu parameters přidejte následující dva parametry:
"storageAccountName": { "type": "string" }, "newOrExisting": { "type": "string", "allowedValues": [ "new", "existing" ] },
Stisknutím kombinace kláves Alt+Shift+F naformátujte šablonu v editoru Visual Studio Code.
Aktualizovaná definice parametrů vypadá takto:
Na začátek definice účtu úložiště přidejte následující řádek.
"condition": "[equals(parameters('newOrExisting'),'new')]",
Podmínka zkontroluje hodnotu parametru
newOrExisting
. Pokud je hodnota parametru new, nasazení vytvoří účet úložiště.Aktualizovaná definice účtu úložiště vypadá takto:
storageUri
Aktualizujte vlastnost definice prostředku virtuálního počítače o následující hodnotu:"storageUri": "[format('https://{0}.blob.core.windows.net', parameters('storageAccountName'))]"
Tato změna je nezbytná v případě, že použijete existující účet úložiště v jiné skupině prostředků.
Uložte změny.
Nasazení šablony
Přihlaste se k Cloud Shell.
Vyberte upřednostňované prostředí tak, že v levém horním rohu vyberete PowerShell nebo Bash (pro rozhraní příkazového řádku). Po přepnutí se vyžaduje restartování prostředí.
Vyberte Nahrát nebo stáhnout soubory a potom vyberte Nahrát. Viz předchozí snímek obrazovky. Vyberte soubor, který jste uložili v předchozí části. Po nahrání souboru můžete pomocí
ls
příkazu acat
příkazu ověřit, že se soubor úspěšně nahrál.Spuštěním následujícího skriptu PowerShellu šablonu nasaďte.
Důležité
Název účtu úložiště musí být jedinečný v rámci Azure. Název musí obsahovat pouze malá písmena nebo číslice. Nesmí být delší než 24 znaků. Název účtu úložiště je název projektu s připojeným úložištěm . Ujistěte se, že název projektu a vygenerovaný název účtu úložiště splňují požadavky na název účtu úložiště.
$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 ..."
Poznámka
Nasazení selže, pokud
newOrExisting
je nové, ale účet úložiště se zadaným názvem účtu úložiště už existuje.
Zkuste provést další nasazení s nastaveným newOrExisting
na existující a zadejte existující účet úložiště. Pokud chcete vytvořit účet úložiště předem, přečtěte si téma Vytvoření účtu úložiště.
Vyčištění prostředků
Pokud už nasazené prostředky Azure nepotřebujete, vyčistěte je odstraněním skupiny prostředků. Pokud chcete odstranit skupinu prostředků, vyberte Vyzkoušet a otevřete Cloud Shell. Skript PowerShellu vložíte tak, že kliknete pravým tlačítkem na podokno prostředí a pak vyberete Vložit.
$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 ..."
Další kroky
V tomto kurzu jste vytvořili šablonu, která uživatelům umožňuje vybrat si mezi vytvořením nového účtu úložiště a použitím existujícího účtu úložiště. Informace o načítání tajných klíčů ze služby Azure Key Vault a jejich použití jako hesel v nasazení šablony najdete tady: