Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak wdrażać zasoby platformy Azure na podstawie warunków w szablonie usługi Azure Resource Manager (szablon usługi ARM).
W samouczku Ustawianie kolejności wdrażania zasobów utworzysz maszynę wirtualną, sieć wirtualną, oraz inne, w tym zależne zasoby, takie jak konto pamięci masowej. Zamiast tworzyć nowe konto magazynu za każdym razem, możesz zezwolić innym osobom na utworzenie nowego konta magazynu i użycie istniejącego konta magazynu. Aby osiągnąć ten cel, należy zdefiniować dodatkowy parametr. Jeśli wartość parametru jest nowa, zostanie utworzone nowe konto magazynowe. W przeciwnym razie zostanie użyte istniejące konto magazynu o podanej nazwie.
W tym samouczku omówiono następujące zadania:
- Otwieranie szablonu szybkiego startu
- Modyfikowanie szablonu
- Wdrażanie szablonu
- Uprzątnij zasoby
W tym samouczku omówiono tylko podstawowy scenariusz używania warunków. Aby uzyskać więcej informacji, zobacz:
- Struktura pliku szablonu: Warunek.
- Warunkowe wdrażanie zasobu w szablonie ARM.
- Funkcja szablonu: Jeśli.
- Funkcje porównawcze w szablonach ARM
Aby zapoznać się z modułem Learn, który obejmuje warunki, zobacz Manage complex cloud deployments by using advanced ARM template features (Zarządzanie złożonymi wdrożeniami w chmurze przy użyciu zaawansowanych funkcji szablonu usługi ARM).
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Aby ukończyć ten artykuł, potrzebujesz:
Aby zwiększyć bezpieczeństwo, użyj wygenerowanego hasła dla konta administratora maszyny wirtualnej. Za pomocą Azure Cloud Shell możesz wykonać następujące polecenie w PowerShell lub Bash:
openssl rand -base64 32Aby dowiedzieć się więcej, uruchom polecenie
man openssl rand, aby otworzyć stronę ręczną.Usługa Azure Key Vault została zaprojektowana w celu ochrony kluczy kryptograficznych i innych wpisów tajnych. Aby uzyskać więcej informacji, zobacz Samouczek: zintegrować Azure Key Vault we wdrożeniu szablonu ARM. Zalecamy również aktualizowanie hasła co trzy miesiące.
Otwieranie szablonu szybkiego startu
Szablony szybkiego startu Azure to repozytorium szablonów Azure Resource Manager (ARM). Zamiast tworzyć szablon od podstaw, możesz znaleźć przykładowy szablon i dostosować go. Szablon używany w tym samouczku nosi nazwę Deploy a simple Windows VM (Wdrażanie prostej maszyny wirtualnej z systemem Windows).
W programie Visual Studio Code wybierz pozycję Plik>Otwórz plik.
W polu Nazwa pliku wklej następujący adres URL:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.jsonWybierz pozycję Otwórz, aby otworzyć plik.
Szablon definiuje sześć zasobów:
- Microsoft.Storage/storageAccounts.
- Microsoft.Network/publicIPAddresses.
- Microsoft.Network/networkSecurityGroups.
- Microsoft.Network/virtualNetworks.
- Microsoft.Network/networkInterfaces.
- Microsoft.Compute/virtualMachines.
Warto przejrzeć odwołanie do szablonu przed dostosowaniem szablonu.
Wybierz pozycję Plik>Zapisz jako , aby zapisać kopię pliku na komputerze lokalnym o nazwie azuredeploy.json.
Modyfikowanie szablonu
Wprowadź dwie zmiany w istniejącym szablonie:
- Dodaj parametr nazwy konta magazynu. Użytkownicy mogą określić nową nazwę konta magazynu lub istniejącą nazwę konta magazynu.
- Dodaj nowy parametr o nazwie
newOrExisting. Wdrożenie używa tego parametru, aby określić, czy utworzyć nowe konto magazynu, czy użyć istniejącego konta magazynu.
Oto procedura wprowadzania zmian:
Otwórz azuredeploy.json w programie Visual Studio Code.
Zastąp te trzy
variables('storageAccountName')elementemparameters('storageAccountName')w całym szablonie.Usuń następującą definicję zmiennej:
Dodaj następujące dwa parametry na początku sekcji parametrów:
"storageAccountName": { "type": "string" }, "newOrExisting": { "type": "string", "allowedValues": [ "new", "existing" ] },Naciśnij Alt+Shift+F, aby sformatować szablon w programie Visual Studio Code.
Zaktualizowana definicja parametrów wygląda następująco:
Dodaj następujący wiersz na początku definicji konta pamięci masowej.
"condition": "[equals(parameters('newOrExisting'),'new')]",Warunek sprawdza wartość parametru
newOrExisting. Jeśli wartość parametru wynosi nowa, wdrożenie tworzy konto przechowywania.Zaktualizowana definicja konta magazynu wygląda następująco:
storageUriZaktualizuj właściwość definicji zasobu maszyny wirtualnej przy użyciu następującej wartości:"storageUri": "[format('https://{0}.blob.core.windows.net', parameters('storageAccountName'))]"Ta zmiana jest konieczna w przypadku korzystania z istniejącego konta magazynu w innej grupie zasobów.
Zapisz zmiany.
Wdrażanie szablonu
Zaloguj się do usługi Cloud Shell.
Wybierz preferowane środowisko, wybierając pozycję PowerShell lub Bash (dla interfejsu wiersza polecenia) w lewym górnym rogu. Ponowne uruchomienie powłoki jest wymagane podczas przełączania.
Wybierz pozycję Przekaż/pobierz pliki, a następnie wybierz pozycję Przekaż. Zobacz poprzedni zrzut ekranu. Wybierz plik zapisany w poprzedniej sekcji. Po przekazaniu pliku możesz użyć
lspolecenia icatpolecenia , aby sprawdzić, czy plik został pomyślnie przekazany.Uruchom następujący skrypt programu PowerShell, aby wdrożyć szablon.
Ważne
Nazwa konta magazynu musi być unikatowa na platformie Azure. Nazwa musi zawierać tylko małe litery lub cyfry. Może to być nie więcej niż 24 znaki. Nazwa konta magazynu to nazwa projektu z dołączonym elementem store. Upewnij się, że nazwa projektu i wygenerowana nazwa konta magazynu spełniają wymagania dotyczące nazwy konta magazynu.
$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 ..."Uwaga / Notatka
Wdrożenie zakończy się niepowodzeniem, jeśli
newOrExistingjest nowe, ale konto magazynu o określonej nazwie konta magazynu już istnieje.
Spróbuj wykonać inne wdrożenie z newOrExisting ustawionym na istniejące i określ istniejące konto magazynowe. Aby wcześniej utworzyć konto magazynu, zobacz Tworzenie konta magazynu.
Uprzątnij zasoby
Gdy zasoby platformy Azure nie są już potrzebne, wyczyść wdrożone zasoby, usuwając grupę zasobów. Aby usunąć grupę zasobów, wybierz pozycję Wypróbuj , aby otworzyć usługę Cloud Shell. Aby wkleić skrypt programu PowerShell, kliknij prawym przyciskiem myszy panel powłoki, a następnie wybierz polecenie Wklej.
$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 ..."
Dalsze kroki
W tym samouczku opracowałeś szablon, który pozwala użytkownikom wybrać między utworzeniem nowego konta magazynowego a użyciem istniejącego konta magazynowego. Aby dowiedzieć się, jak pobierać wpisy tajne z usługi Azure Key Vault i używać wpisów tajnych jako haseł we wdrożeniu szablonu, zobacz: