既存の VM から新しい VM にワークロードを移動する


特定の状況では、既存の仮想マシン インスタンス(VM)から新しい VM にワークロードを移動する必要があります。新しい VM に移動する理由には次のものがあります。

  • オペレーティング システムの新しいリリースへのアップグレード
  • x86 アーキテクチャから Arm アーキテクチャへの切り替え
  • 最新の世代の VM マシンシリーズへのアップグレード

このような場合には、新しい VM を作成して、新しい VM にワークロードを移動する必要があります。

最新の世代の VM マシンシリーズにアップグレードするときに、現在の VM のオペレーティング システムが新しい世代でサポートされていて、現在の VM が新しいマシンシリーズでサポートされていない機能やディスクタイプを使用していない場合には、VM を新しいマシンシリーズに移行するで説明されているシンプルな手順を使用できることがあります。

新しい VM への移動を準備する

現在の VM を新しい VM に移動できます(例: n2d-standard-32 から t2a-standard-32m1-ultramem-160 から m3-ultramem-128)。移行を開始する前に、次の項目を確認して解決します。

  1. 新しい VM マシンシリーズの使用可能なリージョンとゾーンを確認します。新しいマシンシリーズは、現在の VM と同じリージョンすべてで使用できるとは限りません。必要に応じて、デプロイ、可用性、障害復旧計画を調整します。
  2. 現在の VM のオペレーティング システムのバージョンが新しい VM マシンシリーズでサポートされていることを確認します。詳しくは、オペレーティング システムの詳細をご覧ください。
    • 新しい VM に新しいバージョンのオペレーティング システムが必要な場合は、アプリケーションが新しい OS バージョンに対応していることを確認します。
    • Arm に移行し、現在のオペレーティング システムで Arm イメージを使用できない場合は、アプリケーションを実行する新しいオペレーティング システムを選択し、アプリケーションが新しいオペレーティング システムに対応していることを確認します。
  3. マシンシリーズのドキュメントで、新しい VM で使用できる機能を確認します。新しい VM マシンシリーズでは、現在の VM で使用しているものと同じ機能(カスタム マシンタイプや Shielded VM など)がサポートされていない場合があります。
  4. 新しい VM マシンシリーズでサポートされているインターフェースを確認します。T2A や第 3 世代の VM(M3 や C3 など)などの新しい VM シリーズでは、gVNIC インターフェースと NVMe インターフェースのみがサポートされています。アプリケーションがこれらのインターフェースをサポートしていることを確認してください。
    1. SCSI ディスク インターフェースを使用する VM から NVMe ディスク インターフェースのみをサポートする VM に移行する場合は、アプリケーションやスクリプトで、接続されたディスクをデバイス名で参照しないようにします(例: sda1)代わりに、/dev/disk/by-id/ に表示されるディスクのシンボリック リンクを使用します。
    2. Microsoft Windows を実行する VM から移行する場合は、2022 年 5 月より前に作成された VM の NVME ドライバを置き換える必要があります。これは、現在の VM のブートディスクと、新しい VM の作成に使用される以前に作成されたスナップショットまたはカスタム イメージに適用されます。
    3. デフォルト(VirtIO)ネットワーク インターフェースを使用していた第 1 世代または第 2 世代の VM から、gVNIC ネットワーク インターフェースのみをサポートする第 3 世代または T2A VM に移行する場合は、次の問題に対処する必要がある場合があります。
  5. 新しい VM でサポートされているディスクタイプを確認します。M3 や C3 などの新しい VM シリーズでは、pd-standard Persistent Disk タイプがサポートされていません。現在の VM が新しい VM シリーズでサポートされていないブートディスク タイプを使用している場合、ワークロードを新しい VM に移動するで説明するように、スナップショットを使用してブートディスクを新しいディスクタイプに変更できます。
  6. VM にローカル SSD が接続されている場合に第 3 世代の VM に移動するときは、ローカル SSD ディスクが新しいマシンタイプでサポートされていることを確認します。
  7. 新しい VM が異なるアーキテクチャを使用する場合は、新しいアーキテクチャでアプリケーションやプログラムを実行できることを確認するか、変更が必要かどうかを判断します。
    • 最新バージョンのプログラミング言語で記述されたアプリケーションの場合、さらなる修正を必要とせずに Arm と互換性がある可能性があります。
    • Python、Ruby、JavaScript などのインタプリタ言語を実行するには、Arm VM に Arm 互換のランタイム環境をインストールする必要があります。
  8. コンパイル済みの x86 バイナリは Arm では実行できず、コンパイル済みの Arm バイナリは x86 プラットフォームでは実行できません。
    • Arm 用にバイナリを再コンパイルする必要があり、通常はソースコードの修正が不要です。
    • x86 VM で使用したバージョンの Arm に相当するものを含めるために、パッケージとライブラリをアップグレードする必要がある場合もあります。

ワークロードを新しい VM に移動する

ワークロードを新しい VM に移動するには、新しい VM を作成してから、ワークロードを新しい VM に移行します。

  1. このページの新しい VM への移動を準備するの手順を行います。
  2. 保持するデータを含むローカル SSD ディスクを既存の VM で使用している場合は、それらのディスクの内容をサポートされている Persistent Disk タイプに移動します。
  3. 現在の VM でブートディスクに pd-standard Persistent Disk を使用している場合は、次の手順で pd-standard ディスクをサポートしていない VM に移動します。

    1. 非常に少数の VM を移行する場合:
      1. 現在の VM の pd-standard ブートディスクのスナップショットを作成します。
      2. ブートディスク スナップショットから VM を作成します。 新しい VM を作成するときに、ブートディスクでサポートされているディスクタイプ(PD-Balanced(pd-balanced)や PD-SSD(pd-ssd)など)を選択します。
    2. 複数の VM を移行する場合は、カスタム イメージを使用して新しい VM を作成します。
      1. 現在の VM の pd-standard ブートディスクのスナップショットを作成します。
      2. ディスク スナップショットをソースとして使用してカスタム イメージを作成します。
      3. カスタム イメージから VM を作成します。新しい VM を作成するときに、ブートディスクでサポートされているディスクタイプ(PD-Balanced(pd-balanced)や PD-SSD(pd-ssd)など)を選択します。
  4. 現在の VM が使用しているブートディスク タイプが新しい VM マシンシリーズでサポートされている場合は、Arm VM インスタンスの作成と起動の手順、または VM インスタンスの作成と起動の手順に沿って、仕様に基づいて新しい VM を構成します。

  5. ワークロードをサポートするために必要なユーザー、ドライバ、パッケージ、ファイル ディレクトリを新しい VM で構成します。

  6. 非ブート Persistent Disk を古い VM から新しい VM に移動します。

    • 新しい VM マシンシリーズでサポートされているディスクタイプの場合は、古い VM から Persistent Disk を切断して新しい VM に追加することでこれを行うことができます。
    • 新しい VM マシンシリーズでサポートされていないディスクタイプの場合は、ディスクのスナップショットを作成し、同じサイズまたは新しいサイズの新しいディスクを新しい VM に追加して、スナップショットを新しいディスクに復元できます。
    • 元の VM を削除していない場合は、ある VM から別の VM にファイルを転送することもできます。
  7. 変更したアプリケーションとプログラムを新しい VM にインストールします。必要に応じて、新しいオペレーティング システムまたはアーキテクチャでプログラムを再コンパイルします。

  8. 元の VM に関連付けられていたすべての静的 IP アドレスを新しい VM に再割り当てします。

  9. 省略可: Persistent Disk に保存されたデータをローカル SSD に戻します。

x86 VM から Arm VM にワークロードを移動する際に問題が発生した場合は、テクニカル アカウント マネージャー(TAM)または Google Professional Services Organization(PSO)にお問い合わせください。

次のステップ