チュートリアル - カスタム スクリプト拡張機能を使って Azure 内の Windows 仮想マシンにアプリケーションを展開するTutorial - Deploy applications to a Windows virtual machine in Azure with the Custom Script Extension

迅速かつ一貫した方法で仮想マシン (VM) を構成するには、Windows 用のカスタム スクリプト拡張機能を使用することができます。To configure virtual machines (VMs) in a quick and consistent manner, you can use the Custom Script Extension for Windows. このチュートリアルで学習する内容は次のとおりです。In this tutorial you learn how to:

  • カスタム スクリプト拡張機能を使用して IIS をインストールするUse the Custom Script Extension to install IIS
  • カスタム スクリプト拡張機能を使用する仮想マシンを作成するCreate a VM that uses the Custom Script Extension
  • 拡張機能の適用後に実行中の IIS サイトを表示するView a running IIS site after the extension is applied

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account.

Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。To open the Cloud Shell, just select Try it from the upper right corner of a code block. https://shell.azure.com/powershell に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

カスタム スクリプト拡張機能の概要Custom script extension overview

カスタム スクリプト拡張機能は、Azure VM でスクリプトをダウンロードし、実行します。The Custom Script Extension downloads and executes scripts on Azure VMs. この拡張機能は、デプロイ後の構成、ソフトウェアのインストール、その他の構成や管理タスクに役立ちます。This extension is useful for post deployment configuration, software installation, or any other configuration / management task. スクリプトは、Azure ストレージや GitHub からダウンロードできます。また、拡張機能の実行時に Azure Portal に提供することもできます。Scripts can be downloaded from Azure storage or GitHub, or provided to the Azure portal at extension run time.

カスタム スクリプト拡張機能は Azure Resource Manager テンプレートと統合されており、Azure CLI、PowerShell、Azure Portal、または Azure 仮想マシン REST API を使用して実行することもできます。The Custom Script extension integrates with Azure Resource Manager templates, and can also be run using the Azure CLI, PowerShell, Azure portal, or the Azure Virtual Machine REST API.

カスタム スクリプト拡張機能は、Windows VM と Linux VM の両方で使用することができます。You can use the Custom Script Extension with both Windows and Linux VMs.

仮想マシンの作成Create virtual machine

次のように、Get-Credential を使用して VM の管理者のユーザー名とパスワードを設定します。Set the administrator username and password for the VM with Get-Credential:

$cred = Get-Credential

これで、New-AzVM を使用して VM を作成できるようになります。Now you can create the VM with New-AzVM. 次の例では、場所 EastUSmyVM という名前の VM を作成します。The following example creates a VM named myVM in the EastUS location. これらが存在しない場合は、リソース グループ myResourceGroupAutomate と関連ネットワーク リソースが作成されます。If they do not already exist, the resource group myResourceGroupAutomate and supporting network resources are created. Web トラフィックを許可するには、このコマンドレットでポート 80 も開きます。To allow web traffic, the cmdlet also opens port 80.

New-AzVm `
    -ResourceGroupName "myResourceGroupAutomate" `
    -Name "myVM" `
    -Location "East US" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -OpenPorts 80 `
    -Credential $cred

リソースと VM が作成されるまで数分かかります。It takes a few minutes for the resources and VM to be created.

IIS のインストールを自動化するAutomate IIS install

Set-AzVMExtension を使用して、カスタム スクリプト拡張機能をインストールします。Use Set-AzVMExtension to install the Custom Script Extension. この拡張機能によって powershell Add-WindowsFeature Web-Server が実行され、IIS Web サーバーがインストールされます。次に、VM のホスト名を表示するように Default.htm ページが更新されます。The extension runs powershell Add-WindowsFeature Web-Server to install the IIS webserver and then updates the Default.htm page to show the hostname of the VM:

Set-AzVMExtension -ResourceGroupName "myResourceGroupAutomate" `
    -ExtensionName "IIS" `
    -VMName "myVM" `
    -Location "EastUS" `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.8 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'

Web サイトをテストするTest web site

ロード バランサーのパブリック IP アドレスを取得するには、Get-AzPublicIPAddress を使用します。Obtain the public IP address of your load balancer with Get-AzPublicIPAddress. 次の例では、先ほど作成した myPublicIPAddress の IP アドレスを取得します。The following example obtains the IP address for myPublicIPAddress created earlier:

Get-AzPublicIPAddress `
    -ResourceGroupName "myResourceGroupAutomate" `
    -Name "myPublicIPAddress" | select IpAddress

このパブリック IP アドレスを Web ブラウザーに入力できます。You can then enter the public IP address in to a web browser. 次の例のように、Web サイトが表示され、ロード バランサーによって負荷分散されたトラフィックの宛先となった VM のホスト名が表示されます。The website is displayed, including the hostname of the VM that the load balancer distributed traffic to as in the following example:

実行中の IIS Web サイト

次の手順Next steps

このチュートリアルでは、仮想マシンへの IIS のインストールを自動化しました。In this tutorial, you automated the IIS install on a VM. 以下の方法について学習しました。You learned how to:

  • カスタム スクリプト拡張機能を使用して IIS をインストールするUse the Custom Script Extension to install IIS
  • カスタム スクリプト拡張機能を使用する仮想マシンを作成するCreate a VM that uses the Custom Script Extension
  • 拡張機能の適用後に実行中の IIS サイトを表示するView a running IIS site after the extension is applied

次のチュートリアルに進み、カスタムの VM イメージを作成する方法を学習してください。Advance to the next tutorial to learn how to create custom VM images.