Amazon Database Migration Service (DMS) を使った移行について

概要

AWS Database Migration Service を使用すると、データベースを短期間で安全に AWS に移行することができる。

以下2点はとても大きな特徴だ

  • 移行中でもソースデータベースは完全に利用可能な状態に保たれる
  • データベースを利用するアプリケーションのダウンタイムを最小限に抑えられる

DMS についてまとめた。

DMS を使った Database Migration をする際の流れ

  1. ソースデータベースからターゲットデータベースにデータを割り当てる。
  2. 移行するタスクを実行するのに十分なストレージと処理能力を持つレプリケーションインスタンスを作成する

AWS DMSタスクは、すべての処理が行われる場所になる。ここで

  • ログ記録要件
  • 制御テーブルデータ
  • エラー処理

など、移行と特別な処理に使用するテーブルとスキーマを指定することができる。

タスクを設定方法について

移行タスクを作成する前に、DMSコンソールで以下3つを作成する。

  • ソースエンドポイント
  • ターゲットエンドポイント
  • レプリケーションインスタンス


移行タスクを調整するために多くのタスク設定を指定することが可能だ。

AWS マネジメントコンソール、 AWS CLI、または AWS DMS API を使用して設定する。

これらの設定には、以下の項目を変更することが可能

  • 利用するテーブル構成
  • レプリケーションプロセス
  • 移行エラーの処理方法
  • エラーのログ記録
  • および制御テーブル情報を指定

移行のタイプは “migrate existing data and replicate ongoing changes (初期転送後、差分転送開始)”を指定すると、タスクを作成した後、直ちに実行できる。

この点は Classmethod のブログが非常にわかりやすい。

https://dev.classmethod.jp/articles/lets-try-aws-database-migration-service-dms/

必要なメタデータ定義を含むターゲットテーブルが自動的に作成されてロードされるため、継続的なレプリケーションを指定できる。

ただし、以下の仕様を理解する必要がある。

  • デフォルトではタスクを作成するとすぐに、AWS DMS によりタスクが開始される。
    ただし、タスクの開始を延期することが可能。
  • ・AWS DMS コンソール、AWS CLI、または AWS DMS API を使用して、タスクのモニタリング、停止、再開を行うことができる。