Amazon Web Service(EC2/RDS)へオンプレミス(自社)データべースをリアルタイムにレプリケーション[DBMoto]


【2015/2/13記事改訂】

DBMotoではAmazon Wev Service(以下AWS)へのレプリケーションも可能です。AWSの中では仮想マシン管理のAmazon EC2とDB管理のAmazon RDSの両方に対応しています。

●Amazon EC2

Amazon EC2は仮想マシンでの管理となるため、VM上にデータベースをインストールすることで、DBMotoがサポートするすべてのDBにてレプリケーション可能です。
対応データベース一覧はこちら

●Amazon RDS

Amazon RDSで使用できるデータベースは下記の3つです。DBMotoはいずれもサポートしております。
・Oracle
・MySQL
・Microsoft SQL Server

DBMotoを利用することでDB2/AS400などの自社データベースからもこの3種類のAmazon RDSデータベースへ災害目的・移行目的・AWSサービスへのデータ連携目的でレプリケーションすることが可能です。

以下がAmazon RDSデータベースを接続先とした場合にどのレプリケーションで利用できるかを示す表です。

レプリケーション種類 Oracle MySQL MS SQL Server
リフレッシュ
(ソース、ターゲット)
ミラーリング
(ソース)

トリガー使用

トリガー使用
ミラーリング
(ターゲット)
シンクロナイゼーション
トリガー使用

トリガー使用

片方向のミラーリング(ソース)や双方向シンクロナイゼーションではトランザクションログを参照する必要があり、通常はOracle RedoログやMS SQL Serverのディストリビュータを利用してレプリケーションを行っています。

Amazon RDS for OracleではALTER TABLEコマンドが実行できないため、DBMoto画面からサプリメンタルロギングが設定できません。
代わりに、PL/SQLコマンドが用意されていますので、そちらを手動で実行していただければ設定可能です。詳しくは下記弊社ブログ記事をご覧ください。
DBMotoレプリケーションに必要なOracleユーザ権限

しかし、Amazon RDS for MS SQL ServerおよびMySQLでは、使用できる権限が足りないためこの機能が使用できません。そのため、ミラーリング(ソース)やシンクロナイゼーションを行うためには、DBMotoが独自に作成するテーブル、トリガーを利用したログを使用します。

※Amazon EC2に関しては権限の制約がないため、DBMotoがサポートするすべてのDB・レプリケーションモードが使用可能です。

MySQLの場合を例にレプリケーションを作成してみます。

まず、DBMotoからAmazon RDSへ接続できるようDB Security GroupでIPアドレスを許可します。

次に、接続で必要なEnd Pointの情報を確認します。

DBMotoにMySQLを接続先として登録します。データソースには先ほどのEnd Pointの情報を入力します。

この接続を使用して正常にレプリケーションが行えていることがわかります。

関連したトピックス

Amazon Web Service(EC2/RDS)へオンプレミス(自社)データべースをリアルタイムにレプリケーション[DBMoto] への1件のフィードバック

  1. climb のコメント:

    VMware / Hyper-VからAWSクラウドへ 簡単レプリケーション、移行、データ保護にはZerto Virtual Replication (ゼルトバーチャルレプリケーション)が有用です。

コメントは停止中です。