배포 단추를 사용하여 원격 템플릿 배포

이 문서에서는 Azure에 배포 단추를 사용하여 GitHub 리포지토리 또는 Azure Storage 계정에서 원격 ARM JSON 템플릿을 배포하는 방법을 설명합니다. GitHub 리포지토리의 README.md 파일에 바로 단추를 추가할 수 있습니다. 또는 리포지토리를 참조하는 웹 페이지에 단추를 추가할 수 있습니다. 이 방법은 원격 Bicep 파일 배포를 지원하지 않습니다.

배포 범위는 템플릿 스키마에 따라 결정됩니다. 자세한 내용은 다음을 참조하세요.

필요한 사용 권한

Bicep 파일 또는 ARM 템플릿을 배포하려면 배포하는 리소스에 대한 쓰기 액세스 및 Microsoft.Resources/deployments 리소스 형식의 모든 작업에 대한 액세스가 필요합니다. 예를 들어 가상 머신을 배포하려면 Microsoft.Compute/virtualMachines/writeMicrosoft.Resources/deployments/* 권한이 필요합니다. 가상 작업에는 동일한 사용 권한 요구 사항이 있습니다.

역할 및 사용 권한 목록은 Azure 기본 제공 역할을 참조하세요.

일반 이미지 사용

웹 페이지 또는 리포지토리에 단추를 추가하려면 다음 이미지를 사용합니다.

![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>

이미지는 다음과 같이 표시됩니다.

Screenshot of Deploy to Azure button.

템플릿 배포용 URL 만들기

이 섹션에서는 GitHub 및 Azure Storage 계정에 저장된 템플릿의 URL을 가져오는 방법과 URL 형식을 지정하는 방법을 보여 줍니다.

GitHub에 저장된 템플릿

템플릿의 URL을 만들려면 GitHub 리포지토리의 템플릿에 대한 원시 URL로 시작합니다. 원시 URL을 보려면 원시를 선택합니다.

Screenshot showing how to select Raw in GitHub.

URL 형식은 다음과 같습니다.

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json

참고 항목

템플릿을 배포하거나 프라이빗 GitHub 리포지토리에 저장된 연결된 템플릿을 참조하려면 사용자 지정 및 보안 Azure Portal 제품 만들기에 설명된 사용자 지정 솔루션을 참조하세요. Azure Key Vault에서 GitHub 토큰을 가져오는 Azure 함수를 만들 수 있습니다.

GitHub 리포지토리 대신 Azure Repos Git를 사용하는 경우 Azure에 배포 단추를 계속 사용할 수 있습니다. 리포지토리가 공용인지 확인합니다. 항목 작업을 사용하여 템플릿을 가져옵니다. 요청의 형식은 다음과 같아야 합니다.

https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0

Azure Storage 계정에 저장된 템플릿

공용 컨테이너에 저장된 템플릿의 URL 형식은 다음과 같습니다.

https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}

예시:

https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json

SAS 토큰으로 템플릿을 보호할 수 있습니다. 자세한 내용은 SAS 토큰을 사용하여 프라이빗 ARM 템플릿을 배포하는 방법을 참조하세요. 다음 URL은 SAS 토큰이 있는 예입니다.

https://demostorage0215.blob.core.windows.net/privatecontainer/azuredeploy.json?sv=2019-07-07&sr=b&sig=rnI8%2FvKoCHmvmP7XvfspfyzdHjtN4GPsSqB8qMI9FAo%3D&se=2022-02-16T17%3A47%3A46Z&sp=r

URL 형식 지정

URL이 있으면 URL을 URL 인코딩 값으로 변환해야 합니다. 온라인 인코더를 사용하거나 명령을 실행할 수 있습니다. 다음 PowerShell 예제에는 URL로 값을 인코딩하는 방법이 나와 있습니다.

$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)

URL을 인코딩할 때 예제 URL의 값은 다음과 같습니다.

https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

각 링크는 동일한 기준 URL로 시작합니다.

https://portal.azure.com/#create/Microsoft.Template/uri/

URL로 인코딩된 템플릿 링크를 기본 URL의 끝에 추가합니다.

https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

사용자에게는 링크의 전체 URL이 있습니다.

Azure 단추에 배포 만들기

마지막으로 링크와 이미지를 함께 배치합니다.

GitHub 리포지토리 또는 웹 페이지의 README.md 파일에서 Markdown을 사용하여 단추를 추가하려면 다음을 사용합니다.

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json)

HTML의 경우 다음을 사용합니다.

<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json" target="_blank">
  <img src="https://aka.ms/deploytoazurebutton"/>
</a>

Azure Repos Git의 경우 단추의 형식은 다음과 같습니다.

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fdev.azure.com%2Forgname%2Fprojectname%2F_apis%2Fgit%2Frepositories%2Freponame%2Fitems%3FscopePath%3D%2freponame%2fazuredeploy.json%26api-version%3D6.0)

템플릿 배포

전체 솔루션을 테스트하려면 다음 단추를 선택합니다.

Screenshot of Deploy to Azure button with link.

포털에는 매개 변수 값을 쉽게 입력할 수 있는 창이 표시됩니다. 매개 변수는 템플릿의 기본값으로 미리 채워져 있습니다. 템플릿에 정의된 카멜식 대/소문자 매개 변수 이름 storageAccountType은 포털에 표시될 때 공백으로 구분된 문자열로 바뀝니다.

Screenshot of Azure portal displaying pane for providing parameter values.

다음 단계