この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
こんにちはDXソリューション統括部の村松です。
今回はAzure Migrateを使ってHyper-Vで稼働している仮想マシンを移行してみましょう。
そもそもAzure Migrateとは?
Azure Migrateはオンプレミス、もしくはその他のクラウドサービス(AWS,GCPなど)に存在するサーバのAzureへの移行を支援するツールです。以前は評価(アセスメント)のみでしたが(*1)、現在では移行対象サーバの検出、評価、移行までを一貫して支援してくれます。
(*1) Azure Migrateとは ~Azure MigrateではオンプレミスサーバのAzure移行はできません~
移行環境の構成
Hyper-Vホスト上にある仮想マシンの移行にはHyper-Vホストおよびノードにレプリケーションプロバイダと呼ばれるをエージェントをインストールします。このエージェントを経由して移行対象サーバのレプリケーションデータをAzure Migrateで指定したストレージアカウントにインターネットを経由して転送します。またレプリケーションデータは初回のレプリケーション以降は一定の間隔で差分転送されます。
ストレージアカウントに転送されたレプリケーションデータを基にAzure上に移行対象サーバをAzure VMとしてフェールオーバします。
移行までの流れ
移行までの流れは以下の通りとなります。
- プロジェクト作成
- レプリケーションプロバイダのインストール
- Hyper-Vホストの登録
- レプリケーション
- テスト移行
- 本番移行
それでは実際にAzure Migrateを用いて既存のサーバを移行してみましょう。
移行の手順
1.プロジェクト作成
まずはじめに「プロジェクト」と呼ばれるAzureリソースを作成します。
「移行の目標」-「Windows、Linux、SQL Server」で「プロジェクトの作成」をクリックします。
リソースグループ、地域を設定してリソースを作成します。
以上でプロジェクトの作成は完了です。
2.レプリケーションプロバイダのインストール
「移行ツール」から「検出」をクリックします。
以下の通り設定の上、リソースの作成を行います。
マシンは仮想化されていますか?:はい。Hyper-Vを使用します。
ターゲットリージョン:<移行先のリージョンを選択します。>
レプリケーションプロバイダのインストーラーと登録キーをダウンロードします。
Hyper-Vホストにログインして、先ほどダウンロードしたレプリケーションプロバイダのインストーラーと登録キーをデスクトップに配置します。
レプリケーションプロバイダのインストーラーを管理者権限で実行します。
以降はヴィザードに従ってインストールを実行します。
先ほどダウンロードした登録キーをここでバインドします。
インターネット接続への接続にプロキシが必要な場合はここで設定します。
これでレプリケーションプロバイダのインストールは完了です。
3.Hyper-Vホストの登録
以下のように「登録されたHyper-Vホスト」として接続されていることを確認します。
そして「登録の最終処理」を実行します。
“登録が完了しました。”と表示されることを確認します。
以上でHyper-Vホストの登録は完了です。
4.レプリケーション
それでは移行対象サーバのデータをレプリケーションしてみましょう。
「移行ツール」から「検出」をクリックします。
「ソースの設定」にて以下の通り設定します。
マシンは仮想化されていますか?:はい。Hyper-Vを使用します。
「仮想マシン」にて移行対象の仮想マシンを選択します。
「ターゲット設定」にて移行先の仮想ネットワーク、リソースグループ等を設定します。
以降、移行後のAzure VMのSKU、ディスクの種類、タグを設定していきます。
最後に「レプリケート」をクリックしてレプリケーションを開始します。
移行対象サーバのディスク容量にもよりますが、約30分~1時間程度でレプリケーションが完了します。
(約40GB程度の場合)
レプリケーションが完了すると状態が「プロテクト」になります。
この状態になれば、レプリケーションデータが差分で転送されるようになり、テスト移行、および本番移行ができるようになります。
ちなみにレプリケーションプロバイダをインストールしたHyper-VホストのVHDもしくはVHDXが格納されているディレクトリを格納するとHyper-Vレプリカログが生成されていることが確認できます。これがレプリケーションデータとしてAzure Migrateで指定したストレージアカウントに転送されます。
以上でレプリケーションは完了です。
5.テスト移行
それでは実際に移行する前に、テスト移行を行ってみましょう。
テスト移行は何度でも行うことができ、移行後アプリケーションの動作確認等を行うことができます。
※Azure Migrateにおいては移行対象サーバをAzureに最適化した上で移行してくれますが、いくつかOS設定については事前に手動で設定する必要があります。テスト移行および本番移行を行う前に事前に手動で必要なOS設定については以下のドキュメントをご確認ください。
レプリケーションが完了した移行対象サーバにてテスト移行を実行します。
テスト移行先の仮想ネットワークの選択します。
※テスト移行先の仮想ネットワークは非運用のものを推奨します。
テスト移行が完了すると状態が「テストフェールオーバのクリーンアップが保留中」となります。
すると「<選択した仮想マシン名>-test」でAzure VMが立ち上がります。
そのAzure VMにログインして動作確認を行います。
アプリケーションの動作確認の結果、問題がなければテスト移行のクリーンアップを実行します。
クリーンアップが完了すると先ほどデプロイされたAzure VMは削除されます。
以上でテスト移行は完了です。
6.本番移行
いよいよ最後のフェーズである本番移行です。
レプリケーションが完了した移行対象サーバにて本番移行を実行します。
「データ損失を最小限に抑えるために、移行前にシャットダウンしますか?」では“はい”を選択します。
4.レプリケーションで設定した仮想ネットワーク上にAzure VMが移行されていることを確認します。
テスト移行時と同様、移行されたサーバにログインしてアプリケーションの動作確認を行います。
また必要に応じてNSGやDNSの設定等をAzure PortalもしくはAzure CLIで実施します。
以上で本番移行は完了です。
今回はHyper-Vホスト上にある仮想マシンを移行してみました。
駆け足で説明したため、分かりにくい部分があったかと思います。
Hyper-Vホスト上にある仮想マシンの移行については以下のドキュメントも合わせでご覧ください。
他にもAzure MigrateではVMwareの仮想マシンや物理サーバも移行することができます。
以上 今回はここまでになります。またの機会にお会いしましょう!