3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS MGN移行時の静止点の取り方

Posted at

内容

AWS MGNを使用して、オンプレミス環境からAWSへ仮想マシンをリホスト方式で移行します。MGNはブロック単位で継続的にレプリケーションを行います。オンプレミスのサーバでMySQLやSQL Serverなどのデータベースが稼働している場合、静止点(データの整合性が取れた状態)を確保した上でカットオーバー処理を行う必要があります。ここでは、MGNの移行フローを踏まえ、静止点を取るべきポイントを確認します。

移行の流れ

移行ワークフローに移行の流れの記載があります。上記手順の中から移行操作とデータ同期の箇所を抜き出すと下記の様な流れになります。「ソースサーバ上の全ての運用サービスを停止」後、カットオーバー処理にて最終同期を実施して切り替えを行います。

  • 初期同期の完了を待つ
  • テストインスタンスを起動
  • テスト完了後、テストインスタンスを終了
  • ソースサーバ上の全ての運用サービスを停止
  • カットオーバーインスタンスを起動
  • カットオーバーの確定処理

静止点の取り方

AWS MGNには、データベースの整合性を自動で担保するようなアプリケーション整合性の制御機能はありません。そのため例として、下記の様にユーザ側でアプリケーションの状態を制御し、静止点を確保する対応が必要です。

  • WEBサーバのサービス停止
  • データベースサービスの停止
  • ファイルI/Oを行うサービスの停止

移行の検証

移行検証を実施して、ポイントとなる箇所を見ていきます。下記はソースインスタンスにエージェントのインストールを行い、初期同期完了、テストインスタンス起動→テスト完了→テストインスタンス終了を行い、カットオーバーインスタンスの起動準備が出来た状態です。ここから最終同期処理の確認を行います。

mgn03.png

今回、Amazon Linux上でMariaDBが稼働している環境を想定します。下記の様に静止点を取るためにMariaDBのサービスを停止します。また、自動起動を一時的に無効化しておきます。

systemctl stop mariadb
systemctl disable mariadb

また、同様のポイントで同期が行われているか簡易的に確認するために、テストファイルも作成しておきます。

touch 20250513.txt

サーバの再起動を行います。

reboot

mgn10.png

レプリケーションステータスを確認します。「最終閲覧日」が再起動後の時間であることを確認します。

「カットオーバーインタンスの起動」を行います。

mgn04.png

カットオーバー後のインスタンスにログイン後、MariaDBの状態が停止中であること、テスト用ファイルが存在することを確認します。

systemctl status mariadb
○ mariadb.service - MariaDB 10.5 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; preset: disabled)

ls
20250513.txt 

MariaDBのサービス起動、自動起動を有効化後、「カットオーバーの最終処理」を行います。

systemctl start mariadb
systemctl enable mariadb
3
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?