Azure DevTest Labs での Azure Resource Manager (ARM) テンプレート
Azure DevTest Labs では、ラボや仮想マシン (VM) の作成とプロビジョニングからユーザーの追加まで、多くのタスクに Azure Resource Manager (ARM) テンプレートを使用できます。
Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。
DevTest Labs では次のことができます。
ARM クイックスタート テンプレートを使用して、仮想マシン (VM) にラボをデプロイします。
さまざまなタスクに使用する独自の ARM テンプレートを作成します。 ARM テンプレートの作成とデプロイに関する手順に従い、必要に応じてサンプル テンプレートを変更します。
パブリック DevTest Labs GitHub リポジトリに格納されている構成済みの ARM テンプレートやスクリプトにアクセスします。そのまま使うこともカスタマイズすることもできます。
パブリックやプライベートのテンプレート リポジトリを DevTest Labs に接続して、ラボ ユーザーがテンプレートを使って独自のリソースや環境を作成および管理できるようにします。
利用できる任意の Azure VM ベース イメージから ARM テンプレートを使用して、VM またはカスタム イメージをさらに作成します。
ARM 環境テンプレートを使用して、複数の VM とサービスとしてのインフラストラクチャ (IaaS) またはサービスとしてのプラットフォーム (PaaS) で DevTest Labs 環境を作成します。
ARM テンプレートと Azure PowerShell または Azure CLI の自動化を使用して、ラボ、環境、VM を作成、デプロイ、管理します。
単一の VM と環境のテンプレート
DevTest Labs では、多くの場合、VM の作成に ARM テンプレートを使います。 DevTest Labs で VM を作成するには、2 つの方法があります。 各方法は異なるシナリオに使われ、異なるアクセス許可が必要です。 ARM テンプレートの resource
プロパティで、使う方法を宣言します。
Microsoft.Compute/virtualmachines 環境のテンプレート
Microsoft.Compute/virtualmachines リソースの種類を使用する ARM テンプレートでは、複数のラボ VM と PaaS リソースが、SharePoint ファームなどの 1 つの環境にプロビジョニングされます。 ラボ ユーザーは、これらのテンプレートを使って、複数の VM を含む環境を作成できます。 このリソースの種類で作成された VM は、ラボの [私の環境] の一覧で環境の下に表示されます。
環境テンプレートの構成と使用の詳細と手順については、「ARM テンプレートを使用して DevTest Labs 環境を作成する」をご覧ください。
Microsoft.DevTestLab/labs/virtualmachines 単一 VM テンプレート
Microsoft.DevTestLab/labs/virtualmachines リソースの種類を使用する ARM テンプレートでは、個別の VM 構成がプロビジョニングされます。 このリソースの種類で作成された各 VM は、ラボの [自分の仮想マシン] の一覧に個別の項目として表示されます。 これらのテンプレートで VM を作成してデプロイするには、Azure portal からクイックスタート テンプレートを使用できます。 Azure PowerShell または Azure CLI を使って VM のデプロイを自動化することもできます。
ARM クイックスタート テンプレート
ARM テンプレートを使って Windows Server VM で DevTest Labs のラボをすばやく作成するには、「クイックスタート: ARM テンプレートを使用して DevTest Labs でラボを作成する」の手順のようにします。
または、Azure portal から DevTest Labs のクイックスタート テンプレートにアクセスするには:
- Azure portal で、[カスタム テンプレートのデプロイ] を見つけて選びます。
- [カスタムデプロイ] 画面で、[クイックスタート テンプレート] が選ばれていることを確認し、[クイックスタート テンプレート (免責事項)] の横にあるドロップダウン矢印を選びます。
- フィルター ボックスに「devtest」 と入力して、ポップアップ リストから dtl-create-lab-windows-vm-claimed テンプレートまたは他のクイックスタート テンプレートを選びます。
- [テンプレートの選択] を選びます。 [テンプレートの編集] を選んでテンプレートを変更することもできます。
ARM テンプレートの自動化
ラボ管理者は、Azure CLI または Azure PowerShell を使って ARM テンプレートをデプロイして、VM の作成と管理を自動化できます。
Azure CLI で ARM テンプレートを使って VM の作成を自動化するには、コマンド az lab vm create と az deployment group create を使います。 詳細と手順については、Resource Manager テンプレートと Azure CLI を使用したリソースのデプロイに関する記事をご覧ください。
Azure PowerShell で ARM テンプレートを使って VM をプロビジョニングするには、New-AzResource と New-AzResourceGroupDeployment を使います。
Note
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
ラボ管理者は、ARM テンプレートをデプロイして、クレーム可能なラボ VM またはイメージ ファクトリのゴールデン イメージを作成できます。 PowerShell で VM をプロビジョニングするには、管理者のアクセス許可が必要です。 その後、ラボ ユーザーはカスタム イメージを使って VM インスタンスを作成できます。 詳細と手順については、Azure PowerShell での DevTest Labs VM の作成に関する記事をご覧ください。
ARM テンプレートと PowerShell を使うと、他にもいくつかの一般的な DevTest Labs のタスクを自動化できます。
- PowerShell を使用して VHD ファイルからカスタム イメージを作成する
- PowerShell を使用してラボのストレージ アカウントに VHD ファイルをアップロードする
- PowerShell を使用して、ラボに外部ユーザーを追加します。
- PowerShell を使用してラボ カスタム ロールを作成する
ラボ管理者は、ARM 環境テンプレートのデプロイを自動化して、開発環境とテスト環境を完全に管理することもできます。 詳細と手順については、「環境の作成を自動化する」をご覧ください。
次の手順
- Azure Resource Manager テンプレートの作成のベスト プラクティスに関する記事には、信頼性が高く使いやすい ARM テンプレートを作成するためのガイドラインと提案があります。
- Resource Manager テンプレートと Azure PowerShell でのリソースのデプロイに関する記事には、Azure PowerShell と ARM テンプレートの使用についての一般的な情報があります。
- パブリック DevTest Labs GitHub リポジトリには、そのまま使うことも、必要に応じてカスタマイズすることもできる、構成済みのクイックスタート ARM テンプレート、PowerShell スクリプト、成果物、環境があります。
- Azure クイックスタート テンプレート ギャラリーでは、ARM テンプレートをさらに調べることができます。