ARM テンプレート使用して DevTest Labs 仮想マシンを作成する

Azure Resource Manager (ARM) テンプレートを使用して、Azure DevTest Labs で構成済みの Azure 仮想マシン (VM) を作成できます。

Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。

単一 VM ARM テンプレートでは、リソースの種類 Microsoft.DevTestLab/labs/virtualmachines が使用されます。 このリソースの種類で作成された各 VM は、ラボの [自分の仮想マシン] の一覧に個別の項目として表示されます。

独自の単一 VM ARM テンプレートを作成したり、構成済みのテンプレート用のパブリック DevTest Labs GitHub リポジトリにアクセスしたり、ニーズに合わせて既存の ARM テンプレートを変更したりできます。 ラボ ユーザーは、Azure ARM テンプレートを使用して Azure VM を作成およびデプロイできます。

この記事では、次の方法について説明します。

  • Azure VM の ARM テンプレートを表示、編集、保存する。
  • ソース管理リポジトリに ARM テンプレートを格納する。
  • ARM テンプレート リポジトリを Azure DevTest Labs に接続して、ラボ ユーザーがテンプレートにアクセスできるようにする。

VM の ARM テンプレートを表示、編集、保存する

任意の Azure VM ベースから ARM テンプレートをカスタマイズして使用して、DevTest Labs で同じ種類の VM をさらにデプロイできます。

  1. ラボの [概要] ページで、上部のツール バーの [追加] を選択します。

  2. [ベースの選択] ページで、目的の VM の種類を選びます。

  3. [ラボ リソースの作成] ページで、設定を構成し、テンプレート VM に目的の成果物を追加します。

  4. [詳細設定] タブで、[ARM テンプレートの表示] を選択します。

  5. VM をさらに作成するのに使用する ARM テンプレートをコピーして保存します。

    後の使用に備えて保存するための ARM テンプレートを示すスクリーンショット。

  6. VM のインスタンスを今すぐ作成するには、[基本設定] タブで [作成] を選択します。

VM の有効期限を設定する

トレーニング、デモ、試用などのシナリオでは、コストが発生し続けないように、特定の日付以降に VM を自動的に削除できます。 Azure portal からラボ VM を作成する場合は、[詳細設定] タブで [有効期限] プロパティを指定することで、有効期限を設定できます。expirationDate プロパティを定義する ARM テンプレートについては、「有効期限を指定してラボで新しい仮想マシンを作成する」を参照してください。

Git リポジトリに ARM テンプレートを格納する

コードとしてのインフラストラクチャとコードとしての構成のベスト プラクティスとして、ソース管理に ARM テンプレートを格納します。 DevTest Labs では、GitHub または Azure Repos ソース管理リポジトリから ARM テンプレートを直接読み込むことができます。 その後、開発からテスト、実稼働環境まで、リリース サイクルを通してテンプレートを使用できます。

次のファイル構造を使用して、ソース管理リポジトリに ARM テンプレートを格納します。

  • メイン テンプレート ファイルに azuredeploy.json という名前を付けます。

  • ARM テンプレートを再利用するには、azuredeploy.jsonparameters セクションを更新する必要があります。 メイン テンプレート ファイルを編集することなく、パラメーターのみをカスタマイズする parameter.json ファイルを作成できます。 このパラメーター ファイルに azuredeploy.parameters.json という名前を付けます。

    JSON ファイルを使用してパラメーターをカスタマイズする

    パラメーター ファイルで、パラメーター _artifactsLocation_artifactsLocationSasToken を使用して、入れ子にされたテンプレートを自動的に管理するために parametersLink URI の値を構築できます。 入れ子にされたテンプレートの詳細については、「テスト環境向けに入れ子になった Azure Resource Manager テンプレートをデプロイする」を参照してください。

  • metadata.json という名前のファイルにテンプレートの表示名と説明を指定するメタデータを定義できます。

    {
      "itemDisplayName": "<template name>",
      "description": "<template description>"
    }
    

次のスクリーンショットは、リポジトリ内の一般的な ARM テンプレート フォルダー構造を示しています。

リポジトリ内の主要な ARM テンプレート ファイルを示すスクリーンショット。

ラボにテンプレート リポジトリを追加する

すべてのラボ ユーザーがテンプレートにアクセスできるよう、ラボにテンプレート リポジトリを追加します。

  1. ラボの [概要] ページで、左側のナビゲーションから [構成とポリシー] を選択します。

  2. [構成とポリシー] ページで、左側のナビゲーションの [外部リソース] の下にある [リポジトリ] を選択します。

    [リポジトリ] 画面で、すべてのラボに対して [パブリック成果物リポジトリ][パブリック環境リポジトリ] が自動的に表示され、DevTest Labs のパブリック GitHub リポジトリに接続されます。 ラボでこれらのリポジトリが有効になっていない場合は、[パブリック成果物リポジトリ][パブリック環境リポジトリ] の横にあるチェックボックスをオンにし、上部のメニュー バーの [有効にする] を選択することで、有効化できます。 詳細については、「パブリック環境の有効化と構成」を参照してください。

  3. ラボにプライベート ARM テンプレート リポジトリを追加するには、上部のメニュー バーで [追加] を選択します。

    リポジトリの構成画面を示すスクリーンショット。

  4. [リポジトリ] ウィンドウで、次の情報を入力します。

    • [Name]/(名前)/:ラボで使用するリポジトリ名を入力します。
    • [Git clone URL]/ :GitHub または Azure Repos から Git HTTPS クローン URL を入力します。
    • 分岐 (省略可能): ARM テンプレート定義を含む分岐を入力します。
    • 個人用アクセス トークン: リポジトリに安全にアクセスするために、個人用アクセス トークンを入力します。
      • Azure Repos からトークンを取得するには、[ユーザー設定]>[個人用アクセス トークン] を選択します。
      • GitHub からトークンを取得するには、自分のプロファイルで、[設定]>[開発者向け設定]>[個人用アクセス トークン] を選択します。
    • フォルダー パス: Git クローン URI を基準に、ARM テンプレート定義のフォルダーを入力します。
  5. [保存] を選択します。

    ラボへの新しいテンプレート リポジトリの追加を示すスクリーンショット。

これで、ラボの [リポジトリ] 一覧にリポジトリが表示されます。 ユーザーは、リポジトリ テンプレートを使用して、マルチ VM DevTest Labs 環境を作成できるようになりました。 ラボ管理者は、このテンプレートを使用して、ラボのデプロイ タスクと管理タスクを自動化できます。

同じテンプレートから複数の VM を一度に作成するにはどうすればよいですか。

同じテンプレートから複数の VM を一度に作成する場合、次の 2 つのオプションがあります。

次の手順