次の方法で共有


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

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

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

[前提条件]

必要なアクセス許可

Bicep ファイルまたは Azure Resource Manager (ARM) テンプレートをデプロイするには、デプロイするリソースに対する書き込みアクセス権と、Microsoft.Resources/deployments リソースの種類に対するすべての操作へのアクセス権が必要です。 たとえば、仮想マシンをデプロイするには、Microsoft.Compute/virtualMachines/writeMicrosoft.Resources/deployments/* アクセス許可が必要です。 What-If 操作のアクセス許可要件も同じです。

Azure CLIバージョン 2.76.0 以降 および Azure PowerShell バージョン 13.4.0 以降では、このプロセス中に ARM がBicep テンプレートをどの程度徹底的に検証するかを判断する ValidationLevel スイッチが導入されています。 詳細については、「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オファリングの作成に記載されているカスタム ソリューションを参照してください。 Azure Key VaultからGitHubトークンをプルするAzure関数を作成できます。

GitHub リポジトリの代わりに Git と Azure Repos を使用している場合は、引き続き Deploy to 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>

Azure リポジトリを含む 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)

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

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

[Azureに配置] ボタンのスクリーンショット (リンク付).

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

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

次のステップ