AWS Database Migration Service のアイコン

AWS Database Migration Service

最小限のダウンタイムでデータベースを AWS に移行できるフルマネージド移行サービス

何ができるか

AWS Database Migration Service (DMS) は、オンプレミスや他のクラウドのデータベースを AWS に移行するためのフルマネージドサービスです。同種のデータベース間 (Oracle から Oracle) の移行だけでなく、異種データベース間 (Oracle から Aurora) の移行にも対応しています。移行中もソースデータベースは稼働し続けるため、ダウンタイムを最小限に抑えられます。継続的なデータレプリケーション (CDC) 機能により、移行完了後もソースとターゲット間のデータ同期を維持でき、段階的な移行戦略を実現できます。

どのような場面で使うか

オンプレミスの Oracle や SQL Server から Aurora や RDS への移行、商用データベースからオープンソースデータベースへの移行によるライセンスコスト削減、データウェアハウスの Redshift への移行、開発・テスト環境用のデータベースレプリカの作成、マルチクラウド環境でのデータベース統合、リアルタイムデータレプリケーションによる分析基盤へのデータ供給など、データベース移行と同期の幅広いシナリオで活用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

水槽の引っ越しに例えるとわかりやすいでしょう。魚 (データ) を古い水槽 (ソース DB) から新しい水槽 (ターゲット DB) に移すとき、一度に全部移すと魚にストレスがかかります。DMS は水を少しずつ新しい水槽に移しながら (継続的レプリケーション)、魚が元気なまま (ダウンタイムなし) 引っ越しを完了させてくれます。水槽の形が違っても (異種 DB) 対応できます。

DMS とは

AWS Database Migration Service は、データベース移行の複雑さを大幅に軽減するフルマネージドサービスです。従来のデータベース移行では、スキーマ変換、データ転送、整合性検証、アプリケーションの切り替えなど多くのステップを手動で管理する必要がありました。DMS はデータ転送と継続的レプリケーションを自動化し、移行プロジェクトのリスクと工数を削減します。Oracle、SQL Server、MySQL、PostgreSQL、MongoDB、Amazon Aurora など 20 以上のデータベースエンジンに対応しています。

移行の仕組み

DMS の移行プロセスは、レプリケーションインスタンスの作成、ソースとターゲットのエンドポイント設定、移行タスクの定義の 3 ステップで構成されます。フルロード (全データの一括転送) と CDC (変更データキャプチャ) を組み合わせることで、初期データの移行後もソースデータベースの変更をリアルタイムにターゲットに反映し続けます。テーブルマッピングルールにより、特定のスキーマやテーブルのみを移行対象にしたり、カラム名の変換やフィルタリングを適用することも可能です。

Schema Conversion Tool との連携

異種データベース間の移行では、AWS Schema Conversion Tool (SCT) との連携が重要です。SCT はソースデータベースのスキーマ (テーブル定義、ストアドプロシージャ、ビューなど) をターゲットデータベースの形式に自動変換します。自動変換できない部分はレポートとして出力され、手動での対応箇所を明確にします。SCT でスキーマを変換した後、DMS でデータを移行するという 2 段階のアプローチにより、異種データベース間の移行を体系的に進められます。

移行の検証とモニタリング

DMS はデータ検証機能を備えており、ソースとターゲットのデータが一致していることを自動的に確認します。行数の比較やデータ内容の検証を行い、不一致があればレポートに記録します。移行タスクの進捗は CloudWatch メトリクスでリアルタイムに監視でき、レプリケーションの遅延、エラー数、スループットなどの指標を確認できます。問題が発生した場合は SNS 通知を設定して即座にアラートを受け取れます。

Azure・オンプレミスとの比較

Azure の対応サービス Azure Database Migration Service
オンプレミスでの対応手段 Oracle GoldenGate、Attunity Replicate

AWS の優位点

  • Oracle、SQL Server、MySQL、PostgreSQL、MongoDB など 20 以上のデータベースエンジンに対応し、同種・異種を問わず幅広い移行パターンを単一サービスでカバーできる
  • 継続的データレプリケーション (CDC) 機能により、移行中もソースデータベースを稼働させたまま変更を同期し続けるため、ダウンタイムを数分レベルに抑えた移行を実現できる
  • Schema Conversion Tool との連携により、異種データベース間のスキーマ変換を自動化し、手動変換が必要な箇所を明確にレポートすることで移行プロジェクトの計画精度を向上できる

注意点

  • 異種データベース間の移行では Schema Conversion Tool によるスキーマ変換が必要で、ストアドプロシージャの手動変換が発生する場合がある
  • レプリケーションインスタンスのサイズはデータ量と変更頻度に応じて適切に選定し、移行中のパフォーマンス低下を防ぐこと

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。