次の方法で共有


デプロイメント・ボタンを使用してリモート・テンプレートをデプロイする

この記事では、 [ Azure にデプロイ] ボタンを使用して、GitHub リポジトリまたは Azure ストレージ アカウントからリモート ARM JSON テンプレートをデプロイする方法について説明します。 このボタンは、GitHub リポジトリの README.md ファイルに直接追加できます。 または、リポジトリを参照する Web ページにボタンを追加することもできます。 この方法では、リモート Bicep ファイルのデプロイはサポートされていません。

デプロイのスコープは、テンプレート スキーマによって決まります。 詳細については、以下を参照してください。

必要なアクセス許可

Bicep ファイルまたは ARM テンプレートをデプロイするには、デプロイ対象のリソースに対する書き込みアクセス権が必要であり、さらに、Microsoft.Resources/deployments リソース タイプでのすべての操作に対するアクセス権が必要です。 たとえば、仮想マシンをデプロイするには、Microsoft.Compute/virtualMachines/write および Microsoft.Resources/deployments/* アクセス許可が必要です。 What-If 操作のアクセス許可要件も同じです。

ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。

一般的な画像を使用する

ボタンを Web ページまたはリポジトリに追加するには、次のイメージを使用します。

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

イメージは次のように表示されます。

[Azure にデプロイ] ボタンのスクリーンショット。

テンプレートをデプロイするためのURLを作成する

このセクションでは、GitHub と Azure ストレージ アカウントに格納されているテンプレートの URL を取得する方法と、URL を書式設定する方法を示します。

GitHubに保存されたテンプレート

テンプレートの URL を作成するには、GitHub リポジトリ内のテンプレートの未加工の URL から始めます。 未加工の URL を表示するには、「 未加工」を選択します。

GitHub で Raw を選択する方法を示すスクリーンショット。

URL の形式は次のとおりです。

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

プライベート GitHub リポジトリに格納されているテンプレートをデプロイするか、リンクされたテンプレートを参照するには、「 カスタムおよびセキュリティで保護された Azure Portal オファリングの作成」に記載されているカスタム ソリューションを参照してください。 GitHub トークンを Azure Key Vault からプルする Azure 関数を作成できます。

GitHub リポジトリではなく Azure Repos で Git を使用している場合でも、 [ Azure へのデプロイ ] ボタンを使用できます。 リポジトリが公開されていることを確認してください。 Items 操作を使用してテンプレートを取得します。 リクエストは次の形式で指定する必要があります。

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

Azure ストレージ アカウントに格納されたテンプレート

パブリックコンテナに格納されるテンプレートの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 リポジトリまたは Web ページの 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>

Git と Azure リポジトリの場合、ボタンの形式は次のとおりです。

[![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)

テンプレートをデプロイする

完全なソリューションをテストするには、次のボタンを選択します。

リンク付きの [Azure にデプロイ] ボタンのスクリーンショット。

ポータルには、パラメーター値を簡単に指定できるウィンドウが表示されます。 パラメーターには、テンプレートのデフォルト値が事前に入力されています。 テンプレートで定義されているキャメルケースのパラメーター名 storageAccountType は、ポータルに表示されるときにスペース区切りの文字列に変換されます。

パラメーター値を指定するための Azure portal の表示ウィンドウのスクリーンショット。

次のステップ