자습서: Resource Manager 템플릿을 사용하여 여러 리소스 인스턴스 만들기Tutorial: Create multiple resource instances with Resource Manager templates

Azure Resource Manager 템플릿을 반복하여 Azure 리소스의 여러 인스턴스를 만드는 방법을 알아봅니다.Learn how to iterate in your Azure Resource Manager template to create multiple instances of an Azure resource. 이 자습서에서는 3개의 저장소 계정 인스턴스를 만들도록 템플릿을 수정합니다.In this tutorial, you modify a template to create three storage account instances.

Azure Resource Manager가 여러 인스턴스를 생성하는 다이어그램

이 자습서에서 다루는 작업은 다음과 같습니다.This tutorial covers the following tasks:

  • 빠른 시작 템플릿 열기Open a QuickStart template
  • 템플릿 편집Edit the template
  • 템플릿 배포Deploy the template

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

필수 조건Prerequisites

이 문서를 완료하려면 다음이 필요합니다.To complete this article, you need:

빠른 시작 템플릿 열기Open a Quickstart template

Azure 빠른 시작 템플릿은 Resource Manager 템플릿용 저장소입니다.Azure QuickStart Templates is a repository for Resource Manager templates. 템플릿을 처음부터 새로 만드는 대신 샘플 템플릿을 찾아서 사용자 지정할 수 있습니다.Instead of creating a template from scratch, you can find a sample template and customize it. 이 빠른 시작에서 사용되는 템플릿은 표준 저장소 계정 만들기라고 합니다.The template used in this quickstart is called Create a standard storage account. 이 템플릿은 Azure Storage 계정 리소스를 정의합니다.The template defines an Azure Storage account resource.

  1. Visual Studio Code에서 파일>파일 열기를 차례로 선택합니다.From Visual Studio Code, select File>Open File.

  2. 파일 이름에서 다음 URL을 붙여넣습니다.In File name, paste the following URL:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-storage-account-create/azuredeploy.json
    
  3. 열기를 선택하여 파일을 엽니다.Select Open to open the file.

  4. 템플릿에 'Microsoft.Storage/storageAccounts' 리소스가 정의되어 있습니다.There is a 'Microsoft.Storage/storageAccounts' resource defined in the template. 이 템플릿을 템플릿 참조와 비교합니다.Compare the template to the template reference. 템플릿을 사용자 지정하기 전에 템플릿의 몇 가지 기본적인 내용을 이해하면 유용합니다.It is helpful to get some basic understanding of the template before customizing it.

  5. 파일>이름으로 저장을 차례로 선택하여 파일을 azuredeploy.json으로 저장합니다.Select File>Save As to save the file as azuredeploy.json to your local computer.

템플릿 편집Edit the template

기존 템플릿은 저장소 계정 1개를 만듭니다.The existing template creates one storage account. 저장소 계정 3개를 만들도록 템플릿을 사용자 지정합니다.You customize the template to create three storage accounts.

Visual Studio Code에서 다음 4개의 변경 내용을 만듭니다.From Visual Studio Code, make the following four changes:

Azure Resource Manager가 여러 인스턴스 생성

  1. 저장소 계정 리소스 정의에 copy 요소를 추가합니다.Add a copy element to the storage account resource definition. copy 요소에서 이 루프의 반복 횟수와 변수를 지정합니다.In the copy element, you specify the number of iterations and a variable for this loop. count 값은 양의 정수여야 하며 800을 초과할 수 없습니다.The count value must be a positive integer and can't exceed 800.
  2. copyIndex() 함수는 루프에서 현재 반복을 반환합니다.The copyIndex() function returns the current iteration in the loop. 인덱스를 이름 접두사로 사용합니다.You use the index as the name prefix. copyIndex()는 0부터 시작합니다.copyIndex() is zero-based. 인덱스 값을 오프셋하려면 copyIndex() 함수에 값을 전달하면 됩니다.To offset the index value, you can pass a value in the copyIndex() function. 예를 들어 copyIndex(1) 입니다.For example, copyIndex(1).
  3. 더 이상 사용되지 않으므로 변수 요소를 삭제합니다.Delete the variables element, because it is not used anymore.
  4. 출력 요소를 삭제합니다.Delete the outputs element. 더 이상 필요 없습니다.It is no longer needed.

완성된 템플릿은 다음과 같습니다.The completed template looks like:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_ZRS",
        "Premium_LRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[concat(copyIndex(),'storage', uniqueString(resourceGroup().id))]",
      "apiVersion": "2018-02-01",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "Storage",
      "properties": {},
      "copy": {
        "name": "storagecopy",
        "count": 3
      }
    }
  ]
}

여러 인스턴스 만들기에 대한 자세한 내용은 Azure Resource Manager 템플릿에서 리소스 또는 속성의 여러 인스턴스 배포를 참조하세요.For more information about creating multiple instances, see Deploy multiple instances of a resource or property in Azure Resource Manager Templates

템플릿 배포Deploy the template

배포 절차는 Visual Studio Code 빠른 시작의 템플릿 배포 섹션을 참조하세요.Refer to the Deploy the template section in the Visual Studio Code quickstart for the deployment procedure.

참고

이 문서는 새 Azure PowerShell Az 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the new Azure PowerShell Az module. AzureRM 모듈은 적어도 2020년 12월까지 버그 수정을 수신할 예정이므로 계속 사용하셔도 됩니다.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 새 Az 모듈 및 AzureRM 호환성에 대한 자세한 내용은 새 Azure PowerShell Az 모듈 소개를 참조하세요.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.For Az module installation instructions, see Install Azure PowerShell.

세 개의 모든 저장소 계정을 나열하려면 --name 매개 변수를 생략합니다.To list all three storage accounts, omit the --name parameter:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az storage account list --resource-group $resourceGroupName

저장소 계정 이름을 템플릿의 이름 정의와 비교합니다.Compare the storage account names with the name definition in the template.

리소스 정리Clean up resources

Azure 리소스가 더 이상 필요하지 않은 경우 리소스 그룹을 삭제하여 배포한 리소스를 정리합니다.When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.From the Azure portal, select Resource group from the left menu.
  2. 이름으로 필터링 필드에서 리소스 그룹 이름을 입력합니다.Enter the resource group name in the Filter by name field.
  3. 해당 리소스 그룹 이름을 선택합니다.Select the resource group name. 리소스 그룹에 총 6개의 리소스가 표시됩니다.You shall see a total of six resources in the resource group.
  4. 위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.Select Delete resource group from the top menu.

다음 단계Next steps

이 자습서에서는 여러 저장소 계정 인스턴스를 만드는 방법을 배웠습니다.In this tutorial, you learned how to create multiple storage account instances. 다음 자습서에서는 여러 리소스 및 여러 리소스 종류가 있는 템플릿을 개발합니다.In the next tutorial, you develop a template with multiple resources and multiple resource types. 일부 리소스에는 종속 리소스가 있습니다.Some of the resources have dependent resources.