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 Codegebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.

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 na de sluitende accolade voor de parameter storageSKU in het azuredeploy.json-bestand. 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 toe met de naam defaultValue: 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 [naam sandbox-resourcegroep] resourcegroep en selecteer vervolgens het opslagaccount dat u hebt geïmplementeerd.

  2. Let op de -omgeving: Dev en Project: Zelfstudie 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 projectName wijzigen in 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.