AWS Application Migration Service (MGN) によるリフト&シフト移行の実践

エージェントのインストールからカットオーバーまでのリフト&シフト移行手順を実践的に紹介。設計上の注意点とネットワーク構成も解説します。

MGN の仕組みとメリット

AWS Application Migration Service (MGN) は、オンプレミスや他クラウドのサーバーを AWS へリフト&シフト移行するためのサービスです。ソースサーバーに軽量なレプリケーションエージェントをインストールすると、ブロックレベルでディスクの内容を AWS にリアルタイムで複製し続けます。レプリケーション中もソースサーバーは通常どおり稼働するため、移行によるダウンタイムはカットオーバー時の数分間に限定されます。従来の Server Migration Service (SMS) がスナップショットベースの定期同期だったのに対し、MGN は継続的レプリケーションにより RPO をほぼゼロに近づけます。

移行の手順 - エージェント導入からカットオーバーまで

移行は 4 つのフェーズで進行します。第 1 フェーズはエージェントのインストールです。ソースサーバーに AWS Replication Agent をインストールすると、MGN コンソールにサーバーが表示され、初期同期が開始されます。第 2 フェーズは起動設定の構成です。起動テンプレートでインスタンスタイプ、VPC、サブネット、セキュリティグループ、IAM ロールを定義します。第 3 フェーズはテスト起動です。テスト用の EC2 インスタンスを起動し、アプリケーションの動作確認、ネットワーク接続、パフォーマンスを検証します。問題があれば起動設定を修正して再テストできます。第 4 フェーズがカットオーバーです。最終的なデータ同期を実行し、本番用の EC2 インスタンスを起動します。DNS の切り替えやロードバランサーの設定変更でトラフィックを新環境に向けます。

設計上の注意点

レプリケーションにはソースサーバーから AWS への安定したネットワーク接続が必要です。帯域幅の目安として、 100 GB のディスクを 24 時間以内に初期同期するには約 10 Mbps が必要です。 Direct Connect や VPN 経由での接続を推奨します。レプリケーション用のステージングエリアには軽量な EC2 インスタンス (t3.small 程度) と EBS ボリュームが自動作成されます。このコストはソースサーバー 1 台あたり月額数ドル程度です。大規模移行では、 Migration Hub を併用して移行の進捗を一元管理し、アプリケーション単位でサーバーをグループ化して依存関係のあるサーバーを同時にカットオーバーすることが重要です。 サーバー移行に関する詳しい解説はAmazon の関連書籍でも確認できます。

MGN の料金

MGN の利用料金は無料で、レプリケーションエージェントのインストールと継続的レプリケーションに追加料金は発生しません。コストはレプリケーション用のステージングエリア (軽量な EC2 インスタンスと EBS ボリューム) の料金です。テストインスタンスの起動時にはターゲットスペックの EC2 料金が発生するため、テスト完了後は速やかに終了します。カットオーバー後はレプリケーションを停止してステージングエリアのリソースを削除し、不要なコストを排除します。

リフト&シフトという戦略

リフト&シフトは、サーバーを大きく作り変えずに、ほぼそのままクラウドへ移す移行戦略です。アプリケーションの改修を伴わないため、移行のリスクと期間を抑えられ、最も速くクラウドへ到達できる手段になります。データセンターの契約終了が迫っている、まず確実にクラウドへ移したい、といった状況で有効です。クラウドネイティブへの作り変えは、移行が完了して安定してから段階的に進められます。完璧な最適化を最初から目指すのではなく、まず移すことを優先し、その後で改善するという考え方が、現実的な移行を可能にします。

テスト起動による検証

MGN の大きな利点は、本番を切り替える前に、移行先で動作を検証できることです。複製したデータからテスト用のインスタンスを起動し、アプリケーションが AWS 上で正しく動くかを確認します。この検証は移行元のサーバーに影響を与えずに行えるため、業務を止めることなく、繰り返しテストできます。ネットワークの接続、依存するシステムとの連携、性能などを、実際に動かして確かめます。本番切り替えの前に十分にテストを重ねることで、切り替え当日の想定外のトラブルを防ぎ、自信を持ってカットオーバーに臨めます。

カットオーバーとロールバック

本番への切り替え (カットオーバー) は、移行のクライマックスです。MGN は移行元のデータを継続的に複製しているため、切り替え直前まで同期した状態から移行でき、ダウンタイムを短く抑えられます。切り替えのタイミングは、業務への影響が少ない時間帯を選びます。切り替え後は、アプリケーションが正常に動作しているかを速やかに確認します。万一問題が起きた場合に備え、元の環境へ戻せる手順を用意しておくことが重要です。計画的なカットオーバーと、切り戻しの備えを整えることで、移行を安全に完了させられます。

移行後のモダナイゼーション

リフト&シフトで移行が完了したら、それを足がかりにクラウドの利点を引き出していきます。まず、実際の使用状況に基づいてインスタンスのサイズを適正化し、コストを下げます。続いて、データベースをマネージドサービスへ移す、処理をコンテナやサーバーレスへ置き換えるといったモダナイゼーションを、優先順位を付けて段階的に進めます。すべてを一度に作り変えるのではなく、効果の大きいものから着手することで、リスクを抑えつつ運用負荷と費用を継続的に削減できます。移行をゴールではなく、最適化の出発点と位置づけることが重要です。

まとめ

MGN はリフト&シフト移行の標準ツールとして、エージェントベースの継続的レプリケーションで最小ダウンタイムの移行を実現します。ソースサーバーにエージェントをインストールするだけでブロックレベルのレプリケーションが開始され、テストインスタンスの起動で移行前の動作検証を実行します。カットオーバー時のダウンタイムは通常数分で、大規模な移行プロジェクトにも対応します。