Ćwiczenie — tworzenie i wdrażanie szablonu usługi Azure Resource Manager
Uwaga
Przy pierwszym aktywowaniu piaskownicy i zaakceptowaniu warunków konto Microsoft zostaje skojarzone z nowym katalogiem platformy Azure o nazwie Microsoft Learn Sandbox. Zostanie też do Ciebie przypisana specjalna subskrypcja o nazwie Subskrypcja Concierge.
W tym ćwiczeniu utworzysz szablon usługi Azure Resource Manager (ARM), wdrożysz go na platformie Azure, a następnie zaktualizujesz ten szablon usługi ARM, aby dodać parametry i dane wyjściowe.
W tym ćwiczeniu używane są narzędzia usługi Azure Resource Manager dla programu Visual Studio Code. Przed rozpoczęciem ćwiczenia pamiętaj o zainstalowaniu tego rozszerzenia w programie Visual Studio Code.
Tworzenie szablonu usługi Resource Manager
Otwórz program Visual Studio Code i utwórz nowy plik o nazwie azuredeploy.json.
Rozszerzenie szablonów usługi Resource Manager dla programu Visual Studio Code ma wiele skonfigurowanych fragmentów kodu, które ułatwiają tworzenie szablonów. Zacznijmy od dodania pustego szablonu. W wierszu 1 pliku wprowadź arm.
Program Visual Studio Code automatycznie wyświetla kilka potencjalnych opcji rozpoczynających się od arm!. Wybierz szablon Usługi Azure Resource Manager (ARM). Program Visual Studio Code automatycznie przetwarza schematy i języki szablonu.
Plik wygląda teraz następująco:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [], "outputs": {} }
Zwróć uwagę, że ten plik zawiera wszystkie sekcje szablonu usługi ARM opisane w poprzedniej lekcji.
Zapisz zmiany w pliku, naciskając Ctrl+S.
Wdrażanie szablonu usługi ARM na platformie Azure
Aby wdrożyć ten szablon na platformie Azure, musisz zalogować się na konto platformy Azure z poziomu terminalu programu Visual Studio Code. Upewnij się, że masz zainstalowane narzędzia interfejsu wiersza polecenia platformy Azure i że logujesz się do tego samego konta, za pomocą którego aktywowano piaskownicę.
Wybierz pozycję Terminal > Nowy terminal, aby otworzyć okno terminalu.
Jeśli na pasku poleceń okna terminalu jest wyświetlany komunikat bash, masz odpowiednią powłokę do pracy i możesz przejść do następnej sekcji.
W przeciwnym razie wybierz listę rozwijaną i wybierz pozycję Wybierz profil domyślny.
Wybierz pozycję Git Bash.
Wybierz pozycję Terminal > Nowy terminal, aby otworzyć okno terminalu powłoki bash.
Logowanie się do platformy Azure
W oknie terminalu uruchom to polecenie, aby zalogować się na platformie Azure.
az login
W wyświetlonym oknie przeglądarki zaloguj się do swojego konta. Po zalogowaniu w terminalu zostanie wyświetlona lista subskrypcji skojarzonych z tym kontem. Jeśli aktywowano piaskownicę, powinna zostać wyświetlona jedna z nich o nazwie Subskrypcja Concierge. Korzystaj z niej do końca tego ćwiczenia.
W powłoce bash uruchom następujące polecenie, aby ustawić domyślną subskrypcję dla wszystkich poleceń interfejsu wiersza polecenia platformy Azure uruchamianych w tej sesji.
az account set --subscription "Concierge Subscription"
Jeśli ostatnio użyto więcej niż jednej piaskownicy, może zostać wyświetlona więcej niż jedna subskrypcja Concierge. Jeśli tak, użyj dwóch następnych kroków, aby zidentyfikować i ustawić domyślną subskrypcję.
- Uruchom następujące polecenie, aby uzyskać identyfikatory subskrypcji Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
- Ustaw subskrypcję domyślną, uruchamiając następujące polecenie, zastępując ciąg {identyfikator subskrypcji} najnowszym identyfikatorem subskrypcji Concierge.
az account set --subscription {your subscription ID}
Ustawianie domyślnej grupy zasobów
Ustawiając domyślną grupę zasobów na utworzoną podczas aktywowania piaskownicy, możesz pominąć ten parametr z poleceń interfejsu wiersza polecenia platformy Azure w tym ćwiczeniu. Aby ustawić grupę zasobów, uruchom następujące polecenie.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Wdrażanie szablonu na platformie Azure
Uruchom następujące polecenia, aby wdrożyć szablon usługi ARM na platformie Azure. Szablon usługi ARM nie ma jeszcze żadnych zasobów, więc nie ma żadnych zasobów utworzonych. Powinno nastąpić pomyślne wdrożenie.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
W górnej części powyższego kodu ustawiasz zmienne interfejsu wiersza polecenia platformy Azure dla ścieżki do pliku szablonu, który ma zostać wdrożony, oraz dla nazwy wdrożenia. Dolna sekcja , az deployment group create
wdraża szablon na platformie Azure. Zwróć uwagę, że nazwa wdrożenia ma blanktemplate
datę jako sufiks.
Powinien zostać wyświetlony Running...
w terminalu.
Aby wdrożyć ten szablon na platformie Azure, musisz zalogować się na konto platformy Azure z poziomu terminalu programu Visual Studio Code. Upewnij się, że narzędzia azure PowerShell Tools są zainstalowane z rozszerzeń programu Visual Studio Code i zaloguj się do tego samego konta, które aktywowało piaskownicę.
Na pasku poleceń wybierz pozycję Terminal > Nowy terminal , aby otworzyć okno programu PowerShell.
Jeśli pasek poleceń okna terminalu zawiera program PowerShell, masz właściwą powłokę, z której chcesz pracować, i możesz przejść do następnej sekcji.
Jeśli tak nie jest, wybierz strzałkę w dół, a następnie z listy rozwijanej wybierz pozycję PowerShell. Jeśli brakuje tej opcji, wybierz pozycję Wybierz profil domyślny.
W polu wejściowym przewiń w dół i wybierz pozycję PowerShell.
Wybierz pozycję Terminal > Nowy terminal, aby otworzyć okno terminalu programu PowerShell.
Logowanie się na platformie Azure przy użyciu programu Azure PowerShell
Z poziomu terminalu w programie Visual Studio Code uruchom następujące polecenie, aby zalogować się na platformie Azure. Zostanie otwarta przeglądarka, aby można było zalogować się do konta.
Connect-AzAccount
Zaloguj się przy użyciu konta użytego do aktywowania piaskownicy. Po zalogowaniu program Visual Studio Code wyświetli listę subskrypcji skojarzonych z kontem w oknie terminalu. Jeśli aktywowano piaskownicę, zostanie wyświetlony blok kodu zawierający
"name": "Concierge Subscription"
element . Ta subskrypcja jest używana w pozostałej części ćwiczenia.
Ustaw domyślną subskrypcję dla wszystkich poleceń programu PowerShell w tej sesji
Uruchom następujące polecenie, aby uzyskać subskrypcje i ich identyfikatory. Identyfikatory subskrypcji znajdują się w drugiej kolumnie. Wyszukaj pozycję Subskrypcja Concierge i skopiuj wartość w drugiej kolumnie. Wygląda to jak aaaa0a0a-bb1b-cc2c-dd3d-eeeeeee4e4e4e4e4e:
Get-AzSubscription
Uruchom następujące polecenie, zastępując ciąg {Your subscription ID} wartością skopiowaną w poprzednim kroku. To polecenie zmienia aktywną subskrypcję na subskrypcję Concierge.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Uruchom następujące polecenie, aby zezwolić domyślnej grupie zasobów na grupę zasobów utworzoną dla Ciebie w środowisku piaskownicy. Dzięki temu będzie można pominąć ten parametr w pozostałych poleceniach programu Azure PowerShell w tym ćwiczeniu.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Wdrażanie szablonu na platformie Azure
Wdróż szablon na platformie Azure, uruchamiając następujące polecenia. Szablon usługi ARM nie ma jeszcze żadnych zasobów, więc nie ma żadnych zasobów utworzonych.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
W górnej sekcji poprzedniego kodu ustawiane są zmienne programu Azure PowerShell, które obejmują ścieżkę do pliku wdrożenia i nazwę wdrożenia. New-AzResourceGroupDeployment
Następnie polecenie wdraża szablon na platformie Azure. Zwróć uwagę, że nazwa wdrożenia ma blanktemplate
datę jako sufiks.
Podczas wdrażania szablonu usługi ARM na platformie Azure przejdź do witryny Azure Portal i upewnij się, że jesteś w subskrypcji piaskownicy. W tym celu wybierz swój awatar w prawym górnym rogu strony. Wybierz pozycję Przełącz katalog. Z listy wybierz katalog Microsoft Learn Sandbox.
W menu zasobów wybierz pozycję Grupy zasobów.
Wybierz grupę zasobów
[nazwa grupy zasobów piaskownicy] .W okienku Przegląd zobaczysz, że jedno wdrożenie zakończyło się pomyślnie.
Wybierz pozycję 1 udane, aby wyświetlić szczegóły wdrożenia.
Wybierz
blanktemplate
, aby zobaczyć, jakie zasoby zostały wdrożone. W takim przypadku jest ona pusta, ponieważ nie określono jeszcze żadnych zasobów w szablonie.Pozostaw stronę otwartą w przeglądarce, aby można było ponownie sprawdzić wdrożenia.
Dodawanie zasobu do szablonu usługi ARM
W poprzednim zadaniu przedstawiono sposób tworzenia pustego szablonu i jego wdrażania. Teraz możesz przystąpić do wdrażania rzeczywistego zasobu. W tym zadaniu dodasz zasób konta usługi Azure Storage do szablonu usługi ARM przy użyciu fragmentu kodu z rozszerzenia Narzędzia usługi Azure Resource Manager dla programu Visual Studio Code.
W pliku azuredeploy.json w programie Visual Studio Code umieść kursor wewnątrz nawiasów w bloku
"resources":[],
zasobów .Wprowadź ciąg storage w nawiasach. Zostanie wyświetlona lista powiązanych fragmentów kodu. Wybierz pozycję arm-storage.
Plik wygląda następująco:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-05-01", "name": "storageaccount1", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS" } } ], "outputs": {} }
Wartości, które należy edytować, zostały wyróżnione w nowej sekcji pliku i można je nawigować, naciskając Tab .
Zauważ, że atrybuty
tags
ilocation
są wypełnione. Atrybutlocation
używa funkcji, aby ustawić lokalizację zasobu na lokalizację grupy zasobów. W następnym module dowiesz się więcej o tagach i funkcjach.Zmień wartości nazwy zasobu i displayName na coś unikatowego (na przykład learnexercise12321). Ta nazwa musi być unikatowa na całej platformie Azure, więc wybierz coś niepospolitego.
Zmień wartość atrybutu name jednostki SKU z Premium_LRS na Standard_LRS. Zmień wartość atrybutu tier na Standardowa. Zauważ, że działająca w programie Visual Studio Code funkcja IntelliSense podpowiada odpowiednie wartości atrybutów. Usuń wartość domyślną, w tym znaki cudzysłowu, a następnie wprowadź znaki cudzysłowu, aby zobaczyć tę pracę.
Lokalizacja zasobu jest ustawiona na tę samą lokalizację co grupa zasobów, w której wdrożono zasób. Pozostaw tę wartość domyślną.
Zapisz plik.
Wdrażanie zaktualizowanego szablonu usługi ARM
W tym miejscu zmienisz nazwę wdrożenia, aby lepiej odzwierciedlała jego funkcję.
Uruchom następujące polecenia interfejsu wiersza polecenia platformy Azure w terminalu. Jest to ten sam fragment kodu, który był wcześniej używany, ale nazwa wdrożenia została zmieniona.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Uruchom następujące polecenia programu Azure PowerShell w terminalu. Jest to ten sam fragment kodu, który był wcześniej używany, ale nazwa wdrożenia została zmieniona.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Sprawdzanie wdrożenia
Po zakończeniu wdrażania wróć do witryny Azure Portal w przeglądarce. Przejdź do grupy zasobów i zobaczysz, że istnieją teraz 2 Pomyślnie wdrożeń. Wybierz ten link.
Zauważ, że oba wdrożenia znajdują się na liście.
Wybierz wdrożenie addstorage.
Zwróć uwagę, że konto magazynu zostało wdrożone.