Windows Server VM のアップグレード

対象となる Windows Server 2008 R2 VM を Compute Engine に移行するときに Windows Server 2012 にアップグレードできます。

VM を移行した後に、Compute Engine のインプレース プロセスで個別にアップグレードすることもできます。

始める前に

アップグレードを伴う移行を行う場合は、次の点に注意してください。

  • アップグレードに十分な空き容量がブートディスクにあることを確認してください。アップグレードの場合、アップグレードする VM ごとに 15~20 GB が必要になる可能性があります。

  • デフォルトでは、アップグレード時に Windows Pay-as-you-go(PAYG)ライセンスが適用されます。すでに Microsoft ライセンスを所有していて、そのライセンスを引き続き使用する場合は、BYOL(お客様所有ライセンスの使用)プロセスを使用できます。

  • 十分な停止時間を確保してください。移行時に Windows Server VM のアップグレードを行う場合、移行とアップグレードが完了するまで VM は使用できなくなります。アップグレードを伴う移行では、アップグレードする VM ごとに 1~2 時間かかる場合があります。

  • アップグレードする VM で Windows Server 2008 R2 を使用していることを確認してください。

アップグレードされた VM の検証

VM の検証は、作成した PowerShell スクリプトを使用して、移行とアップグレードの処理中に行うこともできます。アップグレードの開始前と完了後にスクリプトを実行できます。たとえば、アップグレード プロセスの前後に VM でアプリケーションの動作確認が必要になる場合があります。

スクリプトの作成時に、長時間実行オペレーションをスクリプト化しないように注意してください。スクリプトの実行にかかる時間は、アップグレード全体のタイムアウト上限(デフォルトは 2.5 時間)に含まれます。

検証スクリプトの追加

アップグレード前に実行する 1 つの PowerShell スクリプトと、アップグレード後に実行する 1 つの PowerShell スクリプトを指定できます。名前が命名制約と一致する複数のスクリプトを指定すると、エラーが発生します。

システムでスクリプトを実行するには、特定の名前を付けて特定の場所に配置します。

目的 名前の形式 場所
アップグレード前に実行

pre*.ps1

例: pre_upgrade_script.ps1

${env:systemdrive}\upgrade_os_scripts

例: c:\upgrade_os_scripts\pre_upgrade_script.ps1

アップグレード後に実行

post*.ps1

例: post_upgrade_script.ps1

${env:systemdrive}\upgrade_os_scripts

例: c:\upgrade_os_scripts\post_upgrade_script.ps1

スクリプトの実行による出力とエラー

アップグレード プロセスからのメッセージはシリアルポート 3 に出力されます。スクリプトで次のエラーが発生した場合、アップグレードは失敗し、ベース スナップショットに戻ります。

  • アップグレード前とアップグレード後の複数のスクリプトを検出:

    timestamp Replatform Error: Found 2 pre-upgrade user supplied scripts only 1 allowed.
    
  • ゼロ以外の終了コード:

    timestamp Replatform Error: C:\upgrade_os_scripts\pre_upgrade_script.ps1 exited with the following error code: 1
    
  • スクリプトの実行中にスローされた例外:

    timestamp Replatform Error: The following exception thrown while running user supplied post-upgrade script: "script-name": exception description.
    

詳細については、VM のアップグレード プロセスをご覧ください。

トラブルシューティング

アップグレードに関連するエラーが Migrate for Compute Engine Manager または Cloud Logging に表示されることがあります。

アップグレード中に発生するエラーについては、トラブルシューティングをご覧ください。

移行中の Windows Server VM のアップグレード

Wave を使用して VM を移行する間にアップグレードを行います。

VM OS のアップグレードは、切断フェーズが終了してからクリーンアップ フェーズが開始する前までに行われます。クリーンアップ フェーズが開始した後にアップグレードをロールバックまたは復元することはできません。

VM をアップグレードする前に、Migrate for Compute Engine は VM のスナップショットを取得します。アップグレードに失敗すると、Migrate for Compute Engine はスナップショットの状態を復元します。

Wave の VM OS をアップグレードするには

VM を移行するランブックを作成する場合は、ランブックの UpgradeOS フィールドTRUE を入力して VM のアップグレードを指定します。切断フェーズが完了してからクリーンアップ フェーズが開始する前までに、対象となる VM の OS をアップグレードできます。

以下では、VM の移行中にアップグレードを行う方法について説明します。

  1. Migrate for Compute Engine Manager を使用してランブックの CSV ファイルをダウンロードします。
  2. ランブックの CSV ファイルで、アップグレードする VM の行を見つけます。
  3. アップグレード プロセスをサポートする VM の場合:

    1. UpgradeOS 列を見つけて、その値を TRUE に変更します。

    2. デフォルトでは、アップグレード時に Windows Pay-as-you-go(PAYG)ライセンスが適用されます。すでに Microsoft ライセンスをお持ちの場合は、license:os 列を https://www.googleapis.com/compute/v1/projects/windows-cloud/global/licenses/windows-server-2012-r2-byol に設定し、Windows のお客様所有ライセンス(BYOL)を適用します。

  4. 有効なランブックの作成に必要な列を編集または入力します。

    ランブックのフィールドの一覧については、ランブックのリファレンスをご覧ください。

  5. Migrate for Compute Engine Manager で、ランブックから Wave を作成して検証します

  6. Wave が検証に合格したら、新しいジョブを作成します。ジョブのオペレーションに [Full Migration] を選択します。

    Wave の VM の数によっては、移行に 1 時間から数時間かかることがあります。

    完全移行を開始する [New Job] ダイアログのスクリーンショット(クリックして拡大)
    [New Job] ダイアログのスクリーンショット(クリックして拡大)

  7. 移行の進行状況をモニタリングし、ステータスが「Ready to Detach」になった VM を探します。

    VM の移行ステータスのスクリーンショット(クリックして拡大)
    移行ステータスが切断可能になっている VM がある [Virtual Machines] タブのスクリーンショット(クリックして拡大)

  8. すべての VM が切断可能になったら、オペレーションに「Detach」を指定して新しいジョブを作成します。

    切断が設定された [New Job] ダイアログのスクリーンショット(クリックして拡大)
    オペレーションに「Detach」が選択された新しいジョブの作成ダイアログのスクリーンショット(クリックして拡大)

  9. すべての VM が切断状態になったら、Wave を選択します。オペレーションに [Upgrade OS] を選択して新しいジョブを作成し、[Start] をクリックしてアップグレードを開始します。

    [Last Job (Status)] が「Upgrade OS (Running)」に変わります。

    アップグレードを開始した後、Wave 内のどの VM でもアップグレードをキャンセルできます。アップグレードをキャンセルするには、仮想マシンのリストで VM を選択し、[Cancel OS Upgrade] をクリックします。

    OS アップグレードのキャンセル ボタンがハイライト表示された VM リストのスクリーンショット(クリックして拡大)
    [Cancel OS Upgrade] ボタンがハイライト表示されている [Virtual Machines] タブのスクリーンショット。(クリックして拡大)

  10. 仮想マシンのリストで、各 VM の移行ステータスが「Upgraded OS」になっている場合、移行プロセスを完了する前に検証テストを行います。

    VM の検証で問題が見つかった場合は、アップグレードをキャンセルできます。

  11. アップグレード済みの OS を使用する VM の検証が終了したら、クリーンアップを行い、移行作業を完了します。これを行うには、オペレーションとして「Cleanup」を指定して新しいジョブを作成します。

実行中の OS アップグレードのキャンセル

実行中の VM OS のアップグレードは、Migrate for Compute Engine Manager でキャンセルできます。

  1. Migrate for Compute Engine Manager で、[移行ウェーブ] ページに移動します。
  2. [Waves] タブで、キャンセルするアップグレードを含む Wave に移動し、[Monitor] 列のアイコンをクリックします。
  3. 表示された [Virtual Machine] タブで、アップグレードをキャンセルする VM の行を選択します。
  4. 行を選択した状態で、[Cancel OS Upgrade] ボタンをクリックします。
    OS アップグレードのキャンセル ボタンがハイライト表示された VM リストのスクリーンショット(クリックして拡大)
    [Cancel OS Upgrade] ボタンがハイライト表示されている [Virtual Machines] タブのスクリーンショット。(クリックして拡大)