Visual Studio를 통해 Azure 리소스 그룹 만들기 및 배포Creating and deploying Azure resource groups through Visual Studio

Visual Studio를 사용하여 Azure로 인프라 및 코드를 배포하는 프로젝트를 만들 수 있습니다.With Visual Studio, you can create a project that deploys your infrastructure and code to Azure. 예를 들어 앱에 대한 웹 호스트, 웹 사이트 및 데이터베이스를 정의하고 코드와 함께 해당 인프라를 배포할 수 있습니다.For example, you can define the web host, web site, and database for your app, and deploy that infrastructure along with the code. Visual Studio는 일반 시나리오를 배포하기 위한 다양한 서로 다른 시작 템플릿을 제공합니다.Visual Studio provides many different starter templates for deploying common scenarios. 이 문서에서는 웹앱 및 SQL Database를 배포합니다.In this article, you deploy a web app and SQL Database.

이 문서에서는 Azure 개발 및 ASP.NET 워크로드가 설치된 Visual Studio 2017 사용 방법을 보여줍니다.This article shows how to use Visual Studio 2017 with the Azure development and ASP.NET workloads installed. Visual Studio 2015 업데이트 2 및 Microsoft Azure SDK for .NET 2.9 또는 Azure SDK 2.9와 함께 Visual Studio 2013을 사용하는 경우 환경은 대부분 동일합니다.If you use Visual Studio 2015 Update 2 and Microsoft Azure SDK for .NET 2.9, or Visual Studio 2013 with Azure SDK 2.9, your experience is largely the same.

참고

이 문서는 새 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.

Azure 리소스 그룹 프로젝트 만들기Create Azure Resource Group project

이 섹션에서는 웹앱 + SQL 템플릿으로 Azure 리소스 그룹 프로젝트를 만듭니다.In this section, you create an Azure Resource Group project with a Web app + SQL template.

  1. Visual Studio에서 파일, 새 프로젝트를 선택하고, C# 또는 Visual Basic을 선택합니다. 이러한 프로젝트에는 JSON 및 PowerShell 콘텐츠만 들어 있기 때문에 어떤 언어를 선택하든 이후 단계에 영향을 미치지 않습니다.In Visual Studio, choose File, New Project, choose either C# or Visual Basic (which language you choose has no impact on the later stages as these projects have only JSON and PowerShell content). 그런 다음 클라우드, Azure 리소스 그룹 프로젝트를 차례로 선택합니다.Then choose Cloud, and Azure Resource Group project.

    Cloud Deployment 프로젝트

  2. Azure 리소스 관리자에 배포하려는 템플릿을 선택합니다.Choose the template that you want to deploy to Azure Resource Manager. 배포하려는 프로젝트의 유형에 따라 다양한 옵션이 있습니다.Notice there are many different options based on the type of project you wish to deploy. 이 문서의 경우 웹앱 + SQL 템플릿을 선택합니다.For this article, choose the Web app + SQL template.

    템플릿 선택

    선택한 템플릿은 시작 지점일 뿐이며 시나리오를 충족하는 리소스를 추가 및 제거할 수 있습니다.The template you pick is just a starting point; you can add and remove resources to fulfill your scenario.

    참고

    Visual Studio은 온라인에서 사용 가능한 템플릿 목록을 검색합니다.Visual Studio retrieves a list of available templates online. 목록은 변경될 수 있습니다.The list may change.

    Visual Studio는 웹앱 및 SQL 데이터베이스에 대한 리소스 그룹 배포 프로젝트를 만듭니다.Visual Studio creates a resource group deployment project for the web app and SQL database.

  3. 만든 항목을 보려면 배포 프로젝트에서 노드를 봅니다.To see what you created, look at the node in the deployment project.

    노드 표시

    이 예제에서 웹앱 + SQL 템플릿을 선택했기 때문에 다음 파일이 표시됩니다.Since you chose the Web app + SQL template for this example, you see the following files:

    파일 이름File name 설명Description
    Deploy-AzureResourceGroup.ps1Deploy-AzureResourceGroup.ps1 PowerShell 명령을 실행하여 Azure Resource Manager를 배포하는 PowerShell 스크립트입니다.A PowerShell script that runs PowerShell commands to deploy to Azure Resource Manager.
    참고 이 PowerShell 스크립트는 Visual Studio에서 템플릿을 배포하는 데 사용됩니다.Note Visual Studio uses this PowerShell script to deploy your template. 이 스크립트를 변경하면 Visual Studio의 배포에 영향이 있으므로 신중해야 합니다.Any changes you make to this script affect deployment in Visual Studio, so be careful.
    WebSiteSQLDatabase.jsonWebSiteSQLDatabase.json Azure에 배포하려는 인프라를 정의하는 Resource Manager 템플릿 및 배포하는 동안 제공할 수 있는 매개 변수입니다.The Resource Manager template that defines the infrastructure you want deploy to Azure, and the parameters you can provide during deployment. 또한 Resource Manager가 리소스를 올바른 순서로 배포하도록 리소스 간의 종속성을 정의합니다.It also defines the dependencies between the resources so Resource Manager deploys the resources in the correct order.
    WebSiteSQLDatabase.parameters.jsonWebSiteSQLDatabase.parameters.json 템플릿에 필요한 값을 포함하고 있는 매개 변수 파일입니다.A parameters file that has values needed by the template. 각 배포를 사용자 지정하는 값을 전달합니다.You pass in parameter values to customize each deployment.

    모든 리소스 그룹 배포 프로젝트에는 이러한 기본 파일이 있습니다.All resource group deployment projects have these basic files. 다른 프로젝트는 다른 기능을 지원하는 추가 파일을 포함할 수 있습니다.Other projects may have additional files to support other functionality.

리소스 관리자 템플릿 사용자 지정Customize the Resource Manager template

배포하려는 리소스를 설명하는 JSON 템플릿 파일을 수정하여 배포 프로젝트를 사용자 지정할 수 있습니다.You can customize a deployment project by modifying the JSON templates that describe the resources you want to deploy. JSON은 JavaScript Object Notation의 약어로, 쉽게 작업할 수 있는 직렬화된 데이터 형식입니다.JSON stands for JavaScript Object Notation, and is a serialized data format that is easy to work with. JSON 파일은 각 파일의 위쪽에서 참조하는 스키마를 사용합니다.The JSON files use a schema that you reference at the top of each file. 스키마를 이해하려면 다운로드하여 분석할 수 있습니다.If you want to understand the schema, you can download and analyze it. 스키마는 유효한 요소, 필드의 형식 및 포맷, 가능한 속성 값을 정의합니다.The schema defines what elements are valid, the types and formats of fields, and the possible values for a property. 리소스 관리자 템플릿의 요소에 대한 자세한 내용은 Azure 리소스 관리자 템플릿 작성을 참조하세요.To learn about the elements of the Resource Manager template, see Authoring Azure Resource Manager templates.

템플릿에서 작업하려면 WebSiteSQLDatabase.json을 엽니다.To work on your template, open WebSiteSQLDatabase.json.

Visual Studio 편집기는 Resource Manager 템플릿 편집에 도움이 되는 도구를 제공합니다.The Visual Studio editor provides tools to assist you with editing the Resource Manager template. JSON 개요 창을 통해 템플릿에 정의된 요소를 쉽게 볼 수 있습니다.The JSON Outline window makes it easy to see the elements defined in your template.

JSON 개요 표시

개요에서 요소 중 하나를 선택하면 템플릿의 해당 부분으로 이동하고 해당 JSON을 강조 표시합니다.Selecting any of the elements in the outline takes you to that part of the template and highlights the corresponding JSON.

JSON로 이동

JSON 개요 창의 맨 위에 있는 리소스 추가 버튼을 선택하거나 리소스를 마우스 오른쪽 단추로 클릭하고 새 리소스 추가를 선택하여 리소스를 추가할 수 있습니다.You can add a resource by either selecting the Add Resource button at the top of the JSON Outline window, or by right-clicking resources and selecting Add New Resource.

리소스 추가

이 자습서의 경우 Storage 계정 을 선택하고 이름을 지정합니다.For this tutorial, select Storage Account and give it a name. 11개 미만의 문자이며 숫자 및 소문자만을 포함하는 이름을 제공합니다.Provide a name that is no more than 11 characters, and only contains numbers and lower-case letters.

저장소 추가

추가된 리소스 뿐만 아니라 형식 저장소 계정에 대한 매개 변수 및 저장소 계정 이름에 대한 변수입니다.Notice that not only was the resource added, but also a parameter for the type storage account, and a variable for the name of the storage account.

개요 표시

storageType 매개 변수는 허용되는 형식 및 기본 형식을 사용하여 미리 정의됩니다.The storageType parameter is pre-defined with allowed types and a default type. 이러한 값을 유지하거나 시나리오에 대해 편집할 수 있습니다.You can leave these values or edit them for your scenario. 아무도 이 템플릿을 통해 Premium_LRS 저장소 계정을 배포하지 못하게 하려면 허용된 형식에서 제거해야 합니다.If you don't want anyone to deploy a Premium_LRS storage account through this template, remove it from the allowed types.

"storageType": {
  "type": "string",
  "defaultValue": "Standard_LRS",
  "allowedValues": [
    "Standard_LRS",
    "Standard_ZRS",
    "Standard_GRS",
    "Standard_RAGRS"
  ]
}

Visual Studio는 또한 템플릿을 편집하는 경우 사용 가능한 속성을 이해할 수 있도록 intellisense를 제공합니다.Visual Studio also provides intellisense to help you understand the properties that are available when editing the template. 예를 들어 App Service 계획에 대한 속성을 편집하려면 HostingPlan 리소스로 이동하고 속성에 대한 값을 추가합니다.For example, to edit the properties for your App Service plan, navigate to the HostingPlan resource, and add a value for the properties. intellisense는 사용 가능한 값을 표시하고 해당 값에 대한 설명을 제공합니다.Notice that intellisense shows the available values and provides a description of that value.

intellisense 표시

numberOfWorkers 를 1로 설정할 수 있습니다.You can set numberOfWorkers to 1.

"properties": {
  "name": "[parameters('hostingPlanName')]",
  "numberOfWorkers": 1
}

Azure에 리소스 그룹 프로젝트 배포Deploy the Resource Group project to Azure

이제 프로젝트를 배포할 준비가 완료되었습니다.You're now ready to deploy your project. Azure 리소스 그룹 프로젝트를 배포할 때 Azure 리소스 그룹에 배포합니다.When you deploy an Azure Resource Group project, you deploy it to an Azure resource group. 리소스 그룹은 공통 수명 주기를 공유하는 리소스의 논리적 그룹화입니다.The resource group is a logical grouping of resources that share a common lifecycle.

  1. 배포 프로젝트 노드의 바로 가기 메뉴에서 배포 > 새 배포를 선택합니다.On the shortcut menu of the deployment project node, choose Deploy > New.

    배포, 새 배포 메뉴 항목

    리소스 그룹에 배포 대화 상자가 나타납니다.The Deploy to Resource Group dialog box appears.

    리소스 그룹에 배포 대화 상자

  2. 리소스 그룹 드롭다운 상자에서 기존 리소스 그룹을 선택하거나 새 항목을 만듭니다.In the Resource group dropdown box, choose an existing resource group or create a new one. 리소스 그룹을 만들려면 리소스 그룹 드롭다운 상자를 열고 새로 만들기를 선택합니다.To create a resource group, open the Resource Group dropdown box and choose Create New.

    리소스 그룹에 배포 대화 상자

    리소스 그룹 만들기 대화 상자가 나타납니다.The Create Resource Group dialog box appears. 그룹에 이름 및 위치를 지정하고 만들기 단추를 선택합니다.Give your group a name and location, and select the Create button.

    리소스 그룹 만들기 대화 상자

  3. 매개 변수 편집 단추를 선택하여 배포에 대한 매개 변수를 편집합니다.Edit the parameters for the deployment by selecting the Edit Parameters button.

    매개 변수 편집 단추

  4. 비어 있는 매개 변수에 값을 제공하고 저장 단추를 선택합니다.Provide values for the empty parameters and select the Save button. 비어 있는 매개 변수는 hostingPlanName, administratorLogin, administratorLoginPassworddatabaseName입니다.The empty parameters are hostingPlanName, administratorLogin, administratorLoginPassword, and databaseName.

    hostingPlanName 은 만들려는 App Service 계획 의 이름을 지정합니다.hostingPlanName specifies a name for the App Service plan to create.

    administratorLogin 은 SQL Server 관리자의 사용자 이름을 지정합니다.administratorLogin specifies the user name for the SQL Server administrator. sa 또는 admin 같은 평범한 관리자 이름을 사용하지 마세요.Don't use common admin names like sa or admin.

    administratorLoginPassword 는 SQL Server 관리자의 암호를 지정합니다.The administratorLoginPassword specifies a password for SQL Server administrator. 암호를 매개 변수 파일에 일반 텍스트로 저장 옵션은 안전하지 않으므로 이 옵션을 선택하지 마세요.The Save passwords as plain text in the parameters file option isn't secure; therefore, don't select this option. 암호는 일반 텍스트로 저장되지 않으므로 배포 중에 이 암호를 다시 제공해야 합니다.Since the password isn't saved as plain text, you need to provide this password again during deployment.

    databaseName 은 만들 데이터베이스의 이름을 지정합니다.databaseName specifies a name for the database to create.

    매개 변수 편집 대화 상자

  5. 배포 단추를 선택하여 Azure에 프로젝트를 배포합니다.Choose the Deploy button to deploy the project to Azure. Visual Studio 인스턴스의 외부에서 PowerShell 콘솔이 열립니다.A PowerShell console opens outside of the Visual Studio instance. 메시지가 표시되면 PowerShell 콘솔에 SQL Server 관리자 암호를 입력합니다.Enter the SQL Server administrator password in the PowerShell console when prompted. PowerShell 콘솔은 다른 항목 뒤에 숨겨지거나 작업 표시줄에서 최소화될 수 있습니다.Your PowerShell console may be hidden behind other items or minimized in the task bar. 이 콘솔을 찾아서 암호를 제공합니다.Look for this console and select it to provide the password.

    참고

    Visual Studio에서는 Azure PowerShell cmdlet을 설치하도록 요청할 수 있습니다.Visual Studio may ask you to install the Azure PowerShell cmdlets. 메시지가 표시되면 설치합니다.If prompted, install them. 리소스 그룹을 성공적으로 배포하려면 Azure PowerShell 모듈이 필요합니다.You need the Azure PowerShell modules to successfully deploy resource groups. 프로젝트의 PowerShell 스크립트는 새 Azure PowerShell Az 모듈에서 작동하지 않습니다.The PowerShell script in the project doesn't work with the new Azure PowerShell Az module.

    자세한 내용은 Azure PowerShell 모듈 설치 및 구성을 참조하세요.For more information, see Install and configure Azure PowerShell modules.

  6. 배포는 몇 분 정도가 걸릴 수 있습니다.The deployment may take a few minutes. 출력 창에 배포의 상태가 표시됩니다.In the Output windows, you see the status of the deployment. 배포가 완료되면 마지막 메시지는 다음과 유사한 내용으로 성공적인 배포를 나타냅니다.When the deployment has finished, the last message indicates a successful deployment with something similar to:

     ... 
     18:00:58 - Successfully deployed template 'websitesqldatabase.json' to resource group 'DemoSiteGroup'.
    
  7. 브라우저에서 Azure Portal 을 열고 계정에 로그인합니다.In a browser, open the Azure portal and sign in to your account. 리소스 그룹을 보려면 리소스 그룹 및 배포한 리소스 그룹을 선택합니다.To see the resource group, select Resource groups and the resource group you deployed to.

    그룹 선택

  8. 배포된 리소스가 모두 표시됩니다.You see all the deployed resources. 저장소 계정의 이름은 해당 리소스를 추가할 때 지정한 것과 일치하지 않은지 확인합니다.Notice that the name of the storage account isn't exactly what you specified when adding that resource. 저장소 계정은 고유해야 합니다.The storage account must be unique. 고유한 이름을 제공하기 위해 템플릿은 자동으로 사용자가 제공한 이름에 문자의 문자열을 추가합니다.The template automatically adds a string of characters to the name you provided to provide a unique name.

    리소스 표시

  9. 프로젝트를 변경하고 다시 배포할 경우, Azure 리소스 그룹 프로젝트의 바로 가기 메뉴에서 기존 리소스 그룹을 선택합니다.If you make changes and want to redeploy your project, choose the existing resource group from the shortcut menu of Azure resource group project. 바로 가기 메뉴에서 배포를 선택한 다음 배포한 리소스 그룹을 선택합니다.On the shortcut menu, choose Deploy, and then choose the resource group you deployed.

    배포된 Azure 리소스 그룹

인프라를 사용하여 코드 배포Deploy code with your infrastructure

이 시점에서 앱에 대한 인프라를 배포했지만 프로젝트와 함께 배포된 실제 코드가 없습니다.At this point, you've deployed the infrastructure for your app, but there's no actual code deployed with the project. 이 문서에서는 배포하는 동안 웹앱 및 SQL Database 테이블을 배포하는 방법을 보여 줍니다.This article shows how to deploy a web app and SQL Database tables during deployment. 웹앱 대신 Virtual Machine을 배포하는 경우 배포의 일부로 컴퓨터에서 일부 코드를 실행하려 할 것입니다.If you're deploying a Virtual Machine instead of a web app, you want to run some code on the machine as part of deployment. 웹앱에 대한 코드 배포 또는 Virtual Machine 설정을 위한 절차는 거의 동일합니다.The process for deploying code for a web app or for setting up a Virtual Machine is almost the same.

  1. Visual Studio 솔루션에 프로젝트를 추가합니다.Add a project to your Visual Studio solution. 솔루션을 마우스 오른쪽 단추로 클릭하고 추가 > 새 프로젝트를 선택합니다.Right-click the solution, and select Add > New Project.

    프로젝트 추가

  2. ASP.NET 웹 애플리케이션을 추가합니다.Add an ASP.NET Web Application.

    웹앱 추가

  3. MVC를 선택합니다.Select MVC.

    MVC 선택

  4. Visual Studio에서 웹앱을 만든 후에 솔루션에 두 프로젝트가 모두 표시됩니다.After Visual Studio creates your web app, you see both projects in the solution.

    프로젝트 표시

  5. 이제, 리소스 그룹 프로젝트가 새 프로젝트를 인식하는지 확인해야 합니다.Now, you need to make sure your resource group project is aware of the new project. 리소스 그룹 프로젝트(AzureResourceGroup1)로 돌아갑니다.Go back to your resource group project (AzureResourceGroup1). 참조를 마우스 오른쪽 단추로 클릭하고 참조 추가를 선택합니다.Right-click References and select Add Reference.

    참조 추가

  6. 만든 웹앱 프로젝트를 선택합니다.Select the web app project that you created.

    참조 추가

    참조를 추가하여 리소스 그룹 프로젝트에 웹앱 프로젝트에 연결하고 자동으로 세 가지 주요 속성을 설정합니다.By adding a reference, you link the web app project to the resource group project, and automatically set three key properties. 참조를 위한 속성 창에서 이러한 속성을 확인합니다.You see these properties in the Properties window for the reference.

    참조 보기

    속성은 다음과 같습니다.The properties are:

    • 추가 속성은 Azure Storage에 푸시되는 웹 배포 패키지 준비 위치를 포함합니다.The Additional Properties has the web deployment package staging location that is pushed to the Azure Storage. 폴더(ExampleApp) 및 파일(package.zip)을 적어둡니다.Note the folder (ExampleApp) and file (package.zip). 이러한 값은 앱을 배포할 때 매개 변수로 제공하므로 알고 있어야 합니다.You need to know these values because you provide them as parameters when deploying the app.

    • 파일 경로 포함은 패키지를 만들 경로를 포함합니다.The Include File Path has the path where the package is created. 대상 포함은 배포에서 실행할 명령을 포함합니다.The Include Targets has the command that deployment executes.

    • 빌드;패키지 의 기본값을 통해 배포는 웹 배포 패키지(package.zip)를 빌드하고 만들 수 있습니다.The default value of Build;Package enables the deployment to build and create a web deployment package (package.zip).

      배포는 패키지를 만드는 속성에서 필요한 정보를 얻게 되므로 게시 프로필이 필요하지 않습니다.You don't need a publish profile as the deployment gets the necessary information from the properties to create the package.

  7. WebSiteSQLDatabase.json으로 돌아와서 템플릿에 리소스를 추가합니다.Go back to WebSiteSQLDatabase.json and add a resource to the template.

    리소스 추가

  8. 이번에는 Web Apps에 대한 웹 배포를 선택합니다.This time select Web Deploy for Web Apps.

    웹 배포 추가

  9. 리소스 그룹에 리소스 그룹 프로젝트를 다시 배포합니다.Redeploy your resource group project to the resource group. 이번에는 몇 가지 새로운 매개 변수가 있습니다.This time there are some new parameters. 자동으로 생성되므로 _artifactsLocation 또는 _artifactsLocationSasToken에 대한 값을 제공할 필요가 없습니다.You don't need to provide values for _artifactsLocation or _artifactsLocationSasToken because Visual Studio automatically generates those values. 그러나 폴더와 파일 이름을 배포 패키지를 포함하는 경로로 설정해야 합니다(다음 이미지에서 ExampleAppPackageFolderExampleAppPackageFileName으로 나타남).However, you have to set the folder and file name to the path that contains the deployment package (shown as ExampleAppPackageFolder and ExampleAppPackageFileName in the following image). 앞서 참조 속성에서 확인한 값을 제공합니다(ExampleApppackage.zip).Provide the values you saw earlier in the reference properties (ExampleApp and package.zip).

    웹 배포 추가

    아티팩트 저장소 계정의 경우 이 리소스 그룹과 함께 배포된 계정을 선택합니다.For the Artifact storage account, select the one deployed with this resource group.

  10. 배포가 완료된 후에 포털에서 웹앱을 선택합니다.After the deployment has finished, select your web app in the portal. URL을 선택하여 사이트를 찾습니다.Select the URL to browse to the site.

    사이트 찾아보기

  11. 기본 ASP.NET 앱을 성공적으로 배포했습니다.Notice that you've successfully deployed the default ASP.NET app.

    배포된 앱 표시

배포에 작업 대시보드 추가Add an operations dashboard to your deployment

Visual Studio 인터페이스를 통해 사용할 수 있는 리소스로만 제한되지 않습니다.You aren't limited to only the resources that are available through the Visual Studio interface. 템플릿에 사용자 지정 리소스를 추가하여 배포를 사용자 지정할 수 있습니다.You can customize your deployment by adding a custom resource to your template. 리소스 추가를 표시하기 위해 배포한 리소스를 관리하는 운영 대시보드를 추가합니다.To show adding a resource, you add an operational dashboard to manage the resource you deployed.

  1. WebsiteSqlDeploy.json 파일을 열고 저장소 계정 리소스 뒤에, 하지만 리소스 섹션의 닫는 ] 앞에 다음 JSON을 추가합니다.Open the WebsiteSqlDeploy.json file and add the following JSON after the storage account resource but before the closing ] of the resources section.

     ,{
       "properties": {
         "lenses": {
           "0": {
             "order": 0,
             "parts": {
               "0": {
                 "position": {
                   "x": 0,
                   "y": 0,
                   "colSpan": 4,
                   "rowSpan": 6
                 },
                 "metadata": {
                   "inputs": [
                     {
                       "name": "resourceGroup",
                       "isOptional": true
                     },
                     {
                       "name": "id",
                       "value": "[resourceGroup().id]",
                       "isOptional": true
                     }
                   ],
                   "type": "Extension/HubsExtension/PartType/ResourceGroupMapPinnedPart"
                 }
               },
               "1": {
                 "position": {
                   "x": 4,
                   "y": 0,
                   "rowSpan": 3,
                   "colSpan": 4
                 },
                 "metadata": {
                   "inputs": [],
                   "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                   "settings": {
                     "content": {
                       "settings": {
                         "content": "__Customizations__\n\nUse this dashboard to create and share the operational views of services critical to the application performing. To customize simply pin components to the dashboard and then publish when you're done. Others will see your changes when you publish and share the dashboard.\n\nYou can customize this text too. It supports plain text, __Markdown__, and even limited HTML like images <img width='10' src='https://portal.azure.com/favicon.ico'/> and <a href='https://azure.microsoft.com' target='_blank'>links</a> that open in a new tab.\n",
                         "title": "Operations",
                         "subtitle": "[resourceGroup().name]"
                       }
                     }
                   }
                 }
               }
             }
           }
         },
         "metadata": {
           "model": {
             "timeRange": {
               "value": {
                 "relative": {
                   "duration": 24,
                   "timeUnit": 1
                 }
               },
               "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
             }
           }
         }
       },
       "apiVersion": "2015-08-01-preview",
       "name": "[concat('ARM-',resourceGroup().name)]",
       "type": "Microsoft.Portal/dashboards",
       "location": "[resourceGroup().location]",
       "tags": {
         "hidden-title": "[concat('OPS-',resourceGroup().name)]"
       }
     }
    
  2. 리소스 그룹을 다시 배포합니다.Redeploy your resource group. Azure Portal에서 대시보드를 살펴보고, 공유 대시보드가 선택 목록에 추가되었는지 확인합니다.Look at your dashboard on the Azure portal, and notice the shared dashboard has been added to your list of choices.

    사용자 지정 대시보드

  3. 대시보드를 선택합니다.Select the dashboard.

    사용자 지정 대시보드

RBAC 그룹을 사용하여 대시보드에 대한 액세스를 관리할 수 있습니다.You can manage access to the dashboard by using RBAC groups. 또한 배포 후 대시보드의 모양을 사용자 지정할 수 있습니다.You can also customize the dashboard's appearance after it's deployed. 그러나 리소스 그룹을 다시 배포하는 경우 대시보드는 템플릿에서 기본 상태로 다시 설정됩니다.However, if you redeploy the resource group, the dashboard is reset to its default state in your template. 대시보드 만들기에 대한 자세한 내용은 Azure 대시보드를 프로그래밍 방식으로 만들기를 참조하세요.For more information about creating dashboards, see Programmatically create Azure Dashboards.

다음 단계Next steps

이 빠른 시작에서는 Visual Studio를 사용하여 템플릿을 만들고 배포하는 방법을 알아보았습니다.In this quickstart, you learned how to create and deploy templates using Visual Studio. 다음 자습서에서는 템플릿 참조에서 정보를 찾아 암호화된 Azure Storage 계정을 만드는 방법을 보여 줍니다.The next tutorial shows you how to find the information from template reference so you can create an encrypted Azure Storage account.