Latihan - Gunakan tag dan file parameter Azure Resource Manager
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.
Dalam Visual Studio Code, pada file azuredeploy.json, letakkan kursor di belakang kurung kurawal penutup untuk parameter
storageSKU
. Tambahkan koma dan tekan Enter.Ketikkan par. Anda akan melihat daftar cuplikan terkait.
Pilih arm-param. Ingat, tindakan ini menambahkan parameter generik pada templat. Sepertinya kode ini:
"parameter1": { "type": "string", "metadata": { "description": "description" }
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.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" } } },
Gunakan parameter ini untuk menandai sumber daya akun penyimpanan. Ubah atribut
tags:
pada definisi sumber daya:"tags": "[parameters('resourceTags')]",
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": {} }
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
Pada Azure, pilih grup sumber daya
[sandbox resource group name] , lalu pilih akun penyimpanan yang Anda terapkan.Perhatikan Lingkungan : Dev dan Project : Tag tutorial:
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.
Pada Visual Studio Code, buat file lain. Beri nama azuredeploy.parameters.dev.json.
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" } } } }
Pastikan untuk mengganti
{unique-prefix}
dengan awalan yang unik.Simpan file.
Menyebarkan templat dengan file parameter
Pada bagian ini, sebarkan templat ARM, menentukan file parameter yang akan digunakan.
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
Periksa Azure untuk memastikan bahwa penyebaran berhasil dan nilai tag berubah:
Sebagai tantangan, buat file parameter untuk lingkungan produksi. Ubah jalur file parameter saat menjalankan perintah untuk menyebarkan ke lingkungan produksi.
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
Periksa Azure untuk memastikan bahwa penyebaran berhasil dan nilai tag berubah:
Sebagai tantangan, buat file parameter untuk lingkungan produksi. Ubah jalur file parameter saat menjalankan perintah untuk menyebarkan ke lingkungan produksi.