カスタムテンプレートのデプロイを利用したAzure VM作成手順(ダウンロードしたARMテンプレートを利用)
“カスタムテンプレートのデプロイ"を使用して、同じ状態のリソースを再デプロイする手順です。
リソース作成時の"Automationのテンプレートをダウンロードする"を利用して取得したARMテンプレートを使っています。
Azure Portalでリソースをデプロイする際、確認画面に"Automationのテンプレートをダウンロードする"というリンクが表示されます。
このリンクをクリックすると、対象リソースをデプロイするためのAzure ARMテンプレートファイルをダウンロードできます。
ダウンロードしたARMテンプレートを利用して、同じ設定状態でリソースを再度デプロイすることが可能です。
今回は、仮想マシン(Azure VM)を例に、"カスタムテンプレートのデプロイ"を使用した場合の手順を確認しています。
※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※リソース名など、同じ設定を再利用できない場合があります。
Azure Resource Manager(ARM) テンプレートについて
Azure Resource Manager(ARM)とは
Azure Resource Managerは、Azureのデプロイおよび管理を担うサービスです。
Azure内で使用するリソース(仮想マシン、ストレージアカウント、ネットワークなど)を一貫して定義・管理するためのレイヤー(層)として機能します。
一般的に、Azure Resource Managerは、リソースの作成・更新・削除といった操作を一元的に管理する役割を担っています。
Azure PortalやAPI経由でリソース管理要求を受け付け、実際のリソースを作成・管理することが可能となります。
Azure Resource Manager(ARM) テンプレートとは
Azure上のリソース構成を記述するためのJSON形式のファイルです。
ARMテンプレートを利用することで、仮想マシンやストレージアカウント、ネットワークなど、Azureリソースの作成・構成をコードとして宣言的に定義できます。
ARMテンプレートを使うメリットは、インフラ環境を一貫性・再現性をもって素早く構築できる点にあります。
同じリソース構成を何度でも繰り返しデプロイしたり、バージョン管理や自動化の仕組みとの連携が容易になります。
Azure Resource Manager(ARM) テンプレートのエクスポート方法
ARMテンプレートをエクスポートする方法はいくつかあります。
Azureリソースの現在の状態(構成)を表現するためのARMテンプレートと、リソースデプロイメント時に使用するためのARMテンプレートがあります。
デプロイ履歴からも、リソース作成時に利用したARMテンプレートをダウンロードできます。
エクスポート方法 | 出力対象 | 出力内容 |
リソースグループにある"テンプレートのエクスポート"のメニューを使う | リソースグループ内にあるリソースに関するARMテンプレート | リソース状態(構成)に関するARMテンプレート |
各リソースにある"テンプレートのエクスポート"のメニューを使う | 該当リソースに関するARMテンプレートテンプレート | リソース状態(構成)に関するARMテンプレート |
リソースグループにある"デプロイ"のメニューを使う (デプロイ履歴) |
リソースデプロイ時のARMテンプレート (過去にリソースグループ内でデプロイした内容) |
デプロイメントに関するARMテンプレート |
リソース作成時の"Automationのテンプレートをダウンロードする"を使う | リソースデプロイ時のARMテンプレート | デプロイメントに関するARMテンプレート |
今回は、"Automation のテンプレートをダウンロードする"のリンクを利用してエクスポートしたARMテンプレートを用い、仮想マシンをデプロイします。
リソースグループのデプロイ画面からARMテンプレートをダウンロードする方法については、こちらで紹介しています。
PowerShellを使ったARMテンプレートのエクスポート方法については、こちらで紹介しています。
—広告—
Azure Resource Manager(ARM) テンプレートのエクスポートからカスタムデプロイまで
仮想マシン作成の確認画面から"Automation のテンプレートをダウンロードする"リンクを利用して、ARMテンプレートをダウンロードします。
”Automationのテンプレートをダウンロードする”を使ってARMテンプレートをエクスポート
“Automation のテンプレートをダウンロードする"を利用し、ARMテンプレートをエクスポートします。
ダウンロードしたZIPファイルにはtemplate.jsonとparameters.jsonの2つのファイルが含まれる
ダウンロードしたZIPファイルには、template.jsonとparameters.jsonの2つのファイルが含まれます。
-
- template.json
- リソース作成内容を定義するARMテンプレート。
- 仮想マシン、パブリックIP、ネットワークインターフェースなどのリソース定義が含まれる
- parameters.json
- template.jsonで利用されるパラメーターを定義するファイル
- 仮想マシン名、パブリックIP名、ネットワークインターフェース名など、各リソースのパラメーターが含まれる
- template.json
カスタムテンプレートのデプロイを使った場合の手順
ARMテンプレートを使ったデプロイ方法には、いくつかの手順があります。
今回は、Azureポータルの"カスタムテンプレートのデプロイ"機能を利用した手順を確認します。
test-vm-02という仮想マシンをデプロイした際にダウンロードしたARMテンプレートを流用し、一部変更を加えてtest-vm-03としてデプロイします。
作成した仮想マシンの設定を確認
作成した仮想マシンの設定を比較します。
test-vm-03は、test-vm-02のデプロイ時に使用したARMテンプレートを利用してデプロイした仮想マシンです。
同じ設定内容でデプロイされていることが確認できます。
作成した仮想マシンの設定 | |
![]() |
![]() |
—広告—
最後に
ARMテンプレートを使用した仮想マシンのデプロイ手順を確認しました。
ARMテンプレートを活用することで、同じ構成のリソースを簡単かつ効率的にデプロイできることが分かりました。
今回は仮想マシンを例にしましたが、他のAzureリソースについても同様に、テンプレートのダウンロードからカスタムデプロイまで対応可能です。
検証環境などで同じリソースを頻繁に削除・再作成する場合や、複数台の仮想マシンを一括でデプロイする場合などに、非常に便利な手法です。
引き続き、いろいろ試してみたいと思います。
テンプレートスペックを利用した場合の手順については、こちらで紹介しています。
Terraform利用した仮想マシンの作成手順は、こちらで紹介しています。
PowerShellを使ったARMテンプレートエクスポート手順は、こちらで紹介しています。