かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.186 Azure MigrateによるVM移行-検出開始|Windows Server 2016 EOSまであと302日
2026年03月16日配信
執筆者:山内 和朗
Windows Server 2016の製品ライフサイクルとサポート終了日(End of LifeCycle《EOL》、End of Support《EOS》)である2027年1月12日までのカウントダウンが進んでいます。この連載シリーズのテーマの1つはAzureへの移行です。前回はHyper-V VM移行用および比較対象として物理サーバーとその他の移行用の2台のAzure Migrateアプライアンスを構成し、Azureに登録するまでを完了しました。今回はその続き、移行対象の検出を開始するところまで進みます。
Azure Migrateアプライアンスでの次のステップに進む前に、Hyper-Vホストと移行対象のVMで準備しておくことがあります。まず、Hyper-Vホスト(またはホストクラスター)では次の準備が必要です(画面1)。
| Hyper-Vの要件 | Windows Server 2012 R2以降のWindows ServerのHyper-Vホストまたはホストクラスター |
| 管理者の資格情報 | Hyper-Vを実行するサーバーのローカル管理者(ローカルAdministratorsのメンバー)であるローカル管理者(Administratorなど)またはドメインアカウントの資格情報。 |
| Windowsリモート管理(WinRM)の有効化 | 有効化するにはホストでwinrm qcを実行(Enable-PSRemoting -Forceに含まれる)。 |
| Windows PowerShellのバージョン | Windows PowerShell 4.0以降。現在、Hyper-VでサポートされているWindows Serverバージョンでは、Windows PowerShell 5.1が標準で利用可能です。 |
| PowerShell Remotingの有効化 | 有効化するにはホストでEnable-PSRemoting -Forceを実行。移行対象のVMのWindowsゲストでも実行しておくことを推奨(ゲスト検出を利用する場合)。 |
| Hyper-V統合サービス | 移行対象のVMにHyper-V統合サービスが導入されていること。通常、WindowsおよびLinuxゲストは既定で導入されています。 |
| SMB共有に配置されているVMのための委任設定 | ホスト側でpowershell Enable-WSManCredSSP -Role Server -Forceを実行、アプライアンス側で「Enable-WSManCredSSP -Role Client -DelegateComputer "*" -Force」を実行 |

画面1 Hyper-VホストとVMを検出用に準備しておく
Azure Migrateアプライアンスでは、「ゲスト検出(Guest discovery)」という機能が既定で有効になっています。ゲスト検出では、VMにインストールされているソフトウェアや依存関係などが調査されます。ゲスト検出の結果は、ソフトウェアやセキュリティのAzureへの対応状況のの他、VM間の依存関係の調査や、SQL Server、MySQL、PostgreSQLのモダン化(Azure SQL Databaseへの移行)、ASP.NETアプリのモダン化(Azure Web Appへの移行)の対応可能性の評価にも利用されます。
ゲスト検出が有効に機能するためには、VMのWindowsゲストやLinuxゲストに追加の構成が必要な場合があります。WindowsゲストでのPowerShell Remotingの有効化や、LinuxゲストでのSSH接続の有効化、SQL Server検出用ログインの作成などです。以下のページでは、Hyper-V VM移行でサポートされるゲスト検出の内容と必要な設定が説明されています。SQL Serverについては、SQL認証またはWindows認証の検出用ログインを作成するためのサンプルSQLスクリプトが用意されています(画面2)。なお、必要がなければゲスト検出はオフにすることができます。
Hyper-V の評価のサポート マトリックス|Azure(Microsoft Learn)![画面2 サンプルスクリプトの“[evaluator]”“evaluator”と“<provide a strong password>”を書き換えて、SQL Server検出用のSQL認証ログインを作成](https://www.say-tech.co.jp/hs-fs/hubfs/Sales/blog_nxworld/vol186_302/vol186_scr02.png?width=760&height=493&name=vol186_scr02.png)
画面2 SQL認証ログインを作成する場合、サンプルスクリプトの“[evaluator]”“evaluator”と“<provide a strong password>”を書き換えてクエリを実行する
「Azure Migrate Applicance Configuration Manager(Azure Migrateアプライアンス構成マネージャー」を開き、Azureユーザログインがログアウト状態になっている場合は、「ログイン」をクリックして再ログインします。
「2. 資格情報と検出ソースの管理(2. Manage credentials and discovery sources)」へと進み、移行対象のHyper-V VMを検出するために、Hyper-Vホストに接続するための資格情報とホストの情報を設定します。
「手順 1: Hyper-V VMを検出するためのHyper-Vホストの資格情報を指定する(Step 1: Provide Hyper-V host credentials for discovery of Hyper-V VMs)」で「資格情報の追加(Add credentials)」をクリックし、Hyper-Vホストやホストクラスターに接続するためのローカル管理者アカウントまたはドメインアカウントの資格情報を入力します(画面3)。資格情報は複数登録することができます。

画面3 Hyper-Vホストまたはホストクラスターに接続するための1つ以上の資格情報を作成する
「手順 2: Hyper-Vホストまたはクラスターの詳細を指定するためのサーバー資格情報を指定します(Step 2: Provide Hyper-V host/cluster details)」に進み、「検出ソースの追加(Add discovery source)」をクリックして、検出ソースであるHyper-Vホスト/クラスターのIPアドレスまたはFQDNを入力し、先ほど作成した資格情報の1つを指定します(画面4)。こちらも、複数のHyper-Vホスト/クラスターを登録することができます。

画面4 移行元ソースとなるHyper-Vホスト/クラスターのIPアドレスまたはFQDNを入力し、接続に使用する資格情報を登録済みの一覧から選択する
「手順 3: インストールされているソフトウェア、依存関係、ワークロードのゲスト検出を実行する(Step 3: Provide server credentials to perform guest discovery of installed software, devendencies and workloads.)」に進みます。ゲスト検出を行わない場合は、「Guest discovery is enabled by default」のスライダーをオフにします。ゲスト検出を行う場合は、「資格情報の追加(Add credentials)」をクリックして、ゲスト検出に使用される資格情報を登録します(画面5)。登録可能な資格情報は以下の7種類です。
Domain Credentials ・・・ Active Directoryのドメイン資格情報
Linux(Non-domain) ・・・ 非ドメイン環境のLinux VMにSSH接続するための資格情報(パスワードベース)
Linux Server(SSH key based) ・・・ 公開鍵認証によるLinux VMにSSH接続のための資格情報
Windows(Non-domain) ・・・ 非ドメイン環境のWindows VMに接続するための資格情報(パスワードベース)
SQL Server Authentication ・・・ SQL Server認証の資格情報(パスワードベース)
MySQL Server(Password based) ・・・ MySQLデータベースの接続情報(パスワードベース)
PostgreSQL Server(Password based) ・・・ PostgreSQLデータベースの接続情報(パスワードベース)

画面5 ゲスト検出に使用する資格情報を登録する
物理サーバーとその他の移行用のAzure Migrateアプライアンスの場合は、「手順1」と「手順2」で、Hyper-Vホストではなく、物理サーバーまたはVMに接続するための資格情報と検出ソース(Windows ServerまたはLinux Server)を直接指定します(画面6)。

画面6 物理サーバーとその他の移行用のアプライアンスの検出設定
最後に「検出の開始(Start discovery)」をクリックします。指定されたHyper-Vホストごとにサーバー(VM)の検出が行われます。サーバー(VM)あたり約2分で検出が完了しますが、ゲスト検出の依存関係分析が可能になるまでは最大24時間かかるそうです(画面7)。

画面7 「移行の検出」をクリックし、完了するまで待つ
Azure Migrateアプライアンスで検出された情報のメタデータは、Azure Migrateのプロジェクトへ送信され、格納されます。AzureポータルでAzure Migrateプロジェクトの「イベントリを探す > すべてのインベントリ」を開くと、検出されたインベントリとしてサーバー(VM)の一覧と、ゲスト検出で検出されたWebアプリやデータベースを確認できます(画面8)。

画面8 Azure Migrateアプライアンスの検出結果をAzureポータルで確認する。依存関係については少なくとも24時間待つ必要がある。vm01~vm03はHyper-V用アプライアンスで検出されたサーバー(VM)、dc01は物理用アプライアンスで検出されたサーバー(物理マシン)
シーズン1目次|シーズン2(1)|・・・|(10)|(11)|(12)|(13)|(14)|(15)|(16)|(17)|(18)|(19)