Oefening: een Azure Resource Manager-sjabloon maken en implementeren

Voltooid

Notitie

De eerste keer dat u een sandbox activeert en de voorwaarden accepteert, wordt uw Microsoft-account gekoppeld aan een nieuwe Azure-map met de naam Microsoft Learn-sandbox. U wordt ook toegevoegd aan een speciaal abonnement met de naam Concierge-abonnement.

In deze oefening maakt u een Azure Resource Manager-sjabloon (ARM-sjabloon), implementeert u deze in Azure en werkt u die ARM-sjabloon vervolgens bij om parameters en uitvoer toe te voegen.

In deze oefening wordt Hulpprogramma's van Azure Resource Manager voor Visual Studio Code gebruikt. Installeer deze extensie in Visual Studio Code voordat u de oefening start.

Een ARM-sjabloon maken

  1. Open Visual Studio Code en maak een nieuw bestand met de naam azuredeploy.json.

  2. De Visual Studio Code-extensie voor het gebruik van ARM-sjablonen is vooraf geconfigureerd met fragmenten die u helpen bij het ontwikkelen van sjablonen. Laten we beginnen door een lege sjabloon toe te voegen. Voer arm in op de eerste regel van het bestand.

  3. Visual Studio Code geeft automatisch verschillende mogelijke keuzes weer die beginnen met arm!. Selecteer de ARM-sjabloon (Azure Resource Manager). Visual Studio Code verwerkt automatisch de schema's en talen voor uw sjabloon.

    Visual Studio Code azuredeploy.json file showing the snippet choices for Azure Resource Manager templates.

    Uw bestand ziet er nu als volgt uit:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [],
      "outputs": {}
    }
    

    U ziet dat dit bestand alle secties van een ARM-sjabloon bevat die we in de vorige les hebben beschreven.

  4. Sla de wijzigingen in het bestand op door op Ctrl+S te drukken.

De ARM-sjabloon implementeren in Azure

Als u deze sjabloon wilt implementeren in Azure, moet u zich aanmelden bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat u de Azure CLI-hulpprogramma's hebt geïnstalleerd en meld u aan met hetzelfde account dat u hebt gebruikt om de sandbox te activeren.

  1. Selecteer Terminal > New Terminal om een terminalvenster te openen.

  2. Als de opdrachtbalk van het terminalvenster bash zegt, hebt u de juiste shell om van te werken en kunt u doorgaan naar de volgende sectie.

  3. Zo niet, selecteert u de vervolgkeuzelijst en kiest u Standaardprofiel selecteren.

    Screenshot of the Visual Studio Code terminal window with bash in the drop-down.

  4. Selecteer Git Bash.

    Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

  5. Selecteer Terminal > New Terminal om een bash-shell-terminalvenster te openen.

Aanmelden bij Azure

  1. Voer in het terminalvenster deze opdracht uit om u aan te melden bij Azure.

    az login
    
  2. Er wordt een browser geopend, zodat u zich kunt aanmelden bij uw account. Nadat u zich hebt aangemeld, wordt een lijst weergegeven met de abonnementen die aan dit account zijn gekoppeld in de terminal. Als u de sandbox hebt geactiveerd, ziet u een met de naam Concierge-abonnement. U gebruikt deze voor de rest van de oefening.

  3. Voer in de bash-shell de volgende opdracht uit om het standaardabonnement in te stellen voor alle Azure CLI-opdrachten die u in deze sessie uitvoert.

    az account set --subscription "Concierge Subscription"
    

    Als u meer dan één sandbox onlangs hebt gebruikt, worden er mogelijk meer dan één Concierge-abonnement weergegeven. Zo ja, gebruik dan de volgende twee stappen om het standaardabonnement te identificeren en in te stellen.

    1. Voer de volgende opdracht uit om de Concierge-abonnements-id's te verkrijgen.
     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
    1. Stel het standaardabonnement in door de volgende opdracht uit te voeren en {uw abonnements-id } te vervangen door de meest recente Concierge-abonnements-id.
    az account set --subscription {your subscription ID}
    

De standaardresourcegroep instellen

Door de standaardresourcegroep in te stellen op de resourcegroep die is gemaakt toen u de sandbox hebt geactiveerd, kunt u die parameter weglaten vanuit de Azure CLI-opdrachten in deze oefening. Voer de volgende opdracht uit om de resourcegroep in te stellen.

az configure --defaults group=<rgn>[sandbox resource group name]</rgn>

De sjabloon implementeren in Azure

Voer de volgende opdrachten uit om de ARM-sjabloon in Azure te implementeren. De ARM-sjabloon heeft nog geen resources, dus er worden geen resources gemaakt. U moet een geslaagde implementatie krijgen.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today

az deployment group create \
 --name $DeploymentName \
 --template-file $templateFile

In het bovenste gedeelte van de voorgaande code worden de Azure CLI-variabelen ingesteld, waaronder het pad naar het sjabloonbestand dat moet worden geïmplementeerd en de naam van de implementatie. In de onderste sectie, az deployment group createwordt de sjabloon geïmplementeerd in Azure. U ziet dat de naam van de implementatie de datum als achtervoegsel heeft blanktemplate .

U zou in de terminal moeten zien Running... .

Als u deze sjabloon wilt implementeren in Azure, moet u zich aanmelden bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat u Azure PowerShell Tools hebt geïnstalleerd vanuit de Visual Studio Code Extensions en meld u aan bij hetzelfde account dat de sandbox heeft geactiveerd.

  1. Selecteer Terminal > New Terminal in de opdrachtbalk om een PowerShell-venster te openen.

  2. Als op de opdrachtbalk van het terminalvenster PowerShell wordt weergegeven, hebt u de juiste shell waaruit u kunt werken en kunt u doorgaan naar de volgende sectie.

    Screenshot of the Visual Studio Code terminal window with pwsh terminal selected.

    1. Zo niet, selecteert u de pijl-omlaag en selecteert u PowerShell in de vervolgkeuzelijst. Als deze optie ontbreekt, selecteert u Standaardprofiel selecteren.

    2. Schuif in het invoerveld omlaag en selecteer PowerShell.

      Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

    3. Selecteer Terminal > New Terminal om een PowerShell-terminalvenster te openen.

Aanmelden bij Azure met behulp van Azure PowerShell

  1. Voer in de terminal in Visual Studio Code de volgende opdracht uit om u aan te melden bij Azure. Er wordt een browser geopend, zodat u zich kunt aanmelden bij uw account.

    Connect-AzAccount
    

    Tip

    De Az PowerShell-module is de vervanging van AzureRM en is de aanbevolen versie die moet worden gebruikt voor interactie met Azure.

  2. Meld u aan met het account dat u hebt gebruikt om de sandbox te activeren. Nadat u zich hebt aangemeld, worden in Visual Studio Code de abonnementen vermeld die zijn gekoppeld aan uw account in het terminalvenster. Als u de sandbox hebt geactiveerd, ziet u een codeblok dat het bevat "name": "Concierge Subscription". Dit is het abonnement dat moet worden gebruikt voor de rest van de oefening.

Het standaardabonnement instellen voor alle PowerShell-opdrachten in deze sessie

  1. Voer de volgende opdracht uit om uw abonnement(en) en hun id(s) te verkrijgen. De abonnements-id is de tweede kolom. Zoek naar Concierge-abonnement en kopieer de waarde in de tweede kolom. Het lijkt op cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0:

    Get-AzSubscription
    
  2. Voer de volgende opdracht uit en vervang {Uw abonnements-id } door het abonnement dat u in de vorige stap hebt gekopieerd om uw actieve abonnement te wijzigen in het Concierge-abonnement.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  3. Voer de volgende opdracht uit om de standaardresourcegroep de resourcegroep te laten zijn die voor u is gemaakt in de sandbox-omgeving. Met deze actie kunt u deze parameter weglaten in de rest van de Azure PowerShell-opdrachten in deze oefening.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

De sjabloon implementeren in Azure

Implementeer de sjabloon in Azure door de volgende opdrachten uit te voeren. De ARM-sjabloon heeft nog geen resources, waardoor er geen resources worden weergeven.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

In het bovenste gedeelte van de voorgaande code worden Azure PowerShell-variabelen ingesteld, waaronder het pad naar het implementatiebestand en de naam van de implementatie. Vervolgens implementeert de New-AzResourceGroupDeployment opdracht de sjabloon in Azure. U ziet dat de naam van de implementatie de datum als achtervoegsel heeft blanktemplate .

Wanneer u uw ARM-sjabloon hebt geïmplementeerd in Azure, gaat u naar Azure Portal en zorgt u ervoor dat u zich in het sandbox-abonnement bevindt. Hiertoe selecteert u uw avatar in de rechterbovenhoek van de pagina. Selecteer Schakelen tussen directory's. In de lijst kiest u de map Microsoft Learn Sandbox.

  1. Selecteer Resourcegroepen in het resourcemenu.

  2. Selecteer de resourcegroep [naam sandbox-resourcegroep].

  3. In het deelvenster Overzicht ziet u dat één implementatie is geslaagd.

    Azure portal interface for the resource group overview with the deployments section showing that one succeeded.

  4. Selecteer 1 geslaagd om de details van de implementatie te bekijken.

    Azure portal interface for the deployments with the one deployment listed and a succeeded status.

  5. Selecteer blanktemplate deze optie om te zien welke resources zijn geïmplementeerd. In dit geval is deze leeg omdat u nog geen resources in de sjabloon hebt opgegeven.

    Azure portal interface for the specific deployment with no resources listed.

  6. Laat de pagina in uw browser open. U controleert de implementaties opnieuw.

Een resource toevoegen aan de ARM-sjabloon

In de vorige taak hebt u geleerd hoe u een lege sjabloon maakt en deze implementeert. U bent nu klaar om een echte resource te implementeren. In deze taak voegt u een Azure Storage-accountresource toe aan de ARM-sjabloon met behulp van een fragment uit de Azure Resource Manager Tools-extensie voor Visual Studio Code.

  1. Plaats in het bestand azuredeploy.json in Visual Studio Code de cursor tussen de vierkante haken in het resourcesblok "resources":[],.

  2. Voer storage binnen de haakjes in. Een lijst met verwante fragmenten wordt weergegeven. Selecteer arm-storage.

    Visual Studio Code arm-storage snippet shown under the typed word storage.

    Het bestand ziet er nu als volgt uit:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [
        {
          "name": "storageaccount1",
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2019-06-01",
          "tags": {
            "displayName": "storageaccount1"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Premium_LRS",
            "tier": "Premium"
          }
        }
      ],
      "outputs": {}
    }
    

    Waarden die u moet bewerken, zijn gemarkeerd in de nieuwe sectie van het bestand en u kunt ze navigeren door op de Tab-toets te drukken.

    Zoals u ziet zijn de kenmerken tags en location ingevuld. Het kenmerk location gebruikt een functie om de locatie van de resource in te stellen op de locatie van de resourcegroep. In de volgende module leert u meer over tags en functies.

  3. Wijzig de waarden van de resourcenaamen displayName in iets unieks (bijvoorbeeld learnexercise12321). Deze naam moet uniek zijn binnen Azure, dus kies iets dat uniek is voor u.

  4. Wijzig de waarde van de SKU naam van Premium_LRS in Standard_LRS. Wijzig de waarde van laag in Standard. U ziet dat Visual Studio Code u de juiste keuzen biedt voor uw kenmerkwaarden in IntelliSense. Verwijder de standaardwaarde, inclusief de aanhalingstekens, en voer aanhalingstekens in om dit werk te zien.

    Screenshot of Visual Studio Code showing the IntelliSense choices for the name attribute of the storage SKU.

  5. De resourcelocatie is ingesteld op de locatie van de resourcegroep waar deze wordt geïmplementeerd. Laat hier de standaardwaarde staan.

  6. Sla het bestand op.

De bijgewerkte ARM-sjabloon implementeren

Hier wijzigt u de naam van de implementatie om beter weer te geven wat deze implementatie doet.

Voer in de terminal de volgende Azure CLI-opdrachten uit. Dit fragment is dezelfde code die u eerder hebt gebruikt, maar de naam van de implementatie is gewijzigd.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today

az deployment group create \
  --name $DeploymentName \
  --template-file $templateFile

Voer in de terminal de volgende Azure PowerShell-opdrachten uit. Dit fragment is dezelfde code die u eerder hebt gebruikt, maar de naam van de implementatie is gewijzigd.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

Uw implementatie controleren

  1. Wanneer de implementatie is voltooid, gaat u terug naar Azure Portal in uw browser. Ga naar de resourcegroep en u zult zien dat er nu 2 geslaagde implementaties zijn. Selecteer deze koppeling.

    Zoals u ziet worden alle twee de implementaties in de lijst vermeld.

    Screenshot of the Azure portal interface for the deployments with the two deployments listed and succeeded statuses.

  2. Selecteer addstorage.

    Screenshot of the Azure portal interface for the specific deployment with one resource listed.

U ziet dat het opslagaccount is geïmplementeerd.