자습서: ARM 템플릿 참조 활용
템플릿 스키마 정보를 찾고, 그 정보를 사용하여 ARM 템플릿(Azure Resource Manager 템플릿)을 만드는 방법을 알아봅니다.
이 자습서에서는 Azure 빠른 시작 템플릿의 기본 템플릿을 사용합니다. 템플릿 참조 설명서를 사용하여 템플릿의 유효성을 검사합니다.
이 자습서에서 다루는 작업은 다음과 같습니다.
- 빠른 시작 템플릿 열기
- 템플릿 이해
- 템플릿 참조 찾기
- 템플릿 편집
- 템플릿 배포
Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
사전 요구 사항
이 문서를 완료하려면 다음이 필요합니다.
- Resource Manager 도구 확장이 포함된 Visual Studio Code. 빠른 시작: Visual Studio Code를 사용하여 ARM 템플릿 만들기를 참조하세요.
빠른 시작 템플릿 열기
Azure 빠른 시작 템플릿은 ARM 템플릿용 리포지토리입니다. 템플릿을 처음부터 새로 만드는 대신 샘플 템플릿을 찾아서 사용자 지정할 수 있습니다. 이 빠른 시작에서 사용되는 템플릿은 표준 스토리지 계정 만들기라고 합니다. 이 템플릿은 Azure Storage 계정 리소스를 정의합니다.
Visual Studio Code에서 파일>파일 열기를 차례로 선택합니다.
파일 이름에서 다음 URL을 붙여넣습니다.
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
열기를 선택하여 파일을 엽니다.
파일>이름으로 저장을 차례로 선택하여 파일을 azuredeploy.json으로 저장합니다.
스키마 이해
Visual Studio Code에서 템플릿을 루트 수준으로 축소합니다. 다음 요소가 포함된 가장 간단한 구조가 표시됩니다.
$schema
: 템플릿 언어의 버전을 설명하는 JSON 스키마 파일의 위치입니다.contentVersion
: 템플릿의 중대한 변화를 나타내도록 이 요소의 값을 지정합니다.metadata
: 템플릿의 메타데이터를 지정합니다.parameters
: 배포를 실행하여 리소스 배포를 사용자 지정할 때 제공되는 값을 지정합니다.variables
: 템플릿에서 템플릿 언어 식을 단순화하는 JSON 조각으로 사용되는 값을 지정합니다. 이 템플릿에는 이 요소가 포함되어 있지 않습니다.resources
: 리소스 그룹에 배포 또는 업데이트되는 리소스 종류를 지정합니다.outputs
: 배포 후 반환되는 값을 지정합니다.
resources
를 확장합니다.Microsoft.Storage/storageAccounts
리소스가 정의되어 있습니다. 스크린샷에 표시된 API 버전은 2022-09-01입니다. SKU 이름은 매개 변수 값을 사용합니다. 이 매개 변수를storageAccountType
이라고 합니다.storageAccountType
정의 방법을 보기 위해parameters
를 확장합니다. 매개 변수에는 8개의 허용 값이 있습니다.
템플릿 참조를 통해 최신 API 버전을 사용 중인지, 매개 변수 정의에 허용된 값이 모두 포함되어 있는지 확인할 수 있습니다.
템플릿 참조 찾기
Azure 템플릿 참조로 이동합니다.
제목별 필터링 상자에 스토리지 계정을 입력하고 참조 > 스토리지에서 첫 번째 스토리지 계정을 선택합니다.
ARM 템플릿을 선택합니다.
리소스 종류에는 일반적으로 여러 API 버전이 있습니다. 이 페이지는 기본적으로 최신 템플릿 스키마 버전을 보여 줍니다. 버전을 보려면 최신 드롭다운 상자를 선택합니다. 스크린샷에 표시된 최신 버전은 2022-09-01입니다. 최신 버전을 보려면 최신 또는 최신 바로 아래에 있는 버전을 선택합니다. 이 버전이 템플릿의 스토리지 계정 리소스에 사용되는 버전과 일치하는지 확인합니다. API 버전을 업데이트하는 경우 리소스 정의가 템플릿 참조와 일치하는지 확인합니다.
이 페이지에는 storageAccount 리소스 종류의 세부 정보가 나열되어 있습니다. 예를 들어 Sku 개체에 대해 허용되는 값을 나열합니다. 8개의 SKU가 있으며 이는 앞서 연 빠른 시작 템플릿에 나열된 것과 일치합니다.
템플릿 배포
Azure Cloud Shell에 로그인
왼쪽 위 모서리에서 PowerShell 또는 Bash(CLI용)를 선택하여 기본 환경을 선택합니다. 전환하는 경우 셸을 다시 시작해야 합니다.
파일 업로드/다운로드를 선택한 다음, 업로드를 선택합니다. 이전 스크린샷을 참조하세요. 이전 섹션에서 저장한 파일을 선택합니다. 파일을 업로드한 후
ls
명령 및cat
명령을 사용하여 파일이 성공적으로 업로드되었는지 확인할 수 있습니다.Cloud Shell에서 다음 명령을 실행합니다. 탭을 선택하여 PowerShell 코드 또는 CLI 코드를 표시합니다.
템플릿을 배포할 때 새로 추가된 값을 사용하여
storageAccountType
매개 변수를 지정합니다(예: Standard_RAGRS). Standard_RAGRS가 허용되는 값이 아니므로 원래 빠른 시작 템플릿을 사용하면 배포가 실패합니다.echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location "$location" && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters storageAccountType='Standard_RAGRS'
리소스 정리
Azure 리소스가 더 이상 필요하지 않은 경우 리소스 그룹을 삭제하여 배포한 리소스를 정리합니다.
- Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.
- 이름으로 필터링 필드에서 리소스 그룹 이름을 입력합니다.
- 해당 리소스 그룹 이름을 선택합니다. 리소스 그룹에 총 6개의 리소스가 표시됩니다.
- 위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.
다음 단계
이 자습서에서는 템플릿 참조를 사용하여 기존 템플릿을 사용자 지정하는 방법을 알아보았습니다. 여러 스토리지 계정 인스턴스를 만드는 방법을 알아보려면 다음을 참조하세요.