Oefening: Azure Resource Manager-tags en parameterbestanden gebruiken

Voltooid

In deze oefening voegt u tags toe om uw Microsoft Azure-resources te organiseren en bij te houden. U gebruikt ook een arm-sjabloonparameterbestand (Azure Resource Manager) om verschillende parameterconfiguraties voor elke implementatie toe te staan.

In deze oefening worden de Azure Resource Manager Tools voor Visual Studio Code gebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.

Opmerking

Deze oefening is optioneel. Als u deze oefening wilt voltooien, moet u een Azure-abonnement maken voordat u begint. Als u geen Azure-account hebt of als u er op dit moment geen wilt maken, kunt u de instructies doorlezen zodat u de informatie begrijpt die wordt gepresenteerd.

Opmerking

In deze les gebruikt u Azure Cloud Shell als terminal. U hebt toegang tot Cloud Shell via Azure Portal of de aanmelding bij Cloud Shell. U hoeft niets op uw pc of laptop te installeren om het te gebruiken.

Opmerking

Vervang in deze oefening myResourceGroupName in de voorbeelden door de naam van een bestaande resourcegroep of de naam van de resourcegroep die u voor deze oefening hebt gemaakt.

Een tag maken om de resource-implementatieomgeving en het project bij te houden

Eerst maakt u een parameter voor gebruik als resourcetag in uw sjabloon.

  1. Plaats in Visual Studio Code de cursor in het bestand azuredeploy.json na de sluitende accolade voor de storageSKU parameter. Voeg een komma toe en druk op Enter.

  2. Typ par. U ziet een lijst met gerelateerde fragmenten.

  3. Selecteer arm-param. Houd er rekening mee dat met deze actie een algemene parameter wordt toegevoegd aan de sjabloon. Deze code ziet er als volgt uit:

    "parameter1": {
        "type": "string",
        "metadata": {
            "description": "description"
        }
    
  4. Wijzig parameter1 in resourceTags en wijzig de waarde van "type": in object. Houd er rekening mee dat parameters tekenreeksen, secureString, int, bool, object, secureObject en matrixgegevenstypen kunnen hebben. Een koppeling naar de voorbeeldsyntaxis voor deze parametertypen vindt u in de samenvatting van deze module.

  5. Voeg een kenmerk met de naam defaultValue toe en stel de waarde in op {"Environment": "Dev", "Project": "Tutorial"}.

    Het parameterblok moet er als volgt uitzien:

    "parameters": {
        "storagePrefix": {
            "type": "string",
            "minLength": 3,
            "maxLength": 11
        },
        "storageSKU": {
            "type": "string",
            "defaultValue": "Standard_LRS",
            "allowedValues": [
                "Standard_LRS",
                "Standard_GRS",
                "Standard_RAGRS",
                "Standard_ZRS",
                "Premium_LRS",
                "Premium_ZRS",
                "Standard_GZRS",
                "Standard_RAGZRS"
            ]
        },
        "resourceTags": {
        "type": "object",
        "defaultValue": {
            "Environment": "Dev",
            "Project": "Tutorial"
            }
        }
    },
    
  6. Gebruik deze parameter om uw opslagaccountresource te taggen. Wijzig het kenmerk tags: in de resourcedefinitie:

    "tags": "[parameters('resourceTags')]",
    
  7. Het bestand moet er als volgt uitzien:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
           "storagePrefix": {
               "type": "string",
               "minLength": 3,
               "maxLength": 11
           },
            "storageSKU": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_RAGRS",
                    "Standard_ZRS",
                    "Premium_LRS",
                    "Premium_ZRS",
                    "Standard_GZRS",
                    "Standard_RAGZRS"
                ]
            },
            "resourceTags": {
            "type": "object",
            "defaultValue": {
                "Environment": "Dev",
                "Project": "Tutorial"
            }
        }
       },
        "functions": [],
        "variables": {
        "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
      },
        "resources": [{
            "name": "[variables('uniqueStorageName')]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": "[parameters('resourceTags')]",
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
        "outputs": {}
    }
    
  8. Sla het bestand op.

De ARM-sjabloon implementeren met bijgewerkte tags

  • Implementeer de bijgewerkte ARM-sjabloon in Azure. Zorg ervoor dat u dezelfde storagePrefix gebruikt die u eerder hebt gebruikt.

    templateFile="azuredeploy.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="updateTags-"$today
    
    az deployment group create \
        --name $DeploymentName \
        --template-file $templateFile \
        --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
    
  • Implementeer de bijgewerkte ARM-sjabloon in Azure. Zorg ervoor dat u dezelfde storagePrefix gebruikt die u eerder hebt gebruikt.

    $templateFile = "azuredeploy.json"
    $today=Get-Date -Format "MM-dd-yyyy"
    $deploymentName="updateTags-"+"$today"
    New-AzResourceGroupDeployment `
      -Name $deploymentName `
      -TemplateFile $templateFile `
      -storagePrefix {your storagePrefix} `
      -storageSKU Standard_LRS
    

Controleer of de nieuwe tags zich in de implementatie bevinden

  1. Selecteer in Azure de resourcegroep myResourceGroupName en selecteer vervolgens het opslagaccount dat u hebt geïmplementeerd.

  2. Let op de omgeving: Dev en project: Tutorial tags:

    Schermopname van Azure Portal met de geselecteerde tags op de pagina Overzicht van opslagaccounts.

Een parameterbestand gebruiken

Er zijn momenteel drie parameters om elke keer dat u deze sjabloon implementeert in te vullen. Elke gebruiker van de sjabloon kan een bestand maken om de parameterwaarden op te slaan. Hier maakt u een parameterbestand dat u met uw sjabloon wilt gebruiken.

  1. Maak in Visual Studio Code een ander bestand. Noem het azuredeploy.parameters.dev.json.

  2. In dit bestand voegt u de waarden toe voor de sjabloonparameters die u wilt invoeren in de sjabloon voor de ontwikkelomgeving. Wijzig een tagwaarde om te zien dat de implementatie een wijziging aanbrengt. U kunt bijvoorbeeld overschakelen projectName naar Learn:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "storagePrefix": {
          "value": "{unique-prefix}"
        },
        "storageSKU": {
          "value": "Standard_LRS"
        },
        "resourceTags": {
          "value": {
            "Environment": "Dev",
            "Project": "Learn"
          }
        }
      }
    }
    
  3. Zorg ervoor dat u {unique-prefix} vervangt door uw unieke voorvoegsel.

  4. Sla het bestand op.

De sjabloon implementeren met het parameterbestand

In deze sectie implementeert u de ARM-sjabloon en geeft u op welk parameterbestand u wilt gebruiken.

  1. Voer in de Visual Studio Code-terminal de volgende Azure CLI-opdrachten uit:

    templateFile="azuredeploy.json"
    devParameterFile="azuredeploy.parameters.dev.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="addParameterFile-"$today
    
    az deployment group create \
      --name $DeploymentName \
      --template-file $templateFile \
      --parameters $devParameterFile
    
  2. Controleer Azure om te controleren of de implementatie is geslaagd en of de tagwaarde is gewijzigd:

    Schermopname van Azure Portal met de bijgewerkte tagwaarden op de pagina Overzicht van opslagaccounts.

  3. Als uitdaging maakt u een parameterbestand voor de productieomgeving. Wijzig het pad naar het parameterbestand wanneer u de opdracht uitvoert om te implementeren in de productieomgeving.

  1. Voer in de Visual Studio Code-terminal de volgende Azure PowerShell-opdrachten uit:

    $templateFile = "azuredeploy.json"
    $parameterFile="azuredeploy.parameters.dev.json"
    $today=Get-Date -Format "MM-dd-yyyy"
    $deploymentName="addParameterFile-"+"$today"
    New-AzResourceGroupDeployment `
      -Name $deploymentName `
      -TemplateFile $templateFile `
      -TemplateParameterFile $parameterFile
    
  2. Controleer Azure om te controleren of de implementatie is geslaagd en of de tagwaarde is gewijzigd:

    Schermopname van Azure Portal met de bijgewerkte tagwaarden op de pagina Overzicht van opslagaccounts.

  3. Als uitdaging maakt u een parameterbestand voor de productieomgeving. Wijzig het pad naar het parameterbestand wanneer u de opdracht uitvoert om te implementeren in de productieomgeving.