VirtualBox 上の仮想マシンを Application Migration Service (MGN) を利用して AWS 上に移行してみました
はじめに
Application Migration Service (MGN) のちょっとした検証を行いたかったのですが、手頃なオンプレ環境が無かったので、Oracle VirtualBox 上の仮想マシンを移行してみました。
個人的な備忘も兼ねて手順を記事に残したいと思います。
検証環境は以下の通りです。
- VirtualBox:7.1.2
- 仮想マシン:Ubuntu24.04
MGN のセットアップ
まずはマネジメントコンソールから MGN の管理画面を開き、初回セットアップを実施します。
「使用を開始」を選択します。
「サービスをセットアップ」を選択し、MGN が利用する IAM ロールなどを作成します。
セットアップ処理が完了したら、MGN エージェント用の IAM 認証情報を作成します。
IAM ユーザは作成したくなかったので、IAM ロールの一時認証情報を利用する方向で準備します。
IAM 管理画面から「ロールの作成」を選択します。
「信頼されたエンティティタイプ」は「AWS アカウント」を選択します。
許可ポリシーには「AWSApplicationMigrationAgentInstallationPolicy」をアタッチします。
任意のロール名を入力して、ロールを作成します。
IAM ロールを作成したら CloudShell を開き、以下コマンドを実行して一時認証情報を生成します。
生成した認証情報はインストール時に利用するので控えておきます。
aws sts assume-role --role-arn [作成したロール の ARN] --role-session-name “<適当な名前>”
次に、ドキュメントのネットワーク要件を確認しつつ、レプリケーションテンプレートの設定を行います。
今回はインターネット経由でのレプリケーションを行う予定なので、レプリケーションサーバはパブリックサブネット上に起動するようにし、パブリック IP も付与しておきます。
後の設定はデフォルトのままです。
仮想マシンの作成
次に、VirtualBox 上で仮想マシンの作成を行っていきます。
VirtualBox マネージャー上で「新規」を選択し、Ubuntu の ISO ファイルを指定します。
※ ISO は公式サイトから取得しました
ログイン用の認証情報を設定します。
メモリは 2GB、CPUプロセッサー数は 2 を設定します。
ディスク容量に 25GB を割り当てたら完了を選択して仮想マシンを起動します。
起動したら以下コマンドを実行してパッケージのアップグレードをしておきます。
コピペが出来るように SSH で繋げるようにしたいので、openssh-server もインストールしておきます。
sudo apt update
sudo apt upgrade
sudo apt install openssh-server
ネットワークアダプタの設定は NAT にして仮想マシンがインターネットに出れる状態にします。
また、ホスト OS から SSH で接続できるように ポートフォワーディングの設定も行っておきました。
ここまでの設定が完了したら、ホスト OS 上で ターミナルソフトを開き、localhost を指定して SSH で仮想マシンに接続します。
MGN エージェントのインストール
次に、MGN エージェントのインストール準備を実施していきます。
まずドキュメントを確認し、移行元の仮想マシンが MGN エージェントのインストール要件を満たしているかを調査します。
要件を満たしていることが確認できたら、マネジメントコンソールから MGN 管理画面を開き、サーバ追加を選択後、MGN のセットアップの項で生成した IAM ロールの認証情報を画面に入力します。
表示されているコマンドを実行し、エージェントのインストールファイルをサーバにダウンロードします。
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
インストールファイルの取得が完了したら、続けてインストールコマンドを実行します。
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
無事にインストールが完了したら、レプリケーションが完了するまでしばらく待ちます。
レプリケーションの進捗状況はマネジメントコンソールのソースサーバの項から確認できます。
AWS 上でのインスタンス起動
完了するまでの間に起動テンプレートの設定をしておきます。
ソースサーバの「起動設定」から EC2 起動テンプレートの変更を選択します。
テンプレートを編集し、起動するインスタンスタイプやサブネットなどの設定を実施します。
設定が完了したら、起動テンプレートのデフォルトバージョンを最新のバージョンに変更します。デフォルトバージョンを変えておかないと、MGN 側に設定が反映されないのでご注意ください。
起動テンプレートの設定が完了し、レプリケーションのライフサイクルが「テストの準備完了」になっていれば MGN から移行先 EC2 の起動が可能な状態になっています。
「テストおよびカットオーバー」から「テストインスタンスの起動」を選択します。
確認画面が出るので「起動」を選択します。
EC2 の作成処理が開始されるので、完了までしばらく待ちます。
なお、表示されているジョブ ID を選択することで、作成処理の進捗状況が確認できます。
ジョブのステータスが「完了」になったら起動完了です。
起動した EC2 サーバにも問題無く接続できました。
おわりに
MGN が VirtualBox 上の仮想マシンでも利用可能なことを確認しました。
MGN を使ってみたいけど適当なテスト用の環境が見つからないという方がいれば、こちらの記事を参考にお試しいただければ幸いです。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。