Azure Resource Manager テンプレートを使用してマルチ VM 環境と PaaS リソースを作成するCreate multi-VM environments and PaaS resources with Azure Resource Manager templates

Azure Portal を使用すると、簡単に VM を作成してラボに追加することができます。The Azure portal enables you to easily create and add a VM to a lab. この方法は、一度に 1 つの VM を作成する場合に適してします。This works well for creating one VM at a time. ところが、環境に複数の VM が含まれる場合は、各 VM を個別に作成する必要があります。However, if the environment contains multiple VMs, each VM has to be individually created. 多層 Web アプリや SharePoint ファームのようなシナリオでは、シングル ステップで複数の VM を作成できるメカニズムが必要です。For scenarios such as a multi-tier Web app or a SharePoint farm, a mechanism is needed to allow for the creation of multiple VMs in a single step. Azure Resource Manager テンプレートを使用することで、Azure のソリューションのインフラストラクチャと構成を定義して、複数の VM を一貫した状態で繰り返しデプロイできるようになりました。By using Azure Resource Manager templates, you can now define the infrastructure and configuration of your Azure solution and repeatedly deploy multiple VMs in a consistent state. この機能には次のような利点があります。This feature provides the following benefits:

  • Azure Resource Manager テンプレートが、ソース管理リポジトリ (GitHub や Team Services Git) から直接読み込まれます。Azure Resource Manager templates are loaded directly from your source control repository (GitHub or Team Services Git).
  • 構成したら、ユーザーは、他の種類の VM ベースを使用してできることとして Azure Portal から Azure Resource Manager テンプレートを選択して環境を作成できます。Once configured, your users can create an environment by picking an Azure Resource Manager template from the Azure portal as what they can do with other types of VM bases.
  • Azure PaaS のリソースを、IaaS VM だけでなく Azure Resource Manager テンプレートから環境にプロビジョニングできます。Azure PaaS resources can be provisioned in an environment from an Azure Resource Manager template in addition to IaaS VMs.
  • 環境のコストを、他の種類のベースによって作成された個々の VM だけでなくラボで追跡できます。The cost of environments can be tracked in the lab in addition to individual VMs created by other types of bases.
  • PaaS のリソースが作成され、コスト管理に表示されます。ただし、VM の自動シャットダウンは PaaS リソースに適用されません。PaaS resources are created and will appear in cost tracking; however, VM auto shutdown does not apply to PaaS resources.
  • ユーザーは、単一のラボの VM と同じ VM ポリシー コントロールをさまざまな環境で使用できます。Users have the same VM policy control for environments as they have for single-lab VMs.

Resource Manager テンプレートを使用してラボのすべてのリソースを単一の操作でデプロイ、更新、または削除することには多くの利点があります。詳細については、こちらでご確認ください。Learn more about the many benefits of using Resource Manager templates to deploy, update, or delete all of your lab resources in a single operation.

注意

より多くのラボの VM を作成するためのベースとして Resource Manager テンプレートを使用する場合、マルチ VM を作成するか、単一 VM を作成するかでいくつかの違いがあることに注意してください。When you use a Resource Manager template as a basis to create more lab VMs, there are some differences to keep in mind whether you are creating Multi-VMs or single-VMs. その違いについては、「Use a virtual machine's Azure Resource Manager template」(仮想マシンの Azure Resource Manager テンプレートを使用する) で詳しく説明しています。Use a virtual machine's Azure Resource Manager template explains these differences in greater detail.

Azure Resource Manager テンプレート リポジトリを構成するConfigure Azure Resource Manager template repositories

コードとしてのインフラストラクチャとコードとしての構成のベスト プラクティスの 1 つとして、環境テンプレートをソース管理で管理する必要があります。As one of the best practices with infrastructure-as-code and configuration-as-code, environment templates should be managed in source control. Azure DevTest Labs は、このベスト プラクティスに従って、GitHub または VSTS の Git リポジトリから直接すべての Azure Resource Manager テンプレートを読み込みます。Azure DevTest Labs follows this practice and loads all Azure Resource Manager templates directly from your GitHub or VSTS Git repositories. その結果、Resource Manager のテンプレートは、テスト環境から運用環境まで、リリース サイクル全体で使用することができます。As a result, Resource Manager templates can be used across the entire release cycle, from the test environment to the production environment.

この場合、リポジトリ内で Azure Resource Manager テンプレートを整理するために従わなければならないルールがいくつかあります。There are a couple of rules to follow to organize your Azure Resource Manager templates in a repository:

  • マスター テンプレート ファイルの名前を azuredeploy.json にする必要があります。The master template file must be named azuredeploy.json.

    主要な Azure Resource Manager テンプレート ファイル

  • パラメーター ファイルで定義したパラメーター値を使用する場合は、パラメーター ファイルの名前を azuredeploy.parameters.json にする必要があります。If you want to use parameter values defined in a parameter file, the parameter file must be named azuredeploy.parameters.json.

  • _artifactsLocation_artifactsLocationSasToken のパラメーターを使用すると、parametersLink URI の値を構築できるため、DevTest Labs で入れ子にされたテンプレートを自動的に管理できるようになります。You can use the parameters _artifactsLocation and _artifactsLocationSasToken to construct the parametersLink URI value, allowing DevTest Labs to automatically manage nested templates. 詳細については、「How Azure DevTest Labs makes nested Resource Manager template deployments easier for testing environments」(Azure DevTest Labs を使用してテスト環境での入れ子にされた Resource Manager テンプレートのデプロイを簡単にする方法) を参照してください。See How Azure DevTest Labs makes nested Resource Manager template deployments easier for testing environments for more information.
  • メタデータを定義して、テンプレートの表示名と説明を指定することができます。Metadata can be defined to specify the template display name and description. このメタデータは、metadata.json はという名前のファイルに格納する必要があります。This metadata must be in a file named metadata.json. 次のメタデータ ファイルの例で、表示名と説明を指定する方法を示します。The following example metadata file illustrates how to specify the display name and description:
{

"itemDisplayName": "<your template name>",

"description": "<description of the template>"

}

次の手順では、Azure Portal を使用してラボにリポジトリを追加する方法を説明します。The following steps guide you through adding a repository to your lab using the Azure portal.

  1. Azure ポータルにサインインします。Sign in to the Azure portal.
  2. [その他のサービス] を選択し、一覧の [DevTest Labs] を選択します。Select More Services, and then select DevTest Labs from the list.
  3. ラボの一覧で目的のラボを選択します。From the list of labs, select the desired lab.
  4. ラボのブレードで、[Configuration and Policies (構成とポリシー)] を選択します。On the lab's blade, select Configuration and Policies.

    構成とポリシー

  5. [Configuration and Policies (構成とポリシー)] の設定一覧で、[リポジトリ] を選択します。From the Configuration and Policies settings list, select Repositories. [リポジトリ] ブレードには、ラボに追加されたリポジトリが一覧表示されます。The Repositories blade lists the repositories that have been added to the lab. Public Repo という名前のリポジトリがすべてのラボに自動的に生成され、複数の VM アーティファクトを格納する DevTest ラボ GitHub リポジトリに接続され、使用されます。A repository named Public Repo is automatically generated for all labs, and connects to the DevTest Labs GitHub repo that contains several VM artifacts for your use.

    Public Repo

  6. [追加+] を選択し、Azure Resource Manager テンプレートのリポジトリを追加します。Select Add+ to add your Azure Resource Manager template repository.

  7. 2 つ目の [リポジトリ] ブレードが開いたら、必要な情報を次のように入力します。When the second Repositories blade opens, enter the necessary information as follows:

    • 名前 - ラボで使用するリポジトリ名を入力します。Name - Enter the repository name that is used in the lab.
    • Git クローン URL - GitHub または Visual Studio Team Services の GIT HTTPS クローン URL を入力します。Git clone URL - Enter the GIT HTTPS clone URL from GitHub or Visual Studio Team Services.
    • 分岐 - Azure Resource Manager テンプレートの定義にアクセスするための分岐名を入力します。Branch - Enter the branch name to access your Azure Resource Manager template definitions.
    • 個人用アクセス トークン - 個人用アクセス トークンは、リポジトリに安全にアクセスするために使用されます。Personal access token - The personal access token is used to securely access your repository. Visual Studio Team Services からトークンを取得するには、<自分の名前>、[マイ プロファイル]、[セキュリティ]、[Public access token (パブリック アクセス トークン)] の順に選択します。To get your token from Visual Studio Team Services, select <YourName> > My profile > Security > Public access token. GitHub からトークンを入手するには、アバターを選択した後に、[設定]、[Public access token (パブリック アクセス トークン)] の順に選択します。To get your token from GitHub, select your avatar followed by selecting Settings > Public access token.
    • フォルダー パス - 2 つの入力フィールドのいずれかを使用して、アーティファクトの定義 (最初の入力フィールド) または Azure Resource Manager テンプレートの定義に、フォワード スラッシュ (/) で始まり、Git クローン URI に対して相対的なフォルダー パスを入力します。Folder paths - Using one of the two input fields, enter the folder path that starts with a forward slash - / - and is relative to your Git clone URI to either your artifact definitions (first input field) or your Azure Resource Manager template definitions.

      Public Repo

  8. すべての必須フィールドを入力し、検証に合格したら、[保存] を選択します。Once all the required fields are entered and pass the validation, select Save.

次のセクションでは、Azure Resource Manager テンプレートから環境を作成する手順を説明します。The next section will walk you through creating environments from an Azure Resource Manager template.

Azure Resource Manager テンプレートから環境を作成するCreate an environment from an Azure Resource Manager template

ラボで Azure Resource Manager テンプレート リポジトリが構成されると、ラボのユーザーは Azure Portal で次の手順を使用して環境を作成できます。Once an Azure Resource Manager template repository has been configured in the lab, your lab users can create an environment using Azure portal with the following steps:

  1. Azure Portal にサインインします。Sign in to the Azure portal.
  2. [その他のサービス] を選択し、一覧の [DevTest Labs] を選択します。Select More Services, and then select DevTest Labs from the list.
  3. ラボの一覧で目的のラボを選択します。From the list of labs, select the desired lab.
  4. ラボのブレードで、[追加+] を選択します。On the lab's blade, select Add+.
  5. [ベースの選択] ブレードに、使用できるベース イメージが表示されます。Azure Resource Manager テンプレートがその先頭に表示されます。The Choose a base blade displays the base images you can use with the Azure Resource Manager templates listed first. 目的の Azure Resource Manager テンプレートを選択します。Select the desired Azure Resource Manager template.

    ベースの選択

  6. [追加] ブレードで、[環境名] に値を入力します。On the Add blade, enter the Environment name value. 環境名は、ラボでユーザーに表示される内容です。The environment name is what is displayed to your users in the lab. その他の入力フィールドは、Azure Resource Manager テンプレートで定義します。The remaining input fields are defined in the Azure Resource Manager template. 既定値がテンプレートで定義されている場合、または azuredeploy.parameter.json ファイルが存在する場合は、これらの入力フィールドに既定値が表示されます。If default values are defined in the template or the azuredeploy.parameter.json file is present, default values are displayed in those input fields. "セキュリティで保護された文字列" 型のパラメーターの場合、ラボの個人のシークレット ストアに格納されたシークレットを使用することができます。For parameters of type secure string, you can use the secrets stored in the lab’s personal secret store.

    [追加] ブレード

    注意

    値を指定した場合でも、空の値として表示されるパラメーター値がいくつかあります。There are several parameter values that - even if specified - are displayed as empty values. そのため、ユーザーが Azure Resource Manager テンプレートでこれらの値をパラメーターに割り当てた場合でも、DevTest Labs で値が表示されません。代わりに、環境の作成時にラボのユーザーが値を入力する必要がある場所には、入力フィールドが空白で示されます。Therefore, if users assign those values to parameters in an Azure Resource Manager template, DevTest Labs does not display the values; instead showing blank input fields where the lab users need to enter a value when creating the environment.

    • GEN-UNIQUEGEN-UNIQUE
    • GEN-UNIQUE-[N]GEN-UNIQUE-[N]
    • GEN-SSH-PUB-KEYGEN-SSH-PUB-KEY
    • GEN-PASSWORDGEN-PASSWORD
  7. [追加] を選択して環境を作成します。Select Add to create the environment. 環境でプロビジョニングが開始され、[仮想マシン] の一覧に状態が即座に表示されます。The environment starts provisioning immediately with the status displaying in the My virtual machines list. Azure Resource Manager テンプレートで定義されているすべてのリソースをプロビジョニングするために、新しいリソース グループがラボによって自動的に作成されます。A new resource group is automatically created by the lab to provision all the resources defined in the Azure Resource Manager template.

  8. 環境が作成されたら、[仮想マシン] の一覧で環境を選択してリソース グループ ブレードを開き、環境内にプロビジョニングされたすべてのリソースを参照します。Once the environment is created, select the environment in the My virtual machines list to open the resource group blade and browse all of the resources provisioned in the environment.

    [仮想マシン] の一覧

    環境にプロビジョニングされている VM の一覧を単に表示するために環境を展開することもできます。You can also expand the environment to view just the list of VMs that are provisioned in the environment.

    [仮想マシン] の一覧

  9. 任意の環境をクリックして、アーティファクトの適用、データ ディスクのアタッチ、自動シャット ダウン時刻の変更など、使用可能なアクションを参照します。Click any of the environments to view the available actions - such as applying artifacts, attaching data disks, changing auto-shutdown time, and more.

    環境のアクション

次のステップNext steps