연습 - Azure Resource Manager 태그 및 매개 변수 파일 사용
이 연습에서는 Microsoft Azure 리소스를 구성 및 추적하는 데 도움이 되는 태그를 추가합니다. 또한 ARM(Azure Resource Manager) 템플릿 매개 변수 파일을 사용하여 각 배포의 매개 변수 구성을 다르게 할 수도 있습니다.
이 연습에서는 Visual Studio Code용 Azure Resource Manager 도구를 사용합니다. Visual Studio Code에서 해당 확장을 설치해야 합니다.
리소스 배포 환경 및 프로젝트를 추적하는 태그 만들기
먼저 템플릿에서 리소스 태그로 사용할 매개 변수를 만듭니다.
Visual Studio Code의 azuredeploy.json 파일에서
storageSKU
매개 변수의 닫는 괄호 뒤에 커서를 놓습니다. 쉼표 추가 및 Enter 키를 누릅니 다.par을 입력합니다. 관련된 코드 조각 목록이 표시됩니다.
arm-param을 선택합니다. 이렇게 하면 제네릭 매개 변수가 템플릿에 추가됩니다. 다음 코드와 같이 표시됩니다.
"parameter1": { "type": "string", "metadata": { "description": "description" }
parameter1
을 resourceTags로 변경하고"type":
값을 object로 변경합니다. 매개 변수는 string, secureString, int, bool, object, secureObject 및 array 데이터 형식일 수 있습니다. 이와 같은 매개 변수 형식의 예제 구문 링크는 이 모듈의 요약에 나와 있습니다.defaultValue:라는 특성을 추가하고 값을 {“Environment”: “Dev”, “Project”: “Tutorial”}로 설정합니다.
매개 변수 블록은 다음 코드와 같이 표시됩니다.
"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" } } },
이 매개 변수를 사용하여 스토리지 계정 리소스에 태그를 적용합니다. 리소스 정의에서
tags:
특성을 변경합니다."tags": "[parameters('resourceTags')]",
파일은 다음과 같이 표시됩니다.
{ "$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": {} }
파일을 저장합니다.
업데이트된 태그를 사용하여 ARM 템플릿 배포
업데이트된 ARM 템플릿을 Azure에 배포합니다. 이전에 사용한 것과 동일한
storagePrefix
를 사용해야 합니다.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
업데이트된 ARM 템플릿을 Azure에 배포합니다. 이전에 사용한 것과 동일한
storagePrefix
를 사용해야 합니다.$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
배포에 새 태그가 있는지 확인
Azure에서
[샌드박스 리소스 그룹 이름] 리소스 그룹을 선택하고 배포한 스토리지 계정을 선택합니다.환경: 개발 및 프로젝트: 자습서 태그:
매개 변수 파일 사용
현재 이 템플릿을 배포할 때마다 입력하는 세 가지 매개 변수가 있습니다. 템플릿의 각 사용자는 매개 변수 값을 포함할 파일을 만들 수 있습니다. 여기에서 템플릿과 함께 사용할 매개 변수 파일을 만듭니다.
Visual Studio Code에서 다른 파일을 만듭니다. 해당 파일을 azuredeploy.parameters.dev.json이라고 합니다.
이 파일에서 개발 환경의 템플릿에 입력하려는 템플릿 매개 변수의 값을 추가합니다. 태그 값을 변경하여 배포가 변경되는지 확인합니다. 예를 들어
projectName
을 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" } } } }
{unique-prefix}
를 고유한 접두사로 바꾸어야 합니다.파일을 저장합니다.
매개 변수 파일을 사용하여 템플릿 배포
이 섹션에서는 사용할 매개 변수 파일을 지정하여 ARM 템플릿을 배포합니다.
Visual Studio Code 터미널에서 다음 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
Azure에서 배포에 성공했고 태그 값이 변경되었는지 확인합니다.
어려운 과제로 프로덕션 환경을 위한 매개 변수 파일을 만듭니다. 프로덕션 환경으로 배포하려면 명령을 실행할 때 매개 변수 파일 경로를 변경합니다.
Visual Studio Code 터미널에서 다음 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
Azure에서 배포에 성공했고 태그 값이 변경되었는지 확인합니다.
어려운 과제로 프로덕션 환경을 위한 매개 변수 파일을 만듭니다. 프로덕션 환경으로 배포하려면 명령을 실행할 때 매개 변수 파일 경로를 변경합니다.