VirtualBox 上の仮想マシンを MGN を利用して AWS 上に移行してみました

VirtualBox 上の仮想マシンを MGN を利用して AWS 上に移行してみました

Clock Icon2025.04.30

はじめに

Application Migration Service (MGN) のちょっとした検証を行いたかったのですが、手頃なオンプレ環境が無かったので、Oracle VirtualBox 上の仮想マシンを移行してみました。
個人的な備忘も兼ねて手順を記事に残したいと思います。
なお、環境は以下の通りです。

  • VirtualBox:7.1.2
  • 仮想マシン:Ubuntu24.04

MGN のセットアップ

まずはマネジメントコンソールから MGN の管理画面を開き、初回セットアップを実施します。
「使用を開始」を選択します。
スクリーンショット 2025-04-30 103123
「サービスをセットアップ」を選択し、MGN が利用する IAM ロールなどを作成します。
スクリーンショット 2025-04-30 103130
セットアップ処理が完了したら、MGN エージェント用の IAM 認証情報を作成します。
IAM ユーザは作成したくなかったので、IAM ロールの一時認証情報を利用する方向で準備します。
IAM 管理画面から「ロールの作成」を選択します。
スクリーンショット 2025-04-30 105122
「信頼されたエンティティタイプ」は「AWS アカウント」を選択します。
スクリーンショット 2025-04-30 105215
許可ポリシーには「AWSApplicationMigrationAgentInstallationPolicy」をアタッチします。
スクリーンショット 2025-04-30 105231
任意のロール名を入力して、ロールを作成します。
スクリーンショット 2025-04-30 105357
IAM ロールを作成したら CloudShell を開き、以下コマンドを実行して一時認証情報を生成します。
生成した認証情報はインストール時に利用するので控えておきます。

aws sts assume-role --role-arn [作成したロール の ARN] --role-session-name “<適当な名前>”

スクリーンショット 2025-04-30 114433

次に、ドキュメントのネットワーク要件を確認しつつ、レプリケーションテンプレートの設定を行います。
今回はインターネット経由でのレプリケーションを行う予定なので、レプリケーションサーバはパブリックサブネット上に起動するようにし、パブリック IP も付与しておきます。
後の設定はデフォルトのままです。
スクリーンショット 2025-04-30 112240

ソースサーバへの MGN エージェントのインストール

次に、ソースサーバ側の準備を実施していきます。
まずドキュメントを確認し、移行元の仮想マシンが MGN エージェントのインストール要件を満たしているか確認します。
今回は VirtualBox 上に仮想マシンを建てているので、ネットワークアダプタの設定を NAT にして仮想マシンがインターネットに出れる状態にしておきます。Python などの前提パッケージも入ってなかったので追加インストールしました。

スクリーンショット 2025-04-30 161359

要件を満たしていることが確認できたら、MGN のエージェントをインストールします。
マネジメントコンソールから MGN 管理画面を開き、サーバ追加を選択後、生成した IAM ロールの認証情報を画面に入力します。
スクリーンショット 2025-04-30 114701

表示されているコマンドを実行し、エージェントのインストールファイルをサーバにダウンロードします。

sudo wget -O ./aws-replication-installer-init https://aws-application-migration-service-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/latest/linux/aws-replication-installer-init

スクリーンショット 2025-04-30 141939

インストールファイルの取得が完了したら、続けてインストールコマンドを実行します。

sudo chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init --region <レプリケーション先リージョン> --aws-access-key-id <アクセスキー ID> --aws-secret-access-key <シークレットアクセスキー> --aws-session-token <セッショントークン> --no-prompt

スクリーンショット 2025-04-30 150922

無事にインストールが完了したら、レプリケーションが完了するまでしばらく待ちます。
レプリケーションの進捗状況はマネジメントコンソールのソースサーバの項から確認できます。

スクリーンショット 2025-04-30 152317

AWS 上でのインスタンス起動

完了するまでの間に起動テンプレートの設定をしておきます。
ソースサーバの「起動設定」から EC2 起動テンプレートの変更を選択します。
スクリーンショット 2025-04-30 155042

テンプレートを編集し、起動するインスタンスタイプやサブネットなどの設定を実施します。
スクリーンショット 2025-04-30 155326

設定が完了したら、起動テンプレートのデフォルトバージョンを最新のバージョンに変更します。デフォルトバージョンを変えておかないと、MGN 側に設定が反映されないのでご注意ください。
スクリーンショット 2025-04-30 155523

起動テンプレートの設定が完了し、レプリケーションのライフサイクルが「テストの準備完了」になっていれば MGN から移行先 EC2 の起動が可能な状態になっています。

スクリーンショット 2025-04-30 155803

「テストおよびカットオーバー」から「テストインスタンスの起動」を選択します。
スクリーンショット 2025-04-30 155856

確認画面が出るので「起動」を選択します。
スクリーンショット 2025-04-30 155904

EC2 の作成処理が開始されるので、完了までしばらく待ちます。
なお、表示されているジョブ ID を選択することで、作成処理の進捗状況が確認できます。

スクリーンショット 2025-04-30 160123

スクリーンショット 2025-04-30 160204

ジョブのステータスが「完了」になったら起動完了です。
スクリーンショット 2025-04-30 161659

起動した EC2 サーバにも問題無く接続できました。

スクリーンショット 2025-04-30 162034

おわりに

MGN が VirtualBox 上の仮想マシンでも利用可能なことを確認しました。
MGN を使ってみたいけど適当なテスト用の環境が見つからないという方がいれば、こちらの記事を参考にお試しいただければ幸いです。

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.