11
2

AWS MGN(application migration service)を使ってみた

Last updated at Posted at 2024-07-28

MGNはオンプレからAWSへの移行時に利用できるサービスで他製品と比較して移行時のダウンタイムもすくなく、かなり便利なサービスだとおもいます。※対象OSに縛りはありますが。(サポートOS:https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html)

すでに色々なサイトでやり方については記載があったりしますが、AWSのUIは更新頻度も高く需要がそこそこありそうかなという思いと、そもそも忘れっぽいので記事にしたいと思います。

前提

移行元OS:Ubuntu 22.04.1 LTS(仮想マシン)
ESXi : 7.0 Update 2
※OSユーザは必ずSSH鍵認証を有効にしておくこと。

通信要件

MGNを利用するにあたり、事前に公式ページから通信要件を確認したいと思います。
以下、アーキテクチャとネットワークの概要が確認できます。

image.png
※引用元:https://docs.aws.amazon.com/ja_jp/mgn/latest/ug/Network-Settings-Video.html

必要になる要件は、オンプレサーバからMGN宛てのHTTPS通信とステージング領域のレプリケーションサーバ宛TCP1500が必要であり且つ、レプリケーションサーバからMGN宛てのHTTPSが必要となります。

このため、ステージング用VPCと移行先VPC環境にInetrnet-GWをアタッチする構成にしたいと思います。また、以前は個別にセキュリティグループを作成する必要があったようですが、現在は自動で作成してくれるようです。

作業は以下の流れで進めていきます。

  • IAMユーザ作成
  • VPC関連作成
  • MGNレプリケーションテンプレート設定
  • オンプレAgent導入
  • MGN レプリケーション確認
  • MGN テストインスタンス起動
  • MGN カットオーバーインスタンス起動
    ※VPC設定など不要なところがあれば、読み飛ばしてください。

1. IAMユーザ作成

それでは、レプリケーション用に使用するユーザを作成します。ユーザ名をmgn-userとして作成ます。
image.png

許可のオプションで「ポリシーを直接アタッチする」を選択して、「AWSApplicationMigrationAgentPlicy」を選択します。
image.png

「ユーザ作成」をクリックします。
image.png

続いて、作成したユーザをクリックして、アクセスキーを作成しましょう。
image.png

ユースケースは「コマンドラインインタフェース(CLI)を選択して、「アクセスキーをアクセスキーを作成」をクリックします。
image.png

後ほどオンプレマシン側の設定で利用するので必ずcsvファイルをダウンロードしておきましょう。
image.png

2. VPC関連の設定

レプリケーション用EC2インスタンスが生成されるステージング用VPCと本番用EC2インスタンスが生成されるデプロイ用VPCを作成します。今回はそれぞれのVPCにInetrnet-GWをアタッチしていますが、こちらは構成に合わせて変えていただければと思います。

ステージング用VPCを作成します。CIDRは10.0.0.0/16として作成ます。
image.png

続いて、デプロイ用VPCを作成します。CIDRは10.2.0.0/16として作成します。
image.png

次に、それぞれのサブネットを作成します。ステージング用VPCとデプロイ用VPCでそれぞれ1つ作成しましょう。

・ステージング用
image.png

・デプロイ用
image.png

Inetrnet-GWもそれぞれ1つ作成します。

・ステージング用
image.png

・デプロイ用
image.png

作成後はそれぞれのVPCにアタッチしておきます、

続いて、ルートテーブルを作成します。こちらもそれぞれ1つ作成します。

・ステージング用
image.png

テーブル作成後はサブネットの関連付けをします。「サブネットの関連付け」タブをクリックし、「サブネットの関連付けを編集」をクリックします。
image.png

ステージング用セグメントを選択して、「関連付けを保存」をクリックします。
image.png

最後にルートテーブルを追加しましょう。「ルート」タブをクリックし、「ルートを編集」をクリックします。
image.png

インターネット向け(0.0.0.0/0)としてInternet-GWを選択して、「変更を保存」をクリックします。
image.png

同様の方法で、デプロイ用セグメントも変更してください。

3. MGN設定

それではいよいよ、Application Migration Serviceの設定に入ります。画面左メニューの「設定」から「レプリケーションテンプレート」をクリックし、編集をクリックします。(私の画面ではすでに一度設定済みの為、初回画面では表示が異なるかもしれません。。。。)

image.png

画面遷移後、ステージング領域サブネットに先ほど作成したステージング用サブネットを選択しておきましょう。
image.png

今回セキュリティグループは自動生成してもらう事にしますので、デフォルト設定のままでいきます。その他もデフォルト設定として、「テンプレートを保存」をクリックします。
image.png

これで、一旦AWS側の設定は完了です。次はオンプレ側の設定入ります。

4. オンプレAgentインストール

レプリケーション用Agentをダウンロードしましょう。以下公式ページに案内があります。
URL: https://docs.aws.amazon.com/ja_jp/mgn/latest/ug/linux-agent.html

リージョンを指定すればよいみたいなので、今回は東京リージョンを利用しますので以下のコマンドを一般ユーザで実行します。

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

ダウンロードが完了したら、IAMユーザ作成時のcsvファイルを開き、以下コマンドの*をご自身の内容に置き換えてから実行しましょう。

$ sudo python3 ./aws-replication-installer-init --region ap-northeast-1 --aws-access-key-id ******************** --aws-secret-access-key ****************************************

問題なければ以下のように表示されます。

The installation of the AWS Replication Agent has started.
Identifying volumes for replication.
Choose the disks you want to replicate. Your disks are: /dev/sda
To replicate some of the disks, type the path of the disks, separated with a comma (for example, /dev/sda,/dev/sdb). To replicate all disks, press Enter:
Identified volume for replication: /dev/sda of size 30 GiB
All volumes for replication were successfully identified.
Downloading the AWS Replication Agent onto the source server...
Finished.
Installing the AWS Replication Agent onto the source server...
Finished.
Syncing the source server with the Application Migration Service Console...
Finished.
The following is the source server ID: s-603bdeaf62f35b991.
You now have 1 active source server out of a total quota of 150.
Learn more about increasing source servers limit at https://docs.aws.amazon.com/mgn/latest/ug/MGN-service-limits.html
The AWS Replication Agent was successfully installed.

これでAgentの設定も完了です。AWSコンソールに戻りレプリケーション状態を確認します。

5. MGN レプリケーション確認

Agentから通信が発生すると、MGNのソースサーバー画面が以下のように変化します。
image.png

ソースサーバー名をクリックすると、詳細を確認することができます。
image.png

画面下を見るとレプリケーション開始ステップの状況がわかります。このステップがすべて緑になり、レプリケーションの進行状況が100%で且つスナップショットが生成されると次のステップに進むことができます。
image.png

この際、EC2インスタンスを確認すると、Replication Serverが起動していることがわかります。
image.png

初期レプリケーションが完了すると、テストの準備完了にフェーズが移ります。
image.png

では、テストインスタンスをデプロイ用セグメントで起動ましょう。

6. MGN テストインスタンス起動

EC2の起動テンプレートが新たに作成されています。こちらのテンプレートからテストインスタンスを稼働させるセグメントを指定していきたいと思います。アクションから「テンプレートを変更」をクリックします。
image.png

ネットワーク設定まで画面をスクロールさせ、サブネットを作成したdeploy-1aを選択します。EC2インスタンスに適用するセキュリティグループは適宜用途に合わせて作成しておいたものを選択してください。「テンプレートのバージョンを作成」ボタンをクリックします。
image.png

続いて、デフォルトバージョンも変更しておきましょう。アクションから「デフォルトバージョンを設定」をクリックし、最新バージョンを選択して「デフォルトバージョンとして設定」ボタンをクリックします。
image.png

これで、テストインスタンスを起動する準備が整いましたのでMGNのソースサーバの画面に遷移して「テストインスタンスを起動」をクリックします。
image.png

「起動」ボタンをクリックします。
image.png

しばらくすると、Conversion Serverが起動してきます。
image.png

Conversion Serverは2/2のチェックに合格し、しばらくすると終了してその後ターゲットのEC2インスタンス(オンプレから移行したサーバ)が表示されます。ステータスは停止中⇒停止済み⇒実行中と遷移します。この処理には数分かかります。
image.png

実行中になったので、OSにログイン確認してみたいと思います。
image.png

無事ログインできました!
image.png

この後はカットオーバー処理に移行します。

7. MGN カットオーバーインスタンス起動

テストインスタンスに無事アクセスできたところで、MGN画面より「カットオーバーの準備完了してマーク」をクリックします。これをしないと次のフェーズに進めないため、必ず実行します。インスタンスが終了するまで待ちます。
image.png

ではカットオーバーインスタンスを起動しましょう。「カットオーバーインスタンスを起動」をクリックします。
起動までの流れはテストインスタンスと同じになります。
image.png

インスタンス起動が完了したら、「カットオーバー最終処理」をクリックします。これでレプリケーションが停止します。
image.png

「最終処理」ボタンをクリックします。
image.png

これで移行完了です。
image.png

移行元のサーバを見ると、レプリケーションサーバからリセットパケットが飛んでいるのがわかります。
image.png

ただ、このままだとAWS Application Migration Service Replication Serverが残り続けますので、ソースサーバの一覧のアクションから「アーカイブとしてマーク」をクリックしましょう。これでAWS Application Migration Service Replication Serverは停止します。

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2