ある企業がオンプレミスで稼働する MySQL データベース(30TB)をダウンタイムなしで Amazon Aurora MySQL に移行したいと考えています。現在、毎秒数百件の書き込みトランザクションが発生しており、移行期間中もアプリケーションの継続稼働が必要です。移行後、しばらくはオンプレミスと Aurora の両方を並行稼働させてデータ整合性を確認したいと考えています。最も適切な移行アプローチはどれですか?
- A. Aurora の標準的なインポート機能で mysqldump を使って全データをエクスポートし、Aurora に一括インポートする
- B. オンプレミス MySQL に Aurora の外部レプリカを作成し、Aurora をスタンバイとして設定する
- C. AWS DMS(Database Migration Service)で継続的レプリケーション(CDC)を設定し、オンプレミス MySQL を ソース、Aurora MySQL を ターゲットとして全データの初期ロードと差分の継続的同期を並行して実行する。アプリケーションの切り替え後も一定期間、DMS のレプリケーションを維持して双方のデータ整合性を監視する
- D. AWS Database Migration Service の「データ検証」モードのみを使用して移行前のデータ品質を確認し、その後手動でデータを移行する
解答と解説を見る
正解: C
AWS DMS の CDC 機能はソースデータベースのバイナリログを読み取り、継続的に変更差分をターゲットに反映します。初期ロード中も発生する変更はキャプチャされ、ロード完了後に追いつく形で適用されます。アプリケーション切り替え後も DMS を稼働させることで、オンプレミスと Aurora のデータ整合性をリアルタイムで監視できます。 A: mysqldump による一括エクスポートには長時間かかり、エクスポート中の書き込みデータが失われるため、ダウンタイムなしの移行要件を満たせません。 B: Aurora の外部レプリカ(Read Replica)は Aurora から外部 MySQL への一方向のレプリケーションで、オンプレミス MySQL から Aurora への移行方向とは逆です。 D: DMS のデータ検証のみでは実際のデータ移行が行われず、その後の手動移行ではダウンタイムなしの要件を満たせません。
📚 関連サービスの解説: AWS DMS ・ Amazon Aurora