今回はNutanix AHV上の仮想マシンをAWS EC2へ移行してみます。
目次
- 目次
- 今回の環境
- 1. 移行対象のVMに対する事前準備
- 2. AWS側の準備
- 3. Move VMのデプロイ
- 4. Moveへの環境登録
- 5. 移行プランの作成
- 6. Seeding(レプリケーション)の実行
- 7. Cutover(移行)の実行
- その他ナレッジ
- 終わりに
今回の環境
4ノードのNutanix AHVクラスター
プラットフォーム: NX-1465-G5
AOS: 6.5.3.5 LTS
Move: 4.9.1
移行対象VM: Windows Server 2019
今回の作業イメージは以下の通りです。
1. 移行対象のVMに対する事前準備
仮想マシンをAWSへ移行するためにはいくつかの要件や事前準備項目があります。ドキュメントから抜粋したものを以下に示しました。(Move 4.9.1時点)
- サポートされるOS
- Windows Server 2012 R2, 2016, 2019
- RHEL 6.8 ~ 6.10、7.3 ~ 7.5
- CentOS 6.8 ~ 6.10、7.3 ~ 7.5
- Ubuntu 14.04, 16.04, 18.04
- WinRM, RDP, SSH を有効化(Windowsの場合)
- Nutanix Guest Tools(NGT)をインストール
※要件や制限事項の詳細は以下リンク先をご確認ください。
▽Migration Considerations
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Move-v4_9:top-migration-considerations-ahv-aws-c.html
2. AWS側の準備
AWS EC側では、リージョンやアベイラビリティゾーン、移行先のネットワーク(VPC)などを事前に準備しておく必要があります。また、Moveへの環境登録時にはAWSアカウントの「アクセスキー ID」と「シークレットアクセスキー」が必要となります。
MoveからAWSに対して操作を実行しますので、登録時に使用するAWSアカウントには、IAMにて特定の権限(許可)を持たせておく必要があります。
多くの場合、管理者権限を持つアカウントであれば対応できるかと思いますが、Moveのドキュメントでは許可ポリシーで必要な権限のリストがJSONで公開されていますので、必要に応じてAWSユーザーに権限を持たせておきます。
▽許可ポリシー作成の画面
Nutanixで公開されているJSONは以下をご参照ください。
▽Requirements (AHV to AWS)
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Move-v4_9:top-requirements-ahv-aws-r.html
3. Move VMのデプロイ
Nutanix Moveは仮想アプライアンスとして提供されており、移行元のAHVクラスター上に仮想マシンとしてデプロイして使用します。
Moveのデプロイ方法については以下記事をご参照ください。
Nutanix MoveをAHVへデプロイしてみる(Prism GUI編) - NutaNice Xperience
4. Moveへの環境登録
デプロイしたMoveのWebコンソール画面から移行元AHVと移行先AWSを登録します。
AHV環境の登録方法は以下記事をご参照ください。
MoveでのAHV環境の登録
AWS環境の登録方法は以下記事をご参照ください。
MoveでAWS環境の登録
5. 移行プランの作成
環境の登録ができたら移行プランを作成します。
▽Moveコンソールにて「Create a Migraton Plan」をクリックします。
▽移行プランに名前を付けて「Proceed」をクリックします。
▽以下のように設定していきます。
▽続いて移行対象の仮想マシンを選択します。今回は「MovetoAWS」という名前のWindows Server2019仮想マシンを選択しました。ちなみに、NGTが対象のVMにインストールされていない場合、この時点で仮想マシンを選択できない仕様となります。
▽次の画面で移行元AHVネットワークと移行先AWSネットワーク設定をします。移行先のAWSでは、ネットワークとサブネット、セキュリティグループを選択します。
▽続いて準備モードで今回は「Automatic」を選択します。
▽Windowsの管理者権限のあるアカウントのID/PWを入力します。※複数の仮想マシンでID/PWが異なる場合は「Change settings」から個別に入力することも可能です。
▽今回はプライオリティを「Medium」に設定します。AWS移行後にパブリックIPアドレスを持たせたい場合は「Create Public IP Address」にチェックを入れます。ちなみに「Schedule Data Seeding」では、移行対象の仮想マシンスナップショットのレプリケーションを開始する日時を指定することができます。
▽サマリ画面で設定内容を確認したら「Save and Start」でプランを実行します。すぐに実行したくない場合は「Save」でプランの保存のみも可能です。
6. Seeding(レプリケーション)の実行
▽プランが検証されて、実行に移ると「In Progress」と表示されますので、「In Progress」をクリックしてタスクの実行状況を追跡します。
▽Moveコンソールでは、対象VMのスナップショットが取得され、AWSへレプリケーションされている様子が確認できます。また、AWS EC2のEBSにてレプリケーションされたスナップショットも確認できます。「移行」を実行するまで、最新のスナップショットがデフォルト10分間隔でレプリケーションされ続ける仕組みとなります。
7. Cutover(移行)の実行
移行先に仮想マシンを切り替えたいというタイミングで「Cutover」というボタンをクリックします。「Cutover」を実行すると、移行元の仮想マシンが停止して最後のスナップショットがレプリケーションされたのち、移行先のAWS EC2でインスタンスが作成されます。
リモートデスクトップで接続したところ、移行したWindowsにログインできました。
ちなみに、移行元の仮想マシンは停止しているだけですので、何かの事情で移行元の仮想マシンが必要となった場合はそのまま電源を入れて使用できます。
その他ナレッジ
AWS認証エラーについて
AWS環境の登録時や、移行プランの作成・検証でMoveがAWSにアクセスしているタイミングで以下のようなエラー画面が何度も出てきました。
AWS GetRegionNames failed with error: AuthFailure:~~~~~~~~~
AWSへのアクセス認証に失敗しており、提供されたアクセス情報を検証できないというエラーです。私の場合は、何度も再実行すると、認証が通ったりしましたので、何らかの原因で不安定な状態になっていたのかもしれません。
もし許可ポリシーなども正しく設定しているのに、認証エラーになるといった、同様の事象に遭遇している方がいれば参考にしてみてください。
サポート外のOSについて
Move 4.9.1時点で、ドキュメント上Windows Server 2022はサポート対象外ですが、実際に移行できるのかやってみたところ、移行プラン作成後にサポート対象外としてエラーとなりました。(※自動準備モードでエラーとなるなら、手動モードでスクリプトを準備すればいけるのかもですが...。)
Windows Server 2022はMoveの現行バージョンでは移行できませんので、将来バージョンのリリースを待つか、別の方法を考える必要があります。
移行後のAWSインスタンスタイプについて
移行元AHVでの仮想マシンのvCPUやメモリサイズに応じて、移行先AWSではどのインスタンスタイプが選択されるのかを3パターンに分けて検証したところ以下のようになりました。
移行後のOS側からも、インスタンスタイプ通りのリソースが確認できます。
上記の事から、移行元のvCPU、メモリサイズをカバーするようにAWS EC2側でインスタンスタイプが自動選択されていることが分かります。(移行元よりもリソースが少ないという状態にはならない。)
終わりに
今回はNutanix AHV上の仮想マシンをAWS EC2上へ移行する方法を紹介しました。このようにMoveではパブリッククラウドにも仮想マシンを移行することができますので、皆様の今後のハイブリッド・マルチクラウド戦略にぜひご活用いただければと思います。
<参考>
Move User Guide Ver 4.9.1 > AHV to AWS
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Move-v4_9:top-ahv-to-aws-vm-migration-c.html