Azure Resource Manager 템플릿 변수를 사용하여 식 다시 사용

완료됨

이전 시나리오에서는 여러 ARM(Azure Resource Manager) 템플릿 함수로 구성된 식을 사용하여 Azure Storage 계정의 이름을 만들기로 결정했습니다. 이러한 유연성을 통해 모든 고객이 배포에 ARM 템플릿을 사용할 수 있습니다. 그러나 여러 위치에서 이 식을 추가하는 것은 템플릿을 기본 문제가 됩니다. 식을 한 곳에서 정의한 다음, 템플릿 전체에서 다시 사용할 수 있도록 스토리지 계정 이름 식에 변수를 사용하도록 합니다.

ARM 템플릿 변수란?

ARM 템플릿 변수는 나중에 사용할 수 있도록 값을 포함하는 구문입니다. 변수는 템플릿의 여러 위치에 값을 지정해야 하는 경우에 가장 적합합니다. 템플릿에서 변수를 사용하는 모든 경우에는 Resource Manager는 변수를 확인된 값으로 바꿉니다.

예를 들어 리소스 위치에 대한 값을 정의하는 식이 있을 수 있습니다. 템플릿에 정의한 몇 가지 리소스에는 위치가 필요합니다. 위치 식을 저장할 변수를 만든 다음, 위치가 필요한 곳 어디서나 변수를 사용할 수 있습니다.

ARM 템플릿 변수를 사용할 경우의 이점

ARM 템플릿 변수를 사용하면 식을 한 번 쓴 다음, 여러 위치에서 사용할 수 있습니다. 또한 식이 한 곳에서 유지 관리되며 템플릿을 더 쉽게 읽을 수 있습니다.

ARM 템플릿 변수의 사용 방법

ARM 템플릿 변수는 템플릿의 variables: {} 섹션에서 정의됩니다. 예를 들어, 다음은 마지막 단원에서 정의한 스토리지 계정 이름을 위한 식입니다. 이제 storageName 변수의 값을 정의합니다.

"variables": {
  "storageName": "[concat(toLower(parameters('storageNamePrefix')), uniqueString(resourceGroup().id))]"
},

그런 다음 스토리지 계정 이름이 필요할 때마다 템플릿에서 해당 변수를 사용합니다.

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageName')]",
    ...
  }
]

ARM 템플릿 변수를 위한 권장 사항

템플릿 변수는 카멜 대/소문자로 지정합니다. 두 번 이상 지정해야 하는 값, 특히 복잡한 식인 값에 사용하면 가장 좋습니다.

템플릿의 변수 섹션에서는 reference 함수를 사용하지 마세요. reference 함수는 런타임에 확인되고 변수는 템플릿이 구문 분석될 때 확인됩니다. 또한 리소스의 apiVersion에는 변수를 사용하지 마세요. API 버전에 따라 리소스의 스키마가 결정되고 리소스의 속성을 변경하지 않고는 버전을 변경할 수 없는 경우가 많습니다.