オンプレミスで稼働しているサーバーをAWSに移行する案件は年々増えています。移行方法にはいくつかのアプローチがありますが、この記事ではAWS Application Migration Service(MGN)とVM Import/Exportを中心に、実践的な移行手順を解説します。
移行戦略の選択: 7つのR
AWSが提唱する移行戦略「7つのR」のうち、サーバー移行で主に選択されるのは以下の3つです。
Rehost(リフト&シフト)はそのままAWSに持っていく方法で、最もリスクが低く速い。ReplatformはOSやミドルウェアのバージョンアップを伴う移行。Refactorはアーキテクチャを刷新する移行で、最も時間がかかるが長期的なメリットが大きいです。
期限が迫っている場合はまずRehostで移行し、AWS上でRefactorを進める「2段階移行」が現実的です。
MGN(Application Migration Service)による移行
MGNはソースサーバーにエージェントをインストールし、ブロックレベルでデータを継続的にレプリケーションする仕組みです。
# MGNエージェントのインストール(Linux)
wget -O ./aws-replication-installer-init \
https://aws-application-migration-service-ap-northeast-1.s3.amazonaws.com/latest/linux/aws-replication-installer-init
chmod +x aws-replication-installer-init
sudo ./aws-replication-installer-init \
--region ap-northeast-1 \
--aws-access-key-id AKIAXXXXXXXX \
--aws-secret-access-key XXXXXXXX
エージェントインストール後、MGNが自動的にデータのレプリケーションを開始します。初回の同期が完了したら、テストカットオーバー → 本番カットオーバーの流れで移行を実施します。
VM Import/Exportによる移行
KVMやVMwareの仮想マシンイメージを直接インポートする方法です。MGNが使えない環境や、特定時点のスナップショットを移行したい場合に有効です。
# KVMイメージをS3にアップロード
aws s3 cp /var/lib/libvirt/images/server.qcow2 \
s3://migration-bucket/images/
# VM Importジョブの実行
aws ec2 import-image \
--description "Web Server Migration" \
--disk-containers '[{
"Description": "Web Server",
"Format": "qcow2",
"UserBucket": {
"S3Bucket": "migration-bucket",
"S3Key": "images/server.qcow2"
}
}]'
# 進捗確認
aws ec2 describe-import-image-tasks \
--import-task-ids import-ami-xxxxxxxxxxxx
移行後の必須チェックリスト
移行が完了したら、DNS切り替え前に入念なテストを行います。アプリケーションの動作確認、データベースの整合性チェック、外部連携の疎通確認を行い、問題なければDNSのTTLを短縮してから切り替えます。切り替え後も旧環境は1〜2週間は稼働させておき、ロールバックに備えましょう。
まとめ
オンプレからAWSへの移行は、計画段階が最も重要です。移行戦略の選定、適切なツールの選択、そしてカットオーバー手順の入念なリハーサル。この3つをしっかり行えば、大きなトラブルなく移行を完了できます。

コメント