AWS JAPAN APN ブログ
【大規模移行】MGN Migration Factoryを使用したAWSへの移行 ~Migration Factory編~
本記事はApplication Service Migration編からの続き記事で、AWS MGN(AWS Application Migration Service)およびMGN Migration Factoryをご紹介します。こちらでぜひ実際の移行手順のイメージをしていただければと思います。
MGN Migration Factoryとは?
MGN Migration Factory (MMF)は、工場に似たやり方で、AWSへの大規模なサーバーのリホストを実現する、AWS MGNを利用したオーケストレーションプラットフォームです。AWS MGNを使用しても、移行が大規模になって移行元マシンが数百台に及ぶと、手動プロセスが複雑になり、時間を要するようになります。MMFではそれらの手動プロセスを自動化することで、お客様の中規模〜大規模な移行を支援します。例として、AWS Replication Agentのデプロイについてみてみましょう。1台のサーバーにエージェントをインストールするのにかかる時間は約5分で、かなり簡単です。ただし、Microsoft WindowsまたはLinuxを実行している100台のサーバーがある場合、移行元マシンにエージェントをインストールするには合計で500分以上かかる可能性があります。MMF実行スクリプトは、エージェントのインストール時間を500分から5分未満に短縮し、WindowsとLinuxの両方のオペレーティングシステム、そしてあらゆる移行先AWSアカウントで動作します。これはMMFが自動化に貢献する複数あるステップの1つにすぎません。また、ビジネス上の成果を達成するために、MMF実行スクリプトをカスタマイズしたり、独自の自動化コードを追加したりすることもできます。
MMFは、サーバーレスウェブアプリケーション(AWS CloudFormationを使用してアカウントにデプロイ)と実行スクリプトで構成されます。MMFがデプロイされたら、移行データ(例: 移行ウェーブにグループ分けされた移行元サーバーに関する情報)をインポートし、MMF実行スクリプトおよびウェブアプリケーションを使用してプロセスをオーケストレーションするだけです。その後、すべての移行の進行状況は、MMFのウェブコンソール上でモニタリングできます。
MGN Migration Factoryのアーキテクチャ
MGN Migration Factoryを使用すると、AWS MGNを使用したAWSへの大規模な移行を無料で高速化および自動化できます。AWS MGNを使った移行を行うために、複数のAWSリソースをプロビジョニングし、これらに対してのみ料金が発生します。下の図が、AWS CloudFormationテンプレートを使用して、自動的にデプロイできるサーバーレスウェブアプリケーションのアーキテクチャとなります。アーキテクチャの詳細については、こちらのページをご参照ください。
図1. MMFサーバーレスウェブアプリケーション アーキテクチャ
MGN Migration Factoryを用いた移行作業
MMFによる移行のためには、まずMMFに対して移行データの登録を行います。移行データの登録は、移行元マシンごとの情報のリストであるCSVファイルを使用して、MMF実行スクリプトによって行われます。移行データによって、移行ウェーブごとにどの移行元マシンをどういったAWS環境上に移行するのかが規定されます。
登録された情報をもとに、MMFでは次の自動化された11のプロセスによって移行を実行することができます。MMFによる移行においては、MMF実行スクリプトまたはMMFウェブコンソールを用いて、移行データ内にて設定された移行ウェーブごとにまとめて各移行プロセスを実施します。
1. 移行元マシンの状態確認
移行元マシンに対して、AWSとの通信やAWS Replication Agentをインストールするためのディスク容量が要件を満たしているかの確認を行います。状態確認用のMMF実行ツールを実行すると、次のような確認が移行元マシンごとに実施されます。
図2. MMF実行スクリプト結果出力画面(状態チェック)1/2
そして、問題なくチェックが完了した移行元マシン名のリストが出力されます。
図3. MMF実行スクリプト結果出力画面(状態確認)2/2
状態確認が完了すると、MMFウェブコンソールの「移行ステータス」を確認することで、各移行元マシンにおける移行ステータスを、確認できます。
図4. MMFウェブコンソール移行ステータス確認画面(状態確認後)
2. AWS Replication Agentのインストール
対象移行ウェーブに含まれる複数の移行元マシンに対して、自動でAWS Replication Agentをインストールします。AWS Replication Agentがインストールされると、AWSとのレプリケーションが開始されます。
図5. MMF実行スクリプト結果出力画面(AWS Replication Agentインストール)
問題なくインストールが完了すると移行元マシン名のリストが出力されます。
図6. MMF実行スクリプト結果出力画面(インストール完了)
MMFウェブコンソールの「移行ステータス」から、インストールが完了した移行元マシンを確認することができます。
図7. MMFウェブコンソール移行ステータス確認画面(インストール後)
3. レプリケーション状態の確認
MMF実行スクリプトによって、対象移行ウェーブに含まれる複数の移行元マシンについて、初回レプリケーションが完了し、継続的なレプリケーションにおいてもデータ遅延なく行われていることを確認します。いずれかの移行元マシンにおいてレプリケーションが完了していない場合、1分間隔で繰り返し状態確認を行います。確認処理の都度、結果が出力されるため現状のレプリケーションタスクの状態や初回レプリケーション中であれば想定残時間等を確認することができます。
図8. MMF実行スクリプト結果出力画面(レプリケーション状態確認)
レプリケーション完了後、MMFウェブコンソールの「移行ステータス」からレプリケーションチェックが問題なく完了した(「Healthy」状態である)移行元マシンを確認できます。
図9. MMFウェブコンソール レプリケーションステータス確認画面
4. 起動テンプレートの検証
起動テンプレートは、移行元マシンからのレプリケーションの開始によって、AWS MGN上で移行テストおよびカットオーバーの際に起動されるインスタンスを規定します。MMFウェブコンソールの「ツール」を利用して起動テンプレートの検証を行うことで、テンプレートに不整合がないか確認できます。MMFウェブコンソールの「ツール」では「対象移行ウェーブ(wave_id欄)」「移行先AWSアカウント(AWS Account ID欄)」「実行機能(Test and Cutover欄)」を選択し、移行にかかる多様な機能から必要な機能を選択して実行します。
図10. MMFウェブコンソールツール実行画面(ページトップ)
図11. MMFウェブコンソールツール実行画面(実行機能一覧例)
5. 移行テストの実行
移行テストを実行することで、対象移行ウェーブに含まれるマシンについて、起動テンプレートに基づいた移行先Amazon EC2インスタンスを実際に起動し、起動テストおよび独自のテストを実施することができます。AWSではカットオーバーの一週間前までに移行テストを実施することを推奨しています。移行テストはMMFウェブコンソールの「ツール」を利用して実行し、「移行ステータス」から起動テストが問題なく実施されていることが確認できます。
図12. MMFウェブコンソール移行ステータス確認画面(移行テスト後)
6. テストEC2インスタンスの検証(MMF実行スクリプト)
「移行テストの実行」によって起動されたテストEC2インスタンスに対して、MMF実行スクリプトによって、EC2インスタンスの起動状態を確認できます。
図13. MMF実行スクリプト結果出力画面(EC2インスタンス状態確認)
あわせて、独自のテストを行い、システム/プロジェクト固有の要件に即した移行先EC2インスタンスの動作確認を行うこともできます。
7. カットオーバー準備の完了
移行テスト等のカットオーバー準備が完了した段階で実施することで、対象移行ウェーブに含まれるマシンに関する移行ステータスを進めます。カットオーバー準備の完了処理はMMFウェブコンソールの「ツール」を利用して実行します。
8. ソースサーバの停止(MMF実行スクリプト)
レプリケーションデータの整合性保証のために、カットオーバーの際には移行元マシンの停止を推奨しています。MMF実行スクリプトを使用することで、対象移行ウェーブに含まれる移行元マシンを自動でシャットダウンできます。
9. カットオーバー
カットオーバー処理によって、対象移行ウェーブに含まれるマシンに対応するターゲットマシンを起動することができます。ターゲットマシンは最新のレプリケーションデータをもとにして起動されます。MMFウェブコンソールの「ツール」を利用して実行し、「移行ステータス」からカットオーバーが問題なく実行されていることが確認できます。
図14. MMFウェブコンソール移行ステータス確認画面(カットオーバー後)
10. ターゲットマシンの状態確認(MMF実行スクリプト)
ターゲットマシンが起動されたら、移行先EC2インスタンスの動作確認のために独自のテストを実施することが可能です。また、MMF実行スクリプトによって、対象移行ウェーブに含まれる複数のEC2インスタンスの起動状態をチェックすることができます。実行内容は「テストEC2インスタンスの検証」と同様です。
11. 移行の完了
カットオーバーが無事に完了したら、移行の完了処理を行うことで、不要となるレプリケーションサーバの停止やレプリケーション用ボリュームのスナップショットの削除といった処理が自動で実施されます。移行の完了処理はMMFウェブコンソールのツールを利用して実行されます。
まとめ
当記事では、MGN Migration Factory (MMF)について紹介いたしました。AWS MGNを用いることで、高度に自動化された移行機能が無料で提供され、AWSへのリホスト移行を簡単かつ迅速に実施することができます。さらに、MMFを用いることで、移行が大規模となる際に複雑となる、AWS MGNの操作を含む手動プロセスを自動化し、AWSへの大規模なサーバーのリホストを迅速に実現することができます。
MGN Migration Factoryを今すぐ開始する
実装ガイドやMMFのウェブアプリケーションをデプロイするためのCloudFormationテンプレート、MMF実行スクリプトのソースコード等について、こちらの特設ページから参照・ダウンロードできます。
より詳細な移行プロセスについては実装ガイドにて、ご確認いただけます。
この記事を書いた人:Lead Migration PSA Satish Upreti
こんにちは。Satish Upretiと申します。私はLead Migration PSAという立場でパートナーの皆様の移行に関する技術的な支援をしています。私がAWSに入ったのは2020年8月、以来AWSの大ファンとしてパートナーチームと協力して、MASSの移行に関する課題をできる限り解決し、パートナーの移行能力を高め、パートナーとより高いレベルを目指すことを楽しんでいます!
もし、MASSの移行作業について何か課題があったり、アドバイスが必要な場合は、AWSの担当までぜひご連絡ください。
AWSへの移行のご相談はAWSコンピテンシー取得パートナーへ
AWS 移行コンピテンシーパートナーは、複雑な移行プロジェクトにおける検出、計画、移行、運用のすべての段階を通じて、AWS へのビジネスの移行を支援する豊富な経験に裏打ちされたソリューションを提供します。