Latihan - Gunakan tag dan file parameter Azure Resource Manager

Selesai

Dalam latihan ini, tambahkan tag untuk membantu menata dan melacak sumber daya Microsoft Azure Anda. Gunakan juga file parameter templat Azure Resource Manager (ARM) untuk mengizinkan konfigurasi parameter yang berbeda untuk setiap penyebaran.

Latihan ini menggunakan Alat Azure Resource Manager untuk Visual Studio Code. Pastikan untuk menginstal ekstensi ini di Visual Studio Code.

Membuat tag untuk melacak lingkungan dan proyek penyebaran sumber daya

Pertama, buat parameter untuk digunakan sebagai tag sumber daya pada templat.

  1. Dalam Visual Studio Code, pada file azuredeploy.json, letakkan kursor di belakang kurung kurawal penutup untuk parameter storageSKU. Tambahkan koma dan tekan Enter.

  2. Ketikkan par. Anda akan melihat daftar cuplikan terkait.

  3. Pilih arm-param. Ingat, tindakan ini menambahkan parameter generik pada templat. Sepertinya kode ini:

    "parameter1": {
        "type": "string",
        "metadata": {
            "description": "description"
        }
    
  4. Ubah parameter1 menjadi resourceTags dan ubah nilai "type": menjadi objek. Ingat bahwa parameter dapat memiliki string, secureString, int, bool, objek, secureObject, dan tipe data array. Tautan ke sintaks contoh untuk jenis parameter ini ada di dalam ringkasan modul.

  5. Tambahkan atribut bernama defaultValue: dan atur nilai ke {"Environment": "Dev", "Project": "Tutorial"}.

    Blok parameter akan terlihat seperti kode berikut:

    "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. Gunakan parameter ini untuk menandai sumber daya akun penyimpanan. Ubah atribut tags: pada definisi sumber daya:

    "tags": "[parameters('resourceTags')]",
    
  7. File Anda akan terlihat seperti file berikut:

    {
        "$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. Simpan file.

Menyebarkan templat ARM dengan tag yang diperbarui

  • Sebarkan templat ARM yang diperbarui ke Azure. Pastikan untuk menggunakan storagePrefix yang sama dengan yang digunakan sebelumnya.

    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
    
  • Sebarkan templat ARM yang diperbarui ke Azure. Pastikan untuk menggunakan storagePrefix yang sama dengan yang digunakan sebelumnya.

    $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
    

Verifikasi masuknya tag baru dalam penyebaran

  1. Pada Azure, pilih grup sumber daya [sandbox resource group name], lalu pilih akun penyimpanan yang Anda terapkan.

  2. Perhatikan Lingkungan : Dev dan Project : Tag tutorial:

    Screenshot of the Azure portal that shows the selected tags in the Storage account Overview page.

Gunakan file parameter

Saat ini ada tiga parameter untuk diisi setiap kali templat ini disebarkan. Setiap pengguna templat dapat membuat file untuk menyimpan nilai parameter mereka. Di sini, Anda membuat file parameter untuk digunakan dengan templat.

  1. Pada Visual Studio Code, buat file lain. Beri nama azuredeploy.parameters.dev.json.

  2. Dalam file ini, tambahkan nilai untuk parameter templat yang diinginkan agar memiliki input ke dalam templat untuk lingkungan pengembangan. Ubah nilai tag untuk memastikan bahwa penyebaran membuat perubahan. Contohnya, Anda dapat mengubah projectName menjadi 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. Pastikan untuk mengganti {unique-prefix} dengan awalan yang unik.

  4. Simpan file.

Menyebarkan templat dengan file parameter

Pada bagian ini, sebarkan templat ARM, menentukan file parameter yang akan digunakan.

  1. Pada terminal Visual Studio Code, jalankan perintah Azure CLI berikut:

    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. Periksa Azure untuk memastikan bahwa penyebaran berhasil dan nilai tag berubah:

    Screenshot of the Azure portal that shows the updated tag values in the Storage account Overview page.

  3. Sebagai tantangan, buat file parameter untuk lingkungan produksi. Ubah jalur file parameter saat menjalankan perintah untuk menyebarkan ke lingkungan produksi.

  1. Pada terminal Visual Studio Code, jalankan perintah Azure PowerShell berikut:

    $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. Periksa Azure untuk memastikan bahwa penyebaran berhasil dan nilai tag berubah:

    Screenshot of the Azure portal that shows the updated tag values in the Storage account Overview page.

  3. Sebagai tantangan, buat file parameter untuk lingkungan produksi. Ubah jalur file parameter saat menjalankan perintah untuk menyebarkan ke lingkungan produksi.