汎用化した VHD をアップロードして Azure で新しい VM を作成する

この記事では、汎用化した VM の VHD を PowerShell を使用して Azure にアップロードし、VHD からイメージを作成し、イメージから新しい VM を作成する方法を説明します。 オンプレミスの仮想化ツールや別のクラウドからエクスポートされた VHD をアップロードできます。 新しい VM に Managed Disks を使用すると VM 管理が簡略化されます。また、VM を可用性セット内に配置したときの可用性が向上します。

サンプル スクリプトの場合は、VHD を Azure にアップロードして新しい VM を作成するサンプル スクリプトを参照してください。

開始する前に

Sysprep を使用してソース VM を一般化する

まだ実行していない場合、VHD を Azure にアップロードする前に VM を Sysprep で一般化する必要があります。 特に重要な点は、Sysprep がすべての個人アカウント情報を削除して、マシンをイメージとして使用できるように準備することです。 Sysprep の詳細については、Sysprep の概要に関するページを参照してください。

コンピューター上で実行されるサーバー ロールが Sysprep でサポートされていることを確認します。 詳しくは、「 Sysprep Support for Server Roles」 (サーバー ロールに対する Sysprep サポート) をご覧ください。

重要

初めて VHD を Azure にアップロードする前に Sysprep を実行する予定の場合は、VM の準備ができていることを確認してください。

  1. Windows 仮想マシンへのサインイン

  2. 管理者としてコマンド プロンプト ウィンドウを開きます。

  3. panther ディレクトリ (C:\Windows\Panther) を削除します。

  4. ディレクトリを %windir%\system32\sysprep に変更し、sysprep.exeを実行します。

  5. [システム準備ツール] ダイアログ ボックスで [システムの OOBE (Out-of-Box Experience) に入る] を選択し、 [一般化する] チェック ボックスがオンになっていることを確認します。

  6. [シャットダウン オプション][シャットダウン] を選択します。

  7. [OK] を選択します。

    Sysprep の開始

  8. Sysprep は完了時に仮想マシンをシャットダウンします。 VM は再起動しないでください。

VHD をアップロードする

VHD をマネージド ディスクに直接アップロードできるようになりました。 手順については、「Azure PowerShell を使用して Azure に VHD をアップロードする」を参照してください。

VHD がマネージド ディスクにアップロードされたら、Get-AzDisk を使用し、マネージド ディスクを取得する必要があります。

$disk = Get-AzDisk -ResourceGroupName 'myResourceGroup' -DiskName 'myDiskName'

イメージの作成

一般化済みの OS マネージド ディスクから管理イメージを作成します。 次の値は実際の値に変更してください。

まず、変数をいくつか設定します。

$location = 'East US'
$imageName = 'myImage'
$rgName = 'myResourceGroup'

マネージド ディスクを使用してイメージを作成します。

$imageConfig = New-AzImageConfig `
   -Location $location
$imageConfig = Set-AzImageOsDisk `
   -Image $imageConfig `
   -OsState Generalized `
   -OsType Windows `
   -ManagedDiskId $disk.Id

イメージを作成します。

$image = New-AzImage `
   -ImageName $imageName `
   -ResourceGroupName $rgName `
   -Image $imageConfig

VM の作成

イメージが用意できたので、イメージから新しい VM を 1 つ以上作成できます。 この例では、myResourceGroupmyImage から myVM という名前の VM が作成されます。

New-AzVm `
    -ResourceGroupName $rgName `
    -Name "myVM" `
    -Image $image.Id `
    -Location $location `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNSG" `
    -PublicIpAddressName "myPIP" `
    -OpenPorts 3389

次のステップ

新しい仮想マシンにサインインします。 詳しくは、「Windows が実行されている Azure 仮想マシンに接続してログオンする方法」をご覧ください。