AWS Application Migration Service (AWS MGN) を使ってみた

はじめに

今回は、EC2 上に WordPress をインストールした Webサーバを移行元として用意しました。AWS MGN を利用して、マイグレーション(リホスト)を検証してみました。

検証準備

  • 移行元インスタンスの用意。今回はAmazon Linux2 に WordPress をインストールしました。
  • WordPress の「WordPress URL」「サイト URL」は IPではなく、ドメインを振っておく。
  • 移行元インスタンスへ AWS MGN Replication Agent をインストールし、AWS MGN コンソール上で、「Ready for testing」まで進める。
    参考 : https://aws.amazon.com/jp/blogs/aws/how-to-use-the-new-aws-application-migration-service-for-lift-and-shift-migrations/

検証開始

AWS MGN Replication Agent をインストールし、「Initial replication finished」となっている事を確認する。

「Next actions」に「Launch test instance」とあるので、「Test and cutover」から「Launch test instances」をクリックする。
表示される内容を確認して「Launch」をクリックする。

少し時間が経つと、EC2 コンソール上に「AWS Application Migration Service Conversion Server
」というインスタンスが起動し、ボリュームのスナップショットが取得された後に Tarminate される。取得されたスナップショットから test instance が起動する。

「Next actions」が「Complete testing and mark as ‘Ready for cutover’」となったら、test instance のパブリックIPを WordPress ドメインの Aレコードに向けてあげる。ブラウザで確認してみると正常に WordPress のダッシュボードが確認できました。
※ MGN の起動テンプレートでパブリックIPを有効化しておきました。

正常にマイグレーションできている事を確認し、「Test and cutover」から「Mark as “Ready for cutover”」をクリックする。表示される内容を確認して「Continue」をクリックする。

次に、WordPress ドメインの Aレコードを移行元IPに戻し、移行元にて WordPress のブログを追加しておきます。

「Next actions」が「Launch cutover instance」となったら、「Test and cutover」から「Launch cutover instances」をクリックする。

表示される内容を確認して「Launch」をクリックする。

test instance を起動した時と同じ様な処理が走り、cutover instance が起動します。起動したら、cutover instance のパブリックIPを WordPress ドメインの Aレコードに向けて、ブラウザで確認します。

追加したブログが反映されている事がわかりました。

最後に、「Test and cutover」から「Finalize cutover」をクリックします。

「Finalize cutover」を実施すると、移行元で下記プロセスが自動で走ります。

sudo ./uninstall_agent_linux.sh

この処理は、AWS MGN Replication Agent のアンインストールを実施してくれます。これで AWS MGN でのマイグレーションが完了します。

まとめ

今回は、AWS MGN を利用してマイグレーションをしてみました。個人的には、AWS MGN の説明などでよく「ブロックレベルでの継続的なデータレプリケーション」というワードを目にしますが、移行元の変更をレプリケーションして、リアルタイムに移行先に反映してくれる。と、受け取ってしまうかもしれませんが、データレプリケーションされるのは、移行元から、AWS MGN 利用時に作成されるレプリケーションサーバまでとなります。なので、移行にかかるダウンタイムという点で言えば、移行元の最終更新後から、cutover instance を起動し、動作確認を経て DNS 切り替えするまでがダウンタイムになると思います。

AWS MGN を活用する事で、オンプレ環境や他Cloudサービスからのリホストが簡単に行える様になりました。ただし、あくまでもリホストなので、その後のAWSサービスを駆使したリプラットフォームも併せて計画したいですね。