【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アドレスを許可します。
DBMotoにMySQLを接続先として登録します。データソースには先ほどのEnd Pointの情報を入力します。
この接続を使用して正常にレプリケーションが行えていることがわかります。
関連したトピックス
- DBMotoレプリケーションに必要なOracleユーザ権限
- Oracleアーカイブログモードの変更
- Oracleトランザクションセットアップ例(Log ReaderまたはLog Server Agent)[Syniti Data Replication]
- ODBC(オープン・データベース・コネクティビティ)
- Amazon Redshiftに対してOracle、AS/400、SQL Server、MySQLなどからデータをリアルタイムにレプリケーション[DBMoto]
- DBMotoレプリケーションに必要なOracle 12c(PDB/CDB)権限
- AWSデータベースの新たなレベルとしてのAurora
- サプリメンタルロギング設定の影響に関して[Syniti DR]
- ユーザ・データベースの最適化とOracle支出の削減
- Oracle DB起動時にエラーORA-01034・ORA-27101が出て起動しない際の対処法
VMware / Hyper-VからAWSクラウドへ 簡単レプリケーション、移行、データ保護にはZerto Virtual Replication (ゼルトバーチャルレプリケーション)が有用です。