AWS入門ブログリレー2024 〜Application Migration Service編〜

こんにちは、AWS事業本部の荒平(@0Air)です。

当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の13日目のエントリです。

このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。

AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 2024 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。

では、さっそくいってみましょう。今回のテーマは『Application Migration Service』です。

Application Migration Serviceの概要

このサービスは、オンプレミスや他クラウドなどの仮想サーバをAWSに移行できるサービスです。
IaaSのリフト移行(P2C, V2C, C2C)を考えたときに1番最初に出る選択肢ではないかと思います。

AWSのリージョン間での移行にも使え、ダウンタイムの発生を比較的少なく抑えられるのが特徴です。

図は、AWS アプリケーション移行サービスを使用してアプリケーションをクラウドにシームレスに移行する方法の一般的なプロセスを示しています。

なお、正式略称は「AWS MGN」です。本記事ではできるだけ略称は使いませんが、一部の図・文中で登場します。

歴史的経緯

これは覚えなくてよいのですが、このサービスはCloudEndureという元々別会社の製品で、2019年1月にAmazonが買収しました。AWS Application Migration Serviceは、正式な後継サービスの扱いとなります。
その影響で、一部のログやドキュメント、技術ブログ等に名残がある場合があります。

エラーメッセージを調べるとCloudEndureの情報が出てきたりしますが、仕様は大凡変わってないため、解決策はそのまま利用できる場合があります。

用語の理解

以下、公式ユーザーガイドの構成図を見ながら用語を理解します。

      AWS MGN network architecture modernization diagram

用語 内容
AWS Replication Agent Application Migration Serviceで利用する移行用のエージェント。ゲストOSにインストールし、AWSに継続的なレプリケーションを提供します。
Source Server ソースサーバ。移行元となるサーバのことを指します。
Replication Servers レプリケーションサーバ。ソースサーバのディスクをコピーし、MGN, EC2, S3の各サービスと通信する役目を果たします。
Test Instance テストインスタンス。レプリケーションしたデータからインスタンスが立ち上がるなど、アプリケーションの動作を確認するときに立ち上げるインスタンスです。テストインスタンスでの変更は、フェーズ移行により保存されず(基本的に)失われるため注意が必要です。
Cutover Instance カットオーバーインスタンス。いわゆる移行後のEC2インスタンスです。テストインスタンスと違い、加えた変更はインスタンスを立て直さない限り保存されます。
Finalize ファイナライズ。ソースサーバからのレプリケーションを停止し、コピーしたデータを破棄します。この処理を実行した後にカットオーバーインスタンスの立て直しはできません(実施したい場合は、レプリケーションのやり直しから再開)
Staging Area Subnet ステージングエリアサブネット。主にレプリケーションサーバやテストインスタンスを起動するためのネットワークを指します。なお、カットオーバーインスタンスを立てるサブネットを全て分けたり、逆に全て同一にすることもできます。
Post Launch Action 起動後アクション。SSM AgentやCloudWatch Agentのインストール、OSのアップグレードなどを移行と同時に実施することができます。

移行の流れ

弊社ブログでは何度か移行の流れを紹介しておりますので、詳しくは以下をご覧ください。

一般的な移行の流れは以下のイメージです。

  • IAMインスタンスプロファイルを作成する
  • 移行先ネットワークを準備する
  • 起動後アクションを設定する
  • AWS Replication Agentをインストールする
  • テストインスタンスを起動
  • アプリケーションのテスト
  • カットオーバーインスタンスを起動
  • DNS切り替え
  • ファイナライズ

ベストプラクティス

Application Migration Serviceにおけるベストプラクティスは公式ドキュメントに記されており、事前に確認することをお勧めします。

Perform test at least two weeks before you plan to migrate your source servers.

(ソース サーバーの移行を計画する少なくとも 2 週間前にテストを実行してください)

とあるように、移行の2週間前にはテストインスタンスにて接続を検証することが推奨されています。

Application Migration Serviceの要件

大きく分けて、OSへのレプリケーションエージェントインストール要件と、ネットワーク要件の2種類を確認する必要があります。

AWS Replication Agentのインストール要件

かなり古いOSまでサポートしています。ただし、レガシーOSはEC2のNitro非対応など、考慮すべき点があります。

【Windows】

  • Windows Server 2022 64bit
  • Windows Server 2019 64bit
  • Windows Server 2016 64bit
  • Windows 10 64bit
  • Windows Server 2012 R2 64bit
  • Windows Server 2012 64bit
  • Windows Server 2008 R2 64bit
  • Windows Server 2008 64bit/32bit
  • Windows Server 2003 R2 64bit/32bit
  • Windows Server 2003 64bit/32bit

【Linux (64bitのみ)】

  • Amazon Linux 1, 2, 2023
  • CentOS 5.5 - 7.9
  • Debian Linux 8 - 11
  • Oracle Linux 6.0 - 7.0, 8.5 - 8.9
  • Red Hat Enterprise Linux 5.5 - 9.0
  • Rocky Linux 8, 9
  • SUSE Linux Enterprise Server 11 SP4 - 15 SP5
  • Ubuntu LTS 12.04 - 22.04

また、それぞれのOSでは、ディスクサイズや.NET Framework、Pythonのバージョンなど別途考慮事項があります。
以下のページを事前に確認してください。

ネットワーク要件

Application Migration Serviceの通信は全てTLSで暗号化されます。
TCP 443, 1500の通信をネットワーク機器およびファイアウォールで許可する必要があります。

Application Migration Serviceの料金

最新の料金は以下をご確認ください。

ソースサーバ1台あたりに90日の無料期間が設定されているのが嬉しいです。

項目 料金
1台あたり最初の 90 日間 (2,160 時間) のレプリケーション 無料
1 時間あたりのコスト (90日後) 0.042 USD/サーバー
1 か月あたりのコスト (90日後) ~30 USD/サーバー

上記の利用料金に、通信量、レプリケーションサーバEC2の利用料、ディスクサイズに応じた料金が課金されます。

Appication Migration Serviceのクォータ

最新のサービスクォータはドキュメントをご確認ください。

特に引っ掛かりやすいのは、「同時進行中のジョブ:20 (調整不可)」「アクティブなソースサーバの最大数:150」で、大規模な移行においては、このあたりの注意が必要です。

おわりに

以上、『AWS 入門ブログリレー 2024』の13日目のエントリ『Application Migration Service』編でした。

次回、2024年4月7日(日)は弊社石川覚による「Amazon Athena」編の予定です!

このエントリが誰かの助けになれば幸いです。

それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!