次の方法で共有


イメージを作成する前に VM のプロビジョニング解除または一般化を行って、コンピューター固有の情報を削除する

イメージを使用して複数の VM を作成できるように、一般化するとマシン固有の情報が削除されます。 VM が一般化またはプロビジョニング解除されたら、ブート シーケンスを正しく設定できるように、プラットフォームに通知する必要があります。

マシン固有の情報 (ユーザー アカウントなど) がないイメージを作成する場合を除き、 Azure コンピューティング ギャラリー でイメージを作成するために VM を一般化またはプロビジョニング解除する必要はありません。 Azure Compute Gallery では、コンピューター固有の情報を保持する 特殊な イメージがサポートされています。 詳細については、「 一般化されたイメージと特殊化されたイメージ」を参照してください。

ギャラリーの外部でレガシ イメージを作成する場合は、一般化が必要です。

Important

AZURE で VM を generalized としてマークすると、VM を再起動することはできません。

イメージを作成する前の Linux VM のプロビジョニング解除

Azure Linux エージェント (waagent) を使用して、マシン固有の情報を Linux VM から削除し、イメージング用に準備します。 Waagent は、Azure VM エージェントのプロビジョニング データ、マシン固有のファイル、および最後にプロビジョニングされたユーザー アカウントを削除し、VM を再利用可能なイメージ テンプレートとしてキャプチャする準備を整えます。

Linux VM の前提条件

イメージを作成するために VM のプロビジョニング解除を作成する前に、運用環境のワークロードに関するディストリビューション固有の手順に従うことをお勧めします。 Azure 用の Linux イメージを準備するためのディストリビューション固有の手順については、以下を参照してください。

Linux VM のプロビジョニング解除

まず、Azure Linux エージェント (waagent) を使用して VM のプロビジョニングを解除し、マシン固有のファイルとデータを削除します。 ソース Linux VM の waagent パラメーターで -deprovision+user コマンドを使用します。 詳細については、 Azure Linux エージェントのユーザー ガイドを参照してください。 このプロセスを元に戻すことはできません。

  1. SSH クライアントを使用して Linux VM に接続します。

  2. SSH ウィンドウで、次のコマンドを入力します。

    sudo waagent -deprovision+user
    

    このコマンドは、イメージとしてキャプチャする VM でのみ実行します。 このコマンドでは、イメージがすべての機密情報からクリアされたり、再配布に適しているとは限りません。 +user パラメーターは、最後にプロビジョニングされたユーザー アカウントも削除します。 VM にユーザー アカウントの資格情報を保持するには、 -deprovisionのみを使用します。

  3. 続行するには「y」と入力します。 この確認手順を回避するには、 -force パラメーターを追加します。

  4. コマンドが完了したら、「 exit 」と入力して SSH クライアントを閉じます。 この時点で VM は引き続き実行されます。

    一般化できるように、 az vm deallocate でプロビジョニング解除した VM の割り当てを解除します。

    az vm deallocate \
       --resource-group myResourceGroup \
       --name myVM
    

    次に、VM をプラットフォーム上で一般化済みとしてマークします。

    az vm generalize \
       --resource-group myResourceGroup \
       --name myVM
    

イメージを作成する前の Windows VM の一般化

Sysprep は、すべての個人アカウントとセキュリティ情報を削除し、イメージとして使用するマシンを準備します。 Sysprep の詳細については、 Sysprep の概要を参照してください。

Important

VM で Sysprep を実行すると、その VM は 一般化された と見なされ、再起動できません。 VM を一般化するプロセスは元に戻すことはできません。 元の VM が機能し続ける必要がある場合は、OS ディスクのスナップショットを作成し、スナップショットから VM を作成してから、その VM のコピーを一般化する必要があります。

カスタム応答ファイルは sysprep ステップではサポートされていないため、sysprep コマンドで '/unattend:answerfile' スイッチを使用することはできません。

Windows VM の前提条件

  • CD/DVD-ROM が有効になっていることを確認します。 無効にした場合、Windows VM は初回セットアップ (OOBE) の段階で停止します。 管理者として実行されているコマンド プロンプトで、次のコマンドを実行します。

    REM Enable CD/DVD-ROM
    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom /v start /t REG_DWORD /d 1 /f
    

    Azure プラットフォームは、一般化されたイメージから Windows VM が作成されるときに、ISO ファイルを DVD-ROM にマウントします。 このため、 一般化されたイメージの OS でDVD-ROM を有効にする必要があります。 無効にした場合、Windows VM は初回セットアップ (OOBE) の段階で停止します。

  • リムーバブル 記憶域へのアクセスを制限するポリシーが適用されていないことを確認します。 例: コンピューターの構成\管理用テンプレート\System\リムーバブル 記憶域アクセス\すべてのリムーバブル 記憶域クラス: すべてのアクセスを拒否する

  • マシンで実行されているサーバー ロールが Sysprep でサポートされていることを確認します。 詳細については、サーバー ロールとサポートされていないシナリオに対する Sysprep のサポートを参照してください。

  • 暗号化を無効にします。 Sysprep では、ドライブを完全に復号化する必要があります。 VM で暗号化が有効になっている場合は、Sysprep を実行する前に暗号化を無効にします。

  • 仮想ハード ディスク (VHD) を初めて Azure にアップロードする前に、ローカル コンピューターで Sysprep を実行する予定の場合は、開始する前に VM を準備 していることを確認してください。

Windows VM を一般化する

Windows VM を一般化するには、次の手順に従います。

  1. Windows VM にサインインします。

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

  3. パンサー ディレクトリ (C:\Windows\Panther) が存在する場合は削除します。 このディレクトリには、Sysprep が失敗する可能性がある以前の Sysprep 操作のログが含まれています。

    rd /s /q C:\Windows\Panther
    
  4. %windir%\system32\sysprep ディレクトリに移動し、次のコマンドを実行します。

    sysprep.exe /generalize /shutdown
    
  5. Sysprep が VM の一般化を完了すると、VM はシャットダウンされます。 VM を再起動しないでください。

    Sysprep が完了したら、仮想マシンの状態を [一般化済み] に設定します。

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized