Ćwiczenie — używanie tagów i plików parametrów usługi Azure Resource Manager

Ukończone

W tym ćwiczeniu dodasz tagi, aby ułatwić organizowanie i śledzenie zasobów platformy Microsoft Azure. Możesz również użyć pliku parametrów szablonu usługi Azure Resource Manager (ARM), aby umożliwić korzystanie z różnych konfiguracji parametrów dla każdego wdrożenia.

W tym ćwiczeniu użyto narzędzi Azure Resource Manager Tools for Visual Studio Code. Pamiętaj, aby zainstalować to rozszerzenie w programie Visual Studio Code.

Tworzenie tagu w celu śledzenia środowiska wdrażania zasobów i projektu

Najpierw należy utworzyć parametr do użycia jako tag zasobu w szablonie.

  1. W programie Visual Studio Code w pliku azuredeploy.json umieść kursor po zamykającym nawiasie klamrowym dla parametru storageSKU. Dodaj przecinek i naciśnij Enter.

  2. Wpisz par. Zostanie wyświetlona lista powiązanych fragmentów kodu.

  3. Wybierz arm-param. Pamiętaj, że ta akcja dodaje do szablonu parametr ogólny. Wygląda na to, że ten kod:

    "parameter1": {
        "type": "string",
        "metadata": {
            "description": "description"
        }
    
  4. Zmień parameter1 na resourceTags i zmień wartość "type": na obiektu. Pamiętaj, że parametry mogą mieć typy danych string, secureString, int, bool, object, secureObject i array. Link do przykładowej składni dla tych typów parametrów znajduje się w podsumowaniu tego modułu.

  5. Dodaj atrybut o nazwie defaultValue: i ustaw wartość na {"Environment": "Dev", "Project": "Tutorial"}.

    Blok parametrów powinien wyglądać następująco:

    "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. Użyj tego parametru, aby oznaczyć zasób konta magazynowego. Zmień atrybut tags: w definicji zasobu:

    "tags": "[parameters('resourceTags')]",
    
  7. Plik powinien wyglądać następująco:

    {
        "$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. Zapisz plik.

Wdróż szablon ARM ze zaktualizowanymi tagami

  • Wdróż zaktualizowany szablon usługi ARM na platformie Azure. Pamiętaj, aby użyć tego samego storagePrefix, którego użyto wcześniej.

    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
    
  • Wdróż zaktualizowany szablon usługi ARM na platformie Azure. Upewnij się, że użyjesz tego samego storagePrefix, którego użyłeś wcześniej.

    $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
    

Sprawdź, czy nowe tagi znajdują się we wdrożeniu

  1. Na platformie Azure wybierz grupę zasobów [nazwa grupy zasobów piaskownicy], a następnie wybierz konto magazynowe, które wdrożyłeś.

  2. Zwróć uwagę na środowisko : Dev i Project: Tutorial tags:

    Zrzut ekranu portalu Azure przedstawiający wybrane tagi na stronie Przegląd konta przechowywania.

Używanie pliku parametrów

Obecnie istnieją trzy parametry do wypełnienia przy każdym wdrożeniu tego szablonu. Każdy użytkownik szablonu może utworzyć plik do przechowywania wartości parametrów. W tym miejscu utworzysz plik parametrów do użycia z szablonem.

  1. W programie Visual Studio Code utwórz inny plik. Nazwij to azuredeploy.parameters.dev.json.

  2. W tym pliku dodasz wartości parametrów szablonu, które mają zostać wprowadzone do szablonu dla środowiska deweloperskiego. Zmień wartość tagu, aby zobaczyć, że wdrożenie wprowadza zmianę. Na przykład, możesz zmienić projectName na Naucz się:

    {
      "$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. Pamiętaj, aby zastąpić {unique-prefix} unikatowym prefiksem.

  4. Zapisz plik.

Wdrażanie szablonu przy użyciu pliku parametrów

W tej sekcji wdrożysz szablon usługi ARM, określając plik parametrów do użycia.

  1. W terminalu programu Visual Studio Code uruchom następujące polecenia Azure CLI:

    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. Sprawdź platformę Azure, aby upewnić się, że wdrożenie zakończyło się pomyślnie i czy wartość tagu została zmieniona:

    Zrzut ekranu portalu Azure przedstawiający zaktualizowane wartości tagów na stronie Przegląd konta Storage.

  3. Jako wyzwanie utwórz plik parametrów dla środowiska produkcyjnego. Zmień ścieżkę pliku parametru po uruchomieniu polecenia w celu wdrożenia w środowisku produkcyjnym.

  1. W terminalu programu Visual Studio Code uruchom następujące polecenia programu Azure PowerShell:

    $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. Sprawdź platformę Azure, aby upewnić się, że wdrożenie zakończyło się pomyślnie i czy wartość tagu została zmieniona:

    Zrzut ekranu portalu Azure przedstawiający zaktualizowane wartości tagów na stronie Przeglądu konta magazynu.

  3. Jako wyzwanie utwórz plik parametrów dla środowiska produkcyjnego. Zmień ścieżkę pliku parametru po uruchomieniu polecenia w celu wdrożenia w środowisku produkcyjnym.