チュートリアル:Azure Resource Manager テンプレートを使用して仮想マシン拡張機能をデプロイするTutorial: Deploy virtual machine extensions with Azure Resource Manager templates

Azure 仮想マシン拡張機能を使用して、Azure VM でデプロイ後の構成タスクと自動化タスクを実行する方法について説明します。Learn how to use Azure virtual machine extensions to perform post-deployment configuration and automation tasks on Azure VMs. Azure VM と共に、多くのさまざまな VM 拡張機能を使用できます。Many different VM extensions are available for use with Azure VMs. このチュートリアルでは、Azure Resource Manager テンプレートからカスタム スクリプト拡張機能をデプロイして、Windows VM で PowerShell スクリプトを実行します。In this tutorial, you deploy a Custom Script extension from an Azure Resource Manager template to run a PowerShell script on a Windows VM. スクリプトによって Web サーバーが VM にインストールされます。The script installs Web Server on the VM.

このチュートリアルに含まれるタスクは次のとおりです。This tutorial covers the following tasks:

  • PowerShell スクリプトを準備するPrepare a PowerShell script
  • クイック スタート テンプレートを開くOpen a quickstart template
  • テンプレートの編集Edit the template
  • テンプレートのデプロイDeploy the template
  • デプロイを検証するVerify the deployment

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

この記事を完了するには、以下が必要です。To complete this article, you need:

PowerShell スクリプトを準備するPrepare a PowerShell script

次の内容が含まれた PowerShell スクリプトは、パブリック アクセスが有効な Azure ストレージ アカウントから共有されます。A PowerShell script with the following content is shared from an Azure storage account with public access:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

ファイルを独自の場所に発行する場合は、チュートリアルの後半でテンプレートの fileUri 要素を更新する必要があります。If you choose to publish the file to your own location, you must update the fileUri element in the template later in the tutorial.

クイック スタート テンプレートを開くOpen a quickstart template

Azure クイック スタート テンプレートは、Resource Manager テンプレートのリポジトリです。Azure Quickstart Templates is a repository for Resource Manager templates. テンプレートを最初から作成しなくても、サンプル テンプレートを探してカスタマイズすることができます。Instead of creating a template from scratch, you can find a sample template and customize it. このチュートリアルで使用するテンプレートは、「Deploy a simple Windows VM」(単純な Windows VM をデプロイする) と呼ばれます。The template used in this tutorial is called Deploy a simple Windows VM.

  1. Visual Studio Code の [ファイル] > [ファイルを開く] を選択します。In Visual Studio Code, select File > Open File.

  2. [ファイル名] ボックスに https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json という URL を貼り付けます。In the File name box, paste the following URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json

  3. ファイルを開くには、[開く] を選択します。To open the file, select Open.
    このテンプレートには、次の 5 つのリソースが定義されています。The template defines five resources:

  4. [ファイル] > [Save As](名前を付けて保存) を選択し、このファイルのコピーを azuredeploy.json という名前でローカル コンピューターに保存します。Save a copy of the file to your local computer with the name azuredeploy.json by selecting File > Save As.

テンプレートの編集Edit the template

次の内容を使用して、仮想マシン拡張機能リソースを既存のテンプレートに追加します。Add a virtual machine extension resource to the existing template with the following content:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "[concat(variables('vmName'),'/', 'InstallWebServer')]",
    "location": "[parameters('location')]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/',variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Compute",
        "type": "CustomScriptExtension",
        "typeHandlerVersion": "1.7",
        "autoUpgradeMinorVersion":true,
        "settings": {
            "fileUris": [
                "https://armtutorials.blob.core.windows.net/usescriptextensions/installWebServer.ps1"
            ],
            "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File installWebServer.ps1"
        }
    }
}

このリソース定義の詳細については、拡張機能のリファレンスを参照してください。For more information about this resource definition, see the extension reference. 以下にいくつかの重要な要素を示します。The following are some important elements:

  • name:拡張機能リソースが仮想マシン オブジェクトの子リソースであるため、名前には仮想マシン名のプレフィックスが含まれている必要があります。name: Because the extension resource is a child resource of the virtual machine object, the name must have the virtual machine name prefix. 子リソース」を参照してください。See Child resources.
  • dependsOn:仮想マシンの作成後に拡張機能リソースを作成します。dependsOn: Create the extension resource after you've created the virtual machine.
  • fileUris: スクリプト ファイルが格納される場所です。fileUris: The locations where the script files are stored. 提供された場所を使用しない場合は、値を更新する必要があります。If you choose not to use the provided location, you need to update the values.
  • commandToExecute: このコマンドによってスクリプトが呼び出されます。commandToExecute: This command invokes the script.

テンプレートのデプロイDeploy the template

デプロイ手順については、「チュートリアル: 依存リソースを含む Azure Resource Manager テンプレートを作成する」で使用されたものと同じテンプレートです。For the deployment procedure, see the "Deploy the template" section of Tutorial: Create Azure Resource Manager templates with dependent resources. 生成されたパスワードを仮想マシンの管理者アカウントに対して使用することが推奨されます。We recommended that you use a generated password for the virtual machine administrator account. この記事の「前提条件」セクションを参照してください。See this article's Prerequisites section.

デプロイを検証するVerify the deployment

  1. Azure portal で VM を選択します。In the Azure portal, select the VM.
  2. VM の概要で、[クリックしてコピー] を選択して IP アドレスをコピーし、ブラウザーのタブに貼り付けます。In the VM overview, copy the IP address by selecting Click to copy, and then paste it in a browser tab.
    インターネット インフォメーション サービス (IIS) の既定のウェルカム ページ (下記) が表示されます。The default Internet Information Services (IIS) welcome page opens:

インターネット インフォメーション サービスのウェルカム ページ

リソースのクリーンアップClean up resources

デプロイした Azure リソースが不要になったら、リソース グループを削除してそれらをクリーンアップしてください。When you no longer need the Azure resources you deployed, clean them up by deleting the resource group.

  1. Azure portal の左側のウィンドウで、[リソース グループ] を選択します。In the Azure portal, in the left pane, select Resource group.
  2. [名前でフィルター] ボックスにリソース グループの名前を入力します。In the Filter by name box, enter the resource group name.
  3. リソース グループ名を選択します。Select the resource group name.
    リソース グループには 6 つのリソースが表示されます。Six resources are displayed in the resource group.
  4. 一番上のメニューで、[リソース グループの削除] を選択します。In the top menu, select Delete resource group.

次の手順Next steps

このチュートリアルでは、仮想マシンと仮想マシン拡張機能をデプロイしました。In this tutorial, you deployed a virtual machine and a virtual machine extension. 拡張機能によって、仮想マシンに IIS Web サーバーがインストールされました。The extension installed the IIS web server on the virtual machine. Azure SQL Database 拡張機能を使用して BACPAC ファイルをインポートする方法については、以下を参照してください。To learn how to use the Azure SQL Database extension to import a BACPAC file, see: