AWS DMSとは (Database Migration Service)

目次

DMS(Database Migration Service)とは

DMSとは、データベースをAWSクラウドへ移行するためのマネージドサービスです。

 

移行の種類

同種移行 例)Oracle → Oracle(RDS)、MySQL → MySQL(RDS)
異種移行 例)Oracle → Amazon Aurora、SQL Server → PostgreSQL

 

移行モード

一回限りの移行 既存DBを完全にAWSへ移動
継続的なレプリケーション(CDC) ソースDBの変更をリアルタイムで同期(Change Data Capture)

 

対応データベース

ソースおよびターゲットとして、Oracle、SQL Server、MySQL、PostgreSQL、MongoDB、Amazon Aurora、Amazon Redshift、DynamoDB など多数に対応しています。

 

仕組み

ソースDB → DMSレプリケーションインスタンス → ターゲットDB
  1. レプリケーションインスタンスを作成(EC2ベースのマネージド環境)
  2. ソース/ターゲットのエンドポイントを設定
  3. 移行タスクを定義・実行

基本的な仕組み

レプリケーションインスタンス 移行処理を実行するマネージドなEC2インスタンス。ソースからデータを読み取り、ターゲットへ書き込むエンジンとして機能します。
エンドポイント ソース(移行元)とターゲット(移行先)の接続情報(ホスト名、ポート、認証情報など)を定義したものです。
レプリケーションタスク どのテーブルをいつどのように移行するかを定義する設定です。

 

メリット

ダウンタイム最小化 CDCにより、移行中もソースDBを稼働し続けられる
フルマネージド インフラ管理不要
スキーマ変換 AWS SCT(Schema Conversion Tool)と組み合わせて異種DB間のスキーマ変換も可能
低コスト 使った分だけの従量課金

     

    よくあるユースケース

    • オンプレミスDBをAWS RDSやAuroraへ移行
    • 本番環境を止めずにクラウドへ段階的移行
    • 開発・テスト環境の複製
    • 継続的なデータ同期・レプリケーション

    DMSの確認場所

    AWSマネジメントコンソール画面で確認できます。
    (以下は、旧ナビゲーション)

     

    DMSレプリケーションインスタンス(EC2)

    AWSコンソール
    → 「Database Migration Service」を検索・選択
    → 左メニュー「レプリケーションインスタンス」

    ここで、作成済みのインスタンス一覧・状態(available / stopped など)が確認できます。

     

    移行タスク

    AWSコンソール
    → 「Database Migration Service」を検索・選択
    → 左メニュー「データベース移行タスク」
    ここで、タスクの一覧・状態(実行中 / 停止 / 完了 など)が確認できます。

     

    エンドポイント

    AWSコンソール
    → 「Database Migration Service」を検索・選択
    → 左メニュー「エンドポイント」

     

    コスト確認

    不要なリソースが残っていないか確認する場合は、合わせて以下も確認するとよいです。

    AWSコンソール → 「Billing」→「コストエクスプローラー」
    → サービス:Database Migration Service でフィルタ

    DMSの削除

    削除してよいケース

    完全移行(カットオーバー)が完了した場合

    • ソースDBからの移行が100%完了
    • アプリケーションがターゲットDBに切り替え済み
    • データ整合性の検証も完了
      → DMSタスク・レプリケーションインスタンスともに削除可能

     

    残すべきケース

    継続的なレプリケーション(CDC)を続けている場合

    • オンプレミスとAWSを並行稼働中
    • 段階的な移行でまだ切り替えが完了していない
      → 移行完了まで残す必要あり

    ロールバック手段として温存したい場合

    • カットオーバー直後の一定期間、問題発生時に備えて残す
    • 安定稼働を確認したら削除


    基本的には移行完了・安定確認後は、タスクだけでなくレプリケーションインスタンスまで削除します。

    関連の記事

    AWS Aurora(MySQL)のライターインスタンス

    △上に戻る