다음을 통해 공유


빠른 시작: Visual Studio Code를 사용하여 ARM 템플릿 만들기

이 빠른 시작에서는 Visual Studio Code를 사용하여 ARM 템플릿(Azure Resource Manager 템플릿)을 만듭니다. 구문에 더 중점을 두는 자습서는 자습서: 첫 번째 ARM 템플릿 만들기 및 배포를 참조하세요.

중요합니다

Visual Studio Code용 ARM(Azure Resource Manager) 도구 확장 은 더 이상 사용되지 않으며 2025년 10월 1일 이후에는 더 이상 지원되지 않습니다. Bicep 개발의 경우 Visual Studio Code용 Bicep 확장을 사용하는 것이 좋습니다. 자세한 내용은 빠른 시작: Visual Studio Code로 Bicep 파일 만들기를 참조하세요. GitHub Codespaces와 같은 "임시 설치" 메서드는 사용 중단 후에도 계속 작동합니다. 확장을 수동으로 설치하려면 여기에서 가져올 수 있습니다."

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

이 빠른 시작을 완료하려면 Visual Studio Code가 필요합니다. 또한 Azure CLI 또는 Azure PowerShell 모듈이 설치 및 인증되어 있어야 합니다.

ARM 템플릿 만들기

azuredeploy.json이라는 새 파일을 만들고 Visual Studio Code를 사용하여 엽니다.

ARM 템플릿을 스캐폴딩하기 위해 파일에 다음 JSON 코드 조각을 추가합니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "functions": [],
  "variables": {},
  "resources": [],
  "outputs": {}
}

템플릿에는 다음 섹션parametersfunctionsvariablesresourcesoutputs있습니다. 각 섹션은 현재 비어 있습니다.

Azure 리소스 추가

스토리지 계정을 포함하도록 다음 코드 조각으로 리소스 섹션을 업데이트합니다.

"resources": [{
  "name": "storageaccount1",
  "type": "Microsoft.Storage/storageAccounts",
  "apiVersion": "2025-01-01",
  "tags": {
    "displayName": "storageaccount1"
  },
  "___location": "[resourceGroup().___location]",
  "kind": "StorageV2",
  "sku": {
    "name": "Premium_LRS",
    "tier": "Premium"
  }
}],

더 나은 가독성을 위해 [ALT] + [SHIFT] + [F]를 사용하여 문서의 서식을 지정합니다.

템플릿 매개 변수 추가

스토리지 계정 이름에 대한 매개 변수를 포함하도록 매개 변수 섹션을 업데이트합니다.

"parameters": {
  "storageAccountName": {
    "type": "string",
    "metadata": {
      "description": "Storage account name"
    },
    "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]"
  }
},

Azure Storage 계정 이름은 최소 3자, 최대 24자까지 가능합니다. minLengthmaxLength를 모두 매개 변수에 추가하고 적절한 값을 제공합니다.

  "parameters": {
    "storageAccountName": {
      "type": "string",
      "metadata": {
        "description": "Storage account name"
      },
      "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
      "minLength": 3,
      "maxLength": 24
    }
  },

이제 스토리지 리소스에서 이 매개 변수를 사용하도록 name 속성을 업데이트합니다.

  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      ...

완료되면 템플릿은 다음과 같습니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "metadata": {
        "description": "Storage account name"
      },
      "defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
      "minLength": 3,
      "maxLength": 24
    }
  },
  "functions": [],
  "variables": {},
  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-01-01",
      "tags": {
        "displayName": "storageaccount1"
      },
      "___location": "[resourceGroup().___location]",
      "kind": "StorageV2",
      "sku": {
        "name": "Premium_LRS",
        "tier": "Premium"
      }
    }
  ],
  "outputs": {}
}

템플릿 배포

ctrl + ` 키 조합을 사용하여 통합 Visual Studio Code 터미널을 열고 Azure CLI 또는 Azure PowerShell 모듈 중 하나를 사용하여 템플릿을 배포합니다.

az group create --name arm-vscode --___location eastus

az deployment group create --resource-group arm-vscode --template-file azuredeploy.json 

리소스 정리

Azure 리소스가 더 이상 필요하지 않은 경우 Azure CLI 또는 Azure PowerShell 모듈을 사용하여 빠른 시작 리소스 그룹을 삭제합니다.

az group delete --name arm-vscode

다음 단계