VMware VM を Azure に移行する (エージェントレス)

この記事では、エージェントレス移行と共に移行 および最新化 ツールを使用して、オンプレミスの VMware または Azure VMware Solution (AVS) VM を Azure に移行する方法について説明します。 エージェントベース移行を使用して VMware VM を移行することもできます。 メソッドを比較します。

チュートリアルでは、概念実証をすばやく設定できるように、シナリオの最も簡単なデプロイ パスを示します。 チュートリアルではできるだけ既定のオプションを使用しており、使用可能な設定とパスをすべて示しているわけではありません。

このチュートリアルでは、以下の内容を学習します。

  • アプライアンスのセットアップ、検出、必要なアクセス許可など、エージェントレス移行の実行の前提条件が満たされていることを確認します。
  • 移行の実行を開始します。
  • 移行を追跡および監視します。
  • すべてが想定どおりに動作していることを確認するためにテスト移行を実行します。
  • 完全な VM 移行を実行します。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

[前提条件]

このチュートリアルを始める前に、次の準備が必要です。

  1. 最初のチュートリアルを完了して、移行のために Azure と VMware を準備します。
  2. 2 番目のチュートリアルを完了して、Azure に移行する前に VMware VM を評価しておくことをお勧めしますが、必須ではありません。
  3. 既に作成されているプロジェクトに移動するか、新しいプロジェクトを作成します。
  4. ご使用の Azure アカウントのアクセス許可を確認します。Azure アカウントには、VM を作成し、Azure マネージド ディスクに書き込むためのアクセス許可が必要です。
  5. プロジェクトを作成し、検出、評価、移行を実行するために必要な Azure Migrate の組み込みロールとアクセス許可の詳細については、「 Azure Migrate 用の Azure アカウントを準備する」を参照してください。

Windows オペレーティング システムのアップグレードを計画している場合、アップグレードが失敗した場合、エラーの詳細について Azure Migrate によって Windows SetupDiag がダウンロードされる場合があります。 移行後に Azure で作成された VM が、SetupDiag にアクセスできることを確認してください。 SetupDiag にアクセスできない場合は、詳細な OS アップグレード エラー コードを取得できない可能性がありますが、アップグレードは続行できます。

Azure Migrate アプライアンスを設定する

移行およびモダン化ツールでは、VMware VM の検出、評価、エージェントレス移行に使用される軽量の VMware VM アプライアンスを実行します。 評価チュートリアルに従う場合は、アプライアンスを既に設定しています。 まだ設定していない場合は、次のいずれかの方法を使用して設定します。

  • OVA テンプレート: ダウンロードした OVA テンプレートを使用して VMware VM 上に設定します。
  • スクリプト: PowerShell インストーラ スクリプトを使用して、VMware VM 上または物理マシン上に設定します。 OVA テンプレートを使用して VM を設定できない場合や、Azure Government をご利用の場合は、この方法を使用してください。

アプライアンスの作成後、Azure Migrate: Server Assessment に接続できることを確認し、最初の構成を行い、Azure Migrate プロジェクトに登録します。

移行の実行

アプライアンスを設定して検出を完了すると、Azure への VMware VM のレプリケーションを開始できます。

  • 最大 500 件のレプリケーションを同時に実行できます。
  • ポータルでは、移行の対象として一度に最大 10 台の VM を選択できます。 より多くのマシンを移行するには、10 台のバッチでグループに追加します。

Azure Migrate では、ASCII 以外の文字を含む VMDK を使用した VMware VM のエージェントレス移行はサポートされていません。

レプリケーションを有効にするには、次の手順に従います。

  1. Azure Migrate プロジェクト >Execute>Migration で、Start execution を選択します。

  2. Specify intent、>何を移行したいですかで、Servers または Virtual Machines(VM)を選択します。 移行先の場所で、Azure VM を選択します。

  3. [ワークロードの選択方法] で、[すべてのインベントリから] を使用してサーバーを手動で選択するか、[評価から] を使用して既存の評価を選択できます。

  4. 探索方法で、ソース環境 (この場合は VMware Vsphere) に一致するアプライアンスを選択します。 [ 移行モード] で、[ エージェントレス移行] を選択します。

  5. ワークロードで、レプリケートして移行するマシンを選択し、ターゲット VM のセキュリティの種類を選択します。 Azure Migrate では、トラステッド起動仮想マシン (TVM) への移行がサポートされています。 既定では、対象となる VM が TVM として移行されます。 これらの VM では、セキュア ブートや仮想 TPM などの強化されたセキュリティ機能が追加料金なしで提供されます。 該当する場合は常に、それらを使うことをお勧めします。

  6. [ターゲット設定] で、サブスクリプション、ターゲット リージョン、ストレージ アカウントを選択します。

    VM の最初のレプリケーションを開始した後、ターゲット リージョンとストレージ アカウントの両方を変更することはできません。 新しいストレージ アカウントの作成には、ドロップダウンで選択した既定のオプションが使用されます。 オプションが選択されていない場合、ストレージ アカウントは、レプリケーションを有効にする最後の手順で作成されます。

  • [仮想ネットワーク] で、移行後に Azure VM が参加する Azure VNet およびサブネットを選択します。

  • [可用性オプション] で、以下を選択します。

    • 可用性ゾーン。移行されたマシンをリージョン内の特定の可用性ゾーンにピン留めします。 このオプションを使用して、複数ノードのアプリケーション層を形成するサーバーを可用性ゾーン間で分散させます。 このオプションを選択した場合は、[コンピューティング] タブで選択した各マシンに使用する可用性ゾーンを指定する必要があります。このオプションは、移行用に選択したターゲット リージョンで可用性ゾーンがサポートされている場合にのみ使用できます。
    • 可用性セット。移行されたマシンを可用性セットに配置します。 このオプションを使用するには、選択されたターゲット リソース グループに 1 つ以上の可用性セットが必要です。 近接配置グループを含む可用性セットがサポートされています。
    • [インフラストラクチャ冗長は必要ありません] オプション (移行されたマシンに対してこれらの可用性構成がいずれも不要な場合)。
  • [Disk encryption type](ディスク暗号化の種類) で、以下を選択します。

    • プラットフォーム マネージド キーを使用した保存時の暗号化
    • カスタマー マネージド キーを使用した保存時の暗号化
    • プラットフォーム マネージド キーとカスタマー マネージド キーを使用した二重暗号化

    CMK を使用して VM をレプリケートするには、ターゲット リソース グループにディスク暗号化セットを作成する必要があります。 ディスク暗号化セット オブジェクトは、SSE に使用する CMK を含む Key Vault にマネージド ディスクをマップします。

  • [Azure ハイブリッド特典] で、

    • Azure ハイブリッド特典を適用しない場合は、 [いいえ] を選択します。 次に、[次へ] を選択します。
    • アクティブなソフトウェア アシュアランスまたは Windows Server サブスクリプションの対象となる Windows Server マシンがあり、移行するマシンに特典を適用する場合は、[ はい ] を選択します。 次に、[次へ] を選択します。

    ターゲット設定のスクリーンショット。

  1. [コンピューティング] で、VM の名前、サイズ、OS ディスクの種類、および可用性構成 (前の手順で選択した場合) を確認します。 VM は Azure の要件に準拠している必要があります。

    • VM サイズ: 評価の推奨事項を使用している場合は、VM サイズのドロップダウンに推奨サイズが表示されます。 それ以外の場合は、Azure Migrate によって、Azure サブスクリプション内の最も近いサイズが選択されます。 または、 [Azure VM サイズ] でサイズを手動で選択します。
    • OS ディスク: VM の OS (ブート) ディスクを指定します。 OS ディスクは、オペレーティング システムのブートローダーとインストーラーがあるディスクです。
    • 可用性ゾーン: 使用する可用性ゾーンを指定します。
    • 可用性セット: 使用する可用性セットを指定します。
    • 容量予約: ターゲット サブスクリプションと場所に VM SKU の容量予約が既にある場合は、このデプロイ用にここで指定します。 容量予約により、移行を開始するときに必要な VM SKU を使用できるようになります。 ここで予約を関連付けるか、この手順をスキップして、移行中に後で構成することができます。 SKU の容量予約は、ターゲット サブスクリプションと場所内の任意のリソース グループに含めることができます。詳細については、こちらをご覧ください

    仮想マシンのセットごとに別の可用性オプションを選択する場合は、手順 1 に進み、仮想マシンの 1 つのセットのレプリケーションを開始した後に別の可用性オプションを選択して各手順を繰り返します。

  2. [ディスク] で、VM ディスクを Azure にレプリケートするかどうかを指定し、Azure のディスクの種類 (Premium v2、Ultra Disk、Standard SSD、Standard HDD、Premium Managed Disks) を指定します。 次に、[次へ] を選択します。

    [レプリケート] ダイアログ ボックスの [ディスク] タブを表示するスクリーンショット。

    コストを最適化し、パフォーマンスを向上させるために、Premium SSD v2 にデータ ディスクとして移行できるようになりました。

  3. [タグ] で、仮想マシン、ディスク、NIC にタグを追加することを選択します。

    [レプリケート] ダイアログ ボックスの [タグ] タブを表示するスクリーンショット。

  4. [ 実行の確認と開始] で設定を確認し、[ 確認して実行を開始 ] を選択して、サーバーの初期レプリケーションを開始します。

Azure に接続の問題がある場合、またはアプライアンス サービスが 90 分を超えてダウンしている場合、サーバーをレプリケートするためのアクティブなレプリケーション サイクルは 0% にリセットされ、それぞれのサイクルは最初から実行されます。

追跡して監視する

  1. Azure Migrate プロジェクトで、[> Migrations の実行] に移動します。 [ アプリケーション別に表示] または [ワークロード別に表示] を使用して、項目のグループ化方法を切り替えます。

  2. レプリケーションは次のように行われます。

    • レプリケーションの開始ジョブが正常に終了すると、マシンで Azure への初期レプリケーションが開始されます。

      • 初期レプリケーション中に、VM スナップショットが作成されます。 スナップショットのディスク データは、Azure のレプリカ マネージド ディスクにレプリケートされます。

        - 初期レプリケーションが完了すると、差分レプリケーションが開始されます。 ソース ディスクに対する増分変更は、Azure のレプリカ ディスクに定期的にレプリケートされます。

  3. 実行の進行状況は、実行ステージと実行状態に表示されます。

    • 実行ステージ: 準備、テスト、または完了。
    • 実行状態: 進行中、エラー中、アクション保留中、または完了。
  4. 実行の進行状況は、実行ステージの 3 つのステージで追跡されます。

    • 準備: レプリケーションが有効になっているサーバーは、初期レプリケーション (データ レプリケーション) の進行中に準備ステージに残ります。 必要に応じて、サーバーのドリルダウン ブレードで使用可能なドロップダウンを使用して、このステージで 停止、開始、一時停止、再開 の操作を実行できます。 初期レプリケーションが完了すると、サーバーはテスト ステージに移動します。
    • テスト: 初期レプリケーションが完了し、差分レプリケーションが進行中のサーバーは、テスト フェーズに移行します。 実際の移行の前に、テスト仮想ネットワークでテスト移行を実行することを選択できます (推奨)。 [ 完了] ドロップダウン メニューで使用できるアクションを使用して、テスト ステージをスキップし、直接移行を開始できます。
    • 完了: テスト移行が完了またはスキップされたサーバーは、このステージに移動します。 これらのサーバーに対して最終的な移行 (カットオーバー) を実行できます。 移行が完了したら、 完全な移行 を実行し、サーバーのドリルダウン ブレードで使用可能なドロップダウンを使用して移行リソースをクリーンアップします。
  5. PowerShell を使用して、Azure Migrate のサーバー移行のすべての段階の残り時間を表示します。 これにより、レプリケーションの進行状況を監視し、カットオーバーを正確に計画できます。 Azure portal では、PowerShell、Windows PowerShell、または Cloud Shell を使用できます。

  6. Azure portal を開き、上部にある Cloud Shell を選択します。 メッセージが表示されたら 、PowerShell を選択します。

  7. Azure Cloud Shell で次のコマンドを実行して、必要なサーバーの移行状態を監視します。

    
    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>"   -ResourceGroupName "<your-resource-group>" -MachineName "<your-server-name>"
    
    
  8. your-project-nameyour-resource-group、およびyour-server-nameを、実際の Azure Migrate プロジェクト、リソース グループ、およびサーバー名に置き換えます。

  9. このコマンドを実行すると、次の出力が表示されます。

    コマンドの実行時の出力を示すスクリーンショット。

  10. 出力には、サーバー レプリケーションの状態、ディスクの進行状況、残り時間、アップロード速度、データストアの詳細が表示されます。

  11. Expedite フラグを指定して、手順 5. のコマンドを実行します。 これにより、アプライアンスの運用パラメーターと推奨されるアクションの優先順位付けされた一覧が取得され、指定されたサーバーの残りの移行時間が短縮されます。

    
    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>"   -ResourceGroupName "<your-resource-group>" -MachineName "<your-server-name>" -Expedite 
    
    
  12. 次の出力が得られます。

サーバー移行の状態の出力を示すスクリーンショット。

  1. -MachineNameなしでコマンドを実行すると、プロジェクト内のすべてのサーバーの移行状態と残り時間を表示できます。 例えば次が挙げられます。

    
    Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>" -ResourceGroupName "<your-resource-group>"
    
  2. your-project-nameyour-resource-groupを実際の Azure Migrate プロジェクト名とリソース グループ名に置き換えます。

  3. このコマンドを実行すると、次の出力が表示されます。

    全体的なレプリケーションの状態を示すスクリーンショット。

  4. レプリケーションまたはカットオーバーに問題がある場合、 -Health フラグには 、エラー、考えられる原因、および 移行のトラブルシューティングに推奨されるアクションが表示されます。

    
    Get-AzMigrateServerMigrationStatus   -ProjectName "<your-project-name>"   -ResourceGroupName "<your-resource-group>"   -            MachineName "<your-server-name>" -Health
  1. このコマンドを実行すると、次の出力が表示されます。

レプリケーションの完了状態を示すスクリーンショット。

  1. -ApplianceNameのみでコマンドを実行して、そのアプライアンスに接続されているすべてのサーバーの移行状態、残り時間、正常性の詳細を表示することもできます。
   Get-AzMigrateServerMigrationStatus -ProjectName "<your-project-name>"   -ResourceGroupName "<your-resource-group>" -                ApplianceName "<your-appliance-
  1. your-project-nameyour-resource-group、およびyour-appliance-nameを、Azure Migrate セットアップの実際の値に置き換えます。

  2. このコマンドを実行して、次の出力を取得します。

Azure Migrate サーバーの移行状態を示すスクリーンショット。

上記のコマンドは、Azure Cloud Shell で実行できます。 任意の Windows コンピューターで PowerShell または Windows PowerShell を使用することもできます。 マシンは、Azure Migrate プロジェクトにアクセスできる限り、アプライアンスやサーバーではなく、任意の Windows PC を参照します。

テスト移行を実行する

差分レプリケーションが開始されるとき、Azure への完全な移行を実行する前に、VM のテスト移行を実行できます。 各マシンで少なくとも 1 回は、移行前にこれを実行することを強くお勧めします。

  • テスト移行を実行すると、移行元 (オンプレミスまたは AVS) マシンに影響を与えずに移行が正常に動作するかどうかが確認されます。このマシンは動作し続け、レプリケートを続行します。
  • テスト移行では、レプリケートされたデータを使用して Azure VM を作成することによって、移行がシミュレートされます (通常は、自分の Azure サブスクリプション内の非運用 VNet に移行されます)。
  • レプリケートされたテスト Azure VM を使用して、移行を検証し、アプリのテストを実行して、完全な移行前に問題に対処することができます。

テスト移行を実行するには、次のようにします。

  1. Azure Migrate プロジェクトで、Execute>Migrations>Workloads 列の下にあるサーバー名をクリックして、移行をテストするサーバーを選択します。

  2. ドリルダウン ブレードの [ テスト ] ドロップダウンで、[ テスト移行の開始] を選択します。

  3. [テスト移行] で、テスト中に Azure VM が配置される Azure VNet を選びます。 非運用環境の VNet を使用することをお勧めします。

  4. 移行された VM の各ネットワーク インターフェイス カード (NIC) を関連付けるサブネットを選択します。

    テスト移行時に選択したサブネットを示すスクリーンショット。

  5. テスト移行中に Windows Server OS をアップグレードするオプションがあります。 アップグレードするには、[ 利用可能なアップグレード ] オプションを選択します。 表示されたウィンドウで、アップグレード先の OS バージョンを選択し、[ 適用] を選択します。 詳細については、こちらを参照してください

  6. テスト移行をクリックすると、ジョブが開始されます。 ポータルの [実行状態] で 状態を監視します。 テスト移行が完了したら、サーバーに移動し、[テスト] ドロップダウンで [ テスト移行のクリーンアップ ] を選択して、 テスト リソースをクリーンアップします。

    [移行のクリーンアップ] のスクリーンショット。

    SQL Server を実行しているサーバーを SQL VM RP に登録できるようになりました。これにより、SQL IaaS Agent 拡張機能を使用した自動修正、自動バックアップ、簡略化されたライセンス管理を利用できるようになります。

    • [実行移行] ページの [>] 列でサーバーを選択します。 [コンピューティングとネットワークの設定] で、SQL IaaS 拡張機能への登録に関連付けられているチェック ボックスをオンにします。
    • アクティブなソフトウェア アシュアランスまたは SQL Server サブスクリプションの対象となっている SQL Server インスタンスがあり、移行するマシンに特典を適用する場合は、[SQL Server の Azure ハイブリッド特典] を選択します。

VM の移行

テスト移行が期待どおりに動作することを確認したら、ソース (オンプレミスまたは AVS) マシンを移行できます。

  1. Azure Migrate プロジェクトで、Execute>Migrations>Workloads 列の下にあるサーバー名をクリックして、最終的な移行を行うサーバーを選択します。
  2. ドリルダウン ブレードの [ 完了] ドロップダウンで、[ 移行] を選択します。
  3. [移行>仮想マシンをシャットダウンし、データ損失なしで計画的な移行を実行するには、[はい>OK] を選択します。
    • 既定では、Azure Migrate はソース (オンプレミスまたは AVS) VM をシャットダウンし、オンデマンド レプリケーションを実行して、前回のレプリケーションが発生した後に発生したすべての VM の変更を同期します。 こうすることで、データ損失がなくなります。
    • VM をシャットダウンしない場合は、[いいえ] を選択します
  4. 移行中に Windows Server OS をアップグレードするオプションがあります。 アップグレードするには、[ 利用可能なアップグレード ] オプションを選択します。 表示されたウィンドウで、アップグレード先の OS バージョンを選択し、[ 適用] を選択します。 詳細については、こちらを参照してください
  5. ターゲット サブスクリプションと場所に VM SKU の容量予約が既にある場合は、このデプロイ用にここで指定します。 容量予約により、移行を開始するときに必要な VM SKU を使用できるようになります。 SKU の容量予約は、ターゲット サブスクリプションと場所内の任意のリソース グループに含めることができます。 詳細については、こちらを参照してください
  6. サーバーの移行ジョブが開始されます。 Azure 通知でジョブを追跡します。
  7. ジョブが完了したら、完了ステージで追跡される [移行] ページからサーバーを表示および管理できます。

移行を完了する

  1. 移行が完了したら、サーバーのドリルダウン ページの [完了] ドロップダウンで、[ 移行の完了] を選択します。 これにより、ソース (オンプレミスまたは AVS) マシンのレプリケーションが停止され、VM のレプリケーション状態情報がクリーンアップされます。
  2. Windows VM および Linux の VM エージェントは、移行中に自動的にインストールされます。
  3. Azure VM での Windows ライセンス認証に関する問題を確認してトラブルシューティングします。
  4. ホスト名、データベース接続文字列、および Web サーバー構成の更新など、移行後のアプリの微調整を実行します。
  5. Azure で現在実行されている移行後のアプリケーション上で、最終的なアプリケーションと移行の受け入れのテストを実行します。
  6. 移行された Azure VM インスタンスにトラフィックを切り替えます。
  7. ローカル VM インベントリからソース (オンプレミスまたは AVS) VM を削除します。
  8. ローカル バックアップからソース (オンプレミスまたは AVS) VM を削除します。
  9. Azure VM の新しい場所と IP アドレスを示すように内部ドキュメントを更新します。

移行後のベスト プラクティス

次のステップ

Azure クラウド導入フレームワークで クラウド移行の過程 を調査します。