この連載では、Windows Server 2012/2012 R2の2023年10月のサポート終了(EoS)までに、新システムに移行するのは、時間的に無理があることを前提に、既存システムをそのまま最新の仮想環境やクラウドに移行する際のポイントを解説しています。
今回は、オンプレミスの物理サーバまたは仮想マシンからAzure VMへの移行です。これには、「Azure Migrate」という移行ツールが利用できます。
災害対策ツールではなく、移行ツールとしてのAzure Site Recovery(ASR)
オンプレミスの物理サーバや仮想マシンを、クラウドにリフト&シフトする方法は、いくつか存在します。
Microsoft Azureの場合、最初にあった唯一の方法は物理サーバを仮想ハードディスク化するか、すでに仮想化されているのなら仮想マシンの仮想ハードディスクを、Azure VM対応の仮想ハードディスク形式(容量固定VHD)に変換しAzureにアップロードして、アップロードしたVHDからAzure VMをデプロイするという方法でした。
その後、「Azure復旧サービス(Azure Recovery Services)」の1つである「Azure Site Recovery(ASR)」を利用する方法が、より安全で確実な方法として利用可能になりました。ASRは、オンプレミスの拠点(サイト)間、オンプレミス-Azure間、Azure-Azure間で災害対策(ディザスタリカバリ)を簡単に実装できるサービスです。
ASRは元々、Microsoft Virtual Machine Manager(VMM)で管理されたプライベートクラウドを、プライマリサイト(コピー元)からレプリカサイト(コピー先)へレプリケーション(複製)し、一方のサイトで障害が発生した場合に、レプリカサイトで迅速に復旧するというサービスでした。
その後、VMMで管理されていないHyper-V(またはVMWare)ホスト上の仮想マシンのAzureへのレプリケーションや、物理サーバのAzureへのレプリケーションにも対応しました。
つまり、オンプレミスの物理サーバや仮想マシンをAzureにレプリケーションし、Azure側にレプリケートされたイメージを使用してAzure IaaS(Infrastructure as a Service)環境にAzure VMとして計画的にフェイルオーバーすることで、P2VやV2Vの移行ツールとして応用できるのです。
P2V/V2Vの移行作業を簡素化する「Azure Migrate」
P2VおよびV2V移行はASRのサービスだけでも実現できますが、現在は「Azure Migrate」サービスの利用が推奨されています。Azure Migrateは、物理サーバ、Hyper-VやVMwareの仮想マシンのP2VまたはV2V移行に加えて、データベースやWebアプリのAzure PaaS(Platform as a Service)への移行や、サードパーティ(ISV、Independent Software Vendor)の移行ソリューションにも対応しています。
Azure Migrateでは、P2VおよびV2V移行には背後でASRが利用されますが、ASRの必要なリソースの作成からクリーンアップまで自動化されており、ASRが利用されていることをほとんど意識させることなく利用できます。
Azure Migrateでは、移行プロジェクトを作成し、評価ツールを使用して移行対象の検出と評価を実施し、その結果に基づいて必要な移行ツールを準備します。P2V/V2Vの場合はレプリケーションを行い、テスト移行を実施した上で、本番環境に移行するという手順で進みます。
移行先はAzure IaaSの仮想ネットワークになるため、クライアントアクセスを提供するために、「Azure Express Route」やサイト間(S2S)VPNによる双方向の高速で安全なネットワーク接続環境を準備しておく必要があります。移行後のシステムはネットワーク周りの設定が変更になるため、その点については注意が必要ですが、DNSレコードの変更などで比較的簡単に対応できるはずです。
Azure Migrateを利用すると、ASRだけでP2V/V2V移行するのに比べて、移行作業が簡素化されるだけでなく、検出、評価、サイズの設定など、移行前のすべての手順と必要なツールが含まれているため、確実な移行が可能です。
一方で、評価ツールによる検出と評価を実施するために、オンプレミス側に「Azure Migrateアプライアンス」をダウンロードして、仮想マシンまたは物理サーバで実行する必要があります。
このアプライアンスを実行するためには、8コア、16GBメモリの仮想または物理マシン環境が必要になります。レガシーシステムだけの環境だと、その点がネックになるでしょう。移行対象が少数の場合、アプライアンスを使用しないCSVによるインポート手段も用意されているので、そちらを利用するとよいでしょう。
オンプレミスの環境を最新の仮想化プラットフォームに移行しておけば、アプライアンスの準備を含めてスムーズに進めることができるでしょう。
Hyper-V仮想マシンをAzure MigrateでAzure VMに移行
今回は、最新のWindows Server 2022 Hyper-V上で稼働中のWindows Server 2012 R2仮想マシンを、Azure Migrateを利用して、実際にAzure VMに移行した際のポイントを解説します。移行中だけでなく、最後の移行(計画的なフェイルオーバー)開始まで、移行元のHyper-V仮想マシンは稼働中のままにできます。つまり、最小限のダウンタイムでAzure VMに移行することができます。
移行作業はAzureポータルとオンプレミスのHyper-Vホスト(アプライアンスもこのホストで実行する想定)で行います。Azureポータルの「Azure Migrate」ブレードだけで直観的に操作するのでは、うまくいかないと思います。以下のドキュメントに従って順番に操作する必要があります。
物理サーバも同様の手順で移行できますが、こちらのドキュメントに従ってください。
まず、Azureポータルで「Azure Migrate」ブレードの「移行の目標|サーバ、データベース、Webアプリ」を開き、「+プロジェクトの作成」をクリックして、移行先のAzureリージョンを指定してプロジェクトを作成します。
次に、「評価ツール|Azure Migrate: Discovery and assessment」の「検出」をクリックして、Hyper-Vからアプライアンスを使用した検出を選択し、指示に従ってアプライアンスをダウンロードして、セットアップします。VHD形式(12GB)のアプライアンスを選択した場合は、ダウンロードしたZIPファイルを展開し、展開先からHyper-V仮想マシンをインポートして起動します。
アプライアンスはWindows Server 2016(英語版)ベースの仮想マシンです。初回起動時に管理者パスワードを設定し、ライセンス条項に同意したら、デスクトップのMicrosoft Edgeアイコンを起動して、アプライアンスのWebアプリにアクセスし、プロジェクトキーの検証や、Azureへのログイン、Hyper-Vホストの資格情報の設定、Hyper-Vホストの指定など検出設定を行って、検出を開始します。
検出が完了したら、「評価ツール|Azure Migrate: Discovery and assessment」の「検出|Azure VM」をクリックし、Azure VMのサイズの基準やターゲットリージョンを指定して、アプライアンスによって検出された仮想マシンから移行対象の仮想マシンを選択して評価を作成します。
「評価ツール|Azure Migrate: Discovery and assessment」による検出と評価が完了したら、続いて、「移行ツール|移行およびモダン化」の「検出」に移ります。
ここでは、Hyper-Vからの移行を選択し、Azureのリージョンにリソースを作成したら、レプリケーションプロバイダー(Azure Site Recoveryプロバイダー)をダウンロードして、移行元の仮想マシンを実行しているHyper-Vホストにインストールし、Hyper-VホストをAzure(Recovery Services資格情報コンテナー)に登録します。
続いて、「移行ツール|移行およびモダン化」の「レプリケート」をクリックして、レプリケーション設定を行い、レプリケーションを開始します。レプリケーションは同時に10台の仮想マシンを対象に実行できます。
初回レプリケーションが完了したら、いつでも「テスト移行」や「移行」を実施できます。稼働中のHyper-V仮想マシンの状態は、その後も新しい回復ポイントとしてAzure側にレプリケーションされます。
「移行ツール|移行およびモダン化」の「概要」を開き、「テスト移行」を実行して、運用環境とは別のAzure仮想ネットワークに計画的にフェイルオーバーし、Azure VMとして問題なく動作することを確認します。問題がなければ、テスト移行をクリーンアップします。
最後に「移行」を実行して、オンプレミス側の仮想マシンのシャットダウンを選択し、Azure VMに計画的にフェイルオーバーします。「移行ツール|移行およびモダン化」の「概要」を開き、「管理|マシンのレプリケート」で移行元の仮想マシンのレプリケーションを停止すれば、V2V移行は完了です。
移行対象のすべての移行が完了したら、Azure Migrateのプロジェクトを削除します。これにより、Azure Site Recoveryのサービスに作成されたリソースを含めて、すべてが適切にクリーンアップされます。