자습서: 첫 번째 ARM 템플릿 만들기 및 배포

이 자습서에서는 ARM 템플릿(Azure Resource Manager 템플릿)을 소개합니다. 시작 템플릿을 만들어 Azure에 배포하는 방법을 보여 줍니다. 템플릿 구조와 템플릿 작업에 필요한 도구에 대해 설명합니다. 이 지침은 완료하는 데 12분 정도 걸리지만, 실제 완료 시간은 설치해야 하는 도구 수에 따라 달라집니다.

이 자습서는 시리즈의 첫 번째 자습서입니다. 시리즈를 진행하면서 ARM 템플릿의 모든 핵심 부분을 살펴볼 때까지 시작 템플릿을 단계별로 수정합니다. 이러한 요소는 더 복잡한 템플릿의 구성 요소입니다. 시리즈가 끝날 때쯤에는 자신만의 템플릿을 만들고, 템플릿을 사용하여 배포를 자동화할 준비가 됩니다.

템플릿을 사용하면 얻을 수 있는 이점과 템플릿을 사용하여 배포를 자동화해야 하는 이유에 대해 알아보려면 ARM 템플릿 개요를 참조하세요. 단계별 Learn 모듈 세트를 통한 ARM 템플릿에 대한 자세한 내용은 JSON ARM 템플릿을 사용하여 Azure에서 리소스 배포 및 관리를 참조하세요.

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

ARM 템플릿을 처음 사용하는 경우 대신 Bicep 학습을 고려할 수 있습니다. Bicep은 ARM 템플릿과 동일한 기능을 제공하지만 사용하기 쉬운 구문을 제공하는 새로운 언어입니다. Bicep 학습을 시작하려면 빠른 시작: Visual Studio Code로 Bicep 파일 만들기를 참조하세요.

도구 가져오기

먼저 템플릿을 만들고 배포하는 데 필요한 도구가 있는지 확인합니다. 이러한 도구를 로컬 머신에 설치합니다.

편집기

템플릿은 JSON(JavaScript Object Notation) 파일입니다. 템플릿을 만들려면 적절한 JSON 편집기가 필요합니다. Azure Resource Manager 도구 확장이 있는 Visual Studio Code를 사용하는 것이 좋습니다. 이러한 도구를 설치해야 하는 경우 빠른 시작: Visual Studio Code를 사용하여 ARM 템플릿 만들기를 참조하세요.

명령줄 배포

템플릿을 배포하려면 Azure PowerShell 또는 Azure CLI(명령줄 인터페이스)도 필요합니다. Azure CLI를 사용하는 경우 버전 2.37.0 이상이 있어야 합니다. 설치 지침은 다음을 참조하세요.

Azure PowerShell 또는 Azure CLI가 설치되면 처음으로 로그인해야 합니다. 도움을 받으려면 로그인 - PowerShell 또는 로그인 - Azure CLI를 참조하세요.

Important

Azure CLI를 사용하는 경우 버전 2.37.0 이상이 있는지 확인합니다. Azure PowerShell을 사용하는 경우 버전 7.2.4 이상이 있는지 확인합니다. 이전 버전을 사용하는 경우 이 자습서에 표시된 명령이 작동하지 않습니다. az --version을 실행하여 설치된 버전을 확인합니다.

이제 템플릿에 대한 학습을 시작할 준비가 되었습니다.

첫 번째 템플릿 만들기

  1. ARM 프로세스 도구 확장이 설치된 Visual Studio Code를 엽니다.

  2. 파일 메뉴에서 새 파일을 선택하여 새 파일을 만듭니다.

  3. 파일 메뉴에서 다른 이름으로 저장을 선택합니다.

  4. 파일 이름을 azuredeploy로 지정하고, json 파일 확장명을 선택합니다. 파일의 전체 이름은 azuredeploy.json입니다.

  5. 파일을 워크스테이션에 저장합니다. 나중에 템플릿을 배포할 때 해당 경로를 제공해야 하므로 기억하기 쉬운 경로를 선택합니다.

  6. 다음 JSON을 복사하여 파일에 붙여넣습니다.

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

    Visual Studio Code 환경은 다음과 같습니다.

    Screenshot of Visual Studio Code displaying an empty ARM template with JSON structure in the editor.

    이 템플릿은 리소스를 배포하지 않습니다. 빈 템플릿으로 시작하면 템플릿 배포 단계를 익히는 동시에 문제가 발생할 가능성을 최소화할 수 있습니다.

    JSON 파일에 있는 요소는 다음과 같습니다.

    • $schema: JSON 스키마 파일의 위치를 지정합니다. 스키마 파일은 템플릿 내에서 사용할 수 있는 속성을 설명합니다. 예를 들어 스키마는 resources를 템플릿의 유효한 속성 중 하나로 정의합니다. 스키마의 날짜가 2019-04-01이라는 것에 걱정하지 마세요. 이 스키마 버전은 최신 버전이며, 최신 기능이 모두 포함되어 있습니다. 도입된 이후 호환성이 손상되는 변경이 없었으므로 스키마 날짜가 변경되지 않았습니다.
    • contentVersion: 템플릿의 버전(예: 1.0.0.0)을 지정합니다. 이 요소에 값을 제공할 수 있습니다. 이 값을 사용하여 템플릿에서 중요한 변경 내용을 문서화할 수 있습니다. 템플릿을 사용하여 리소스를 배포할 때 이 값을 사용하여 올바른 템플릿을 사용하고 있는지 확인할 수 있습니다.
    • resources: 배포하거나 업데이트하려는 리소스가 포함됩니다. 현재 비어 있지만 나중에 리소스를 추가할 수 있습니다.
  7. 파일을 저장합니다.

축하합니다. 첫 번째 템플릿을 만들었습니다.

Azure에 로그인

Azure PowerShell 또는 Azure CLI를 사용하여 시작하려면 Azure 자격 증명으로 로그인합니다.

다음 코드 섹션에서 탭을 선택하여 Azure PowerShell과 Azure CLI 중 하나를 선택합니다. 이 문서의 CLI 예제는 Bash 셸에 대해 작성되었습니다.

Connect-AzAccount

Azure 구독이 여러 개 있는 경우 사용할 구독을 선택합니다. SubscriptionName을 구독 이름으로 바꿉니다. 구독 이름 대신 구독 ID를 사용할 수도 있습니다.

Set-AzContext SubscriptionName

리소스 그룹 만들기

템플릿을 배포하는 경우 리소스를 포함할 리소스 그룹을 지정할 수 있습니다. 배포 명령을 실행하기 전에 Bash Azure CLI 또는 Azure PowerShell을 사용하여 리소스 그룹을 만듭니다.

참고 항목

Azure CLI 샘플은 bash 셸용으로 작성됩니다. Windows PowerShell 또는 명령 프롬프트에서 이 샘플을 실행하려면 백 슬래시를 제거하고 명령을 다음과 같이 한 줄로 작성해야 할 수 있습니다.

az group create --name myResourceGroup --location "Central US"

New-AzResourceGroup `
  -Name myResourceGroup `
  -Location "Central US"

템플릿 배포

템플릿을 배포하려면 Azure CLI 또는 Azure PowerShell을 사용합니다. 만든 리소스 그룹을 사용합니다. 배포 이름은 배포 기록에서 쉽게 식별할 수 있도록 지정합니다. 편의를 위해 템플릿 파일의 경로를 저장하는 변수도 만듭니다. 해당 변수를 사용하면 배포할 때마다 경로를 다시 입력할 필요가 없기 때문에 배포 명령을 더 쉽게 실행할 수 있습니다. {provide-the-path-to-the-template-file} 및 중괄호 {}을(를) 템플릿 파일의 경로로 바꿉니다.

$templateFile = "{provide-the-path-to-the-template-file}"
New-AzResourceGroupDeployment `
  -Name blanktemplate `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

배포 명령에서 결과를 반환합니다. ProvisioningState를 찾아서 배포에 성공했는지 확인합니다.

참고 항목

배포에 실패한 경우 verbose 스위치를 사용하여 생성 중인 리소스에 대한 정보를 가져옵니다. 디버깅에 대한 자세한 정보를 보려면 debug 스위치를 사용합니다.

배포 확인

Azure Portal에서 리소스 그룹을 탐색하여 배포를 확인할 수 있습니다.

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 메뉴에서 리소스 그룹을 선택합니다.

  3. myResourceGroup 왼쪽에 있는 확인란을 선택하고 myResourceGroup을 선택합니다.

  4. 이전 절차에서 만든 리소스 그룹을 선택합니다. 기본 이름은 myResourceGroup입니다. 빈 템플릿을 배포했기 때문에 리소스 그룹에는 아직 리소스가 없습니다.

  5. 개요 중간에 있는 Essentials 섹션의 페이지에 배포 옆에 있는 배포 상태가 표시됩니다. 1 성공을 선택합니다.

    Screenshot of Azure portal showing the deployment status in the Essentials section of the resource group.

  6. 리소스 그룹에 대한 배포 기록이 표시됩니다. blanktemplate의 왼쪽에 있는 확인란을 선택하고 blanktemplate을 선택합니다.

    Screenshot of Azure portal displaying the deployment history with the blanktemplate deployment selected.

  7. 배포 요약이 표시됩니다. 이 경우 리소스가 배포되지 않았으므로 많은 내용이 표시되지 않습니다. 이 시리즈의 뒷부분에서는 배포 기록에서 요약을 검토하는 것이 도움이 될 수 있습니다. 왼쪽에서는 배포에 사용되는 입력, 출력 및 템플릿을 볼 수 있습니다.

    Screenshot of Azure portal showing the deployment summary for the blanktemplate deployment.

리소스 정리

다음 자습서로 이동하는 경우에는 리소스 그룹을 삭제할 필요가 없습니다.

지금 중지하는 경우 리소스 그룹을 삭제하는 것이 좋습니다.

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.

  2. 모든 필드에 대한 필터... 텍스트 필드에 리소스 그룹 이름을 입력합니다.

  3. myResourceGroup 옆에 있는 확인란을 선택하고 myResourceGroup 또는 리소스 그룹 이름을 선택합니다.

  4. 위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.

    Screenshot of Azure portal with the Delete resource group option highlighted in the resource group view.

다음 단계

Azure에 배포할 간단한 템플릿을 만들었습니다. 다음 자습서에서는 스토리지 계정을 템플릿에 추가하고 리소스 그룹에 배포하는 방법을 알아볼 수 있습니다.