LoginSignup
2
6

More than 5 years have passed since last update.

AWS DMSを設定したときのメモ

Posted at

概要

AWS DMSを使うと、データベースをスキーマやテーブル単位でウォッチして対象のデータベースに同期させることができる。リードレプリカとは違う点は、同期対象のデータベースがリードオンリーではなく書き込み可能だという点だと思う。

DMSという名前から、データベースのマイグレーションのためのツールのように思われるかもしれないがレプリケーションツールとしても使えるようだ。

設定

  1. RDSの画面で同期の元DB(ソース)と同期の対象のDB(ターゲット)を作成する
  2. DMSの画面でタスクを作成し、元DBと同期の対象のDBを設定する、このとき同期を実行する主体としてレプリケーションインスタンスを作ることを求められるので、作る
  3. このとき、移行タイプを設定する必要がある、「Migrate Existing Data」か「Replicate data changes only」。前者は単純なデータ移行目的で、一発タスクを実行して移行が終わると終了、後者はレプリケーションが目的で、対象のDBを逐次同期させることができる

設定のはまりどころ

  • バイナリログの有効化

    • このDMSを使うためには、データ同期元のデータベースはバイナリログが有効化されていないと駄目
    • 設定は右のページを参考にする: MySQL または別の Aurora DB クラスターとのレプリケーションの設定
    • 要は、Auroraの場合はパラメーターグループを画面から変更すればOKで、MySQL on RDSの場合は事前にバックアップの設定をしてからパラメーターグループを画面から変更すればOK
  • バイナリログの設定確認

sql
SELECT @@binlog_format;
-- or
SHOW variables LIKE "binlog_format";

所感

  • 同期のスピードが速い、SQLツールで一方を更新すると、ほぼほぼ10秒以内で同期されている
  • リードレプリカと違ってなんちゃってマスター:マスター構成でDBが組めそうだ
2
6
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
2
6