DBの移行・連携・災害対策用DBレプリケーションツールDBMotoはAmazon RDS for Auroraの正式サポートを開始しました。
Amazon AuroraはMySQLと互換性があり、MySQLの5倍の性能を持ちます。またAmazon RDSの特徴であるプロビジョニング、パッチの適用、バックアップ、リカバリ、マルチAZ配置オプションによる障害検知、リペアなどが可能です。
DBMotoを使用することで、オンプレミスDBのOracle・SQL Server・MySQL・DB2(AS/400,z/OS,LUW)などからAmazon Auroraへ簡単に移行したり・レプリケーションによる異種DB間の連携を行うことが可能です。
今回はDBMotoを使用してオンプレミスDBからAmazon Auroraへレプリケーションするための簡単な手順をご紹介します。
なお、さらに詳細な「Amazon Auroraへのレプリケーション検証レポート」(PDF:23ページ分)は下記サイトよりダウンロード可能です。
https://www.climb.co.jp/soft/dbmoto/whitepaper/
●Amazon Auroraのインスタンス作成
AWSのRDS画面からAuroraのインスタンスを選択します。
※2015/8/8現在、Auroraの提供は米国リージョン等一部での提供となっています。順次日本リージョンでの提供も開始されるそうです。
インスタンスが作成されると、「クラスターエンドポイント」が表示されます。これが接続先情報となり、のちにDBMotoからの設定時に使用します。
●DBMotoマシンでの準備
DBMotoはWindowsマシンにインストールし、エージェントレスで稼働します。
インストールは1分ほどで完了し、DBサイドへのエージェント導入は不要です。
このため簡単にレプリケーション環境を構築することが可能です。
また、DBMotoマシンからAuroraへ接続する際は、MySQLへの接続時と同様にMySQL Connector/NETを使用します。
以下よりダウンロードが可能です。
http://dev.mysql.com/downloads/connector/net/
●DBMotoからAuroraへの接続
まず予め複製元のソースDBの接続設定を済ませておきます。
今回はオンプレミスのOracleを使用しています。
接続先の情報を入力します。ここでAuroraのクラスターエンドポイントを使用します。
●DBMotoからAuroraへのテーブル作成
DBMotoは複製元のソースDBのテーブル情報を元にAuroraへ簡単にテーブル作成することが可能です。
データタイプは適切なものが選定され、サイズやPK、NULL制約等はソースDBの情報が引き継がれます。また手動で変更することももちろん可能です。
●DBMotoでのレプリケーションジョブの作成
どのようにレプリケーションするか、テーブル単位でジョブを作成します。
レプリケーションモードは以下に対応しています。
・リフレッシュ・・・全レコードの一括転送
・ミラーリング・・・ソースからターゲットへの片方向差分レプリケーション
・シンクロナイゼーション・・・ソースとターゲット間の双方向差分レプリケーション
今回はOracleからAuroraへのリフレッシュ及びミラーリングの手順でジョブを作成します。
なお、DBMotoはAuroraからの差分レプリケーションにも対応しています。
ジョブの作成が完了すると、以下のようにレプリケーションの状況を一目で把握できるようになります。
●レプリケーション検証
それでは実際にレプリケーションを行います。
レプリケーションはWindowsサービスのDBMotoを開始することで実行できます。
サービスを開始するとまず初期レプリケーションとして、全件の転送であるリフレッシュが実行されます。
リフレッシュ後は自動で差分のミラーリングモードへ移行します。
ソースのOracleには以下のようなデータのテーブルがあります。
一方でAuroraはDBMotoからテーブル作成を行ったのみですのでデータは空っぽです。
Windowsサービスを開始するとリフレッシュが稼働し、OracleからAuroraへ全レコードが転送されます。
DBMotoでも件数等ステータスを確認可能です。
正しくレプリケーションされたかどうかを確認します。
AuroraはMySQL互換のため、ここではMySQL Workbenchを使用し、正しく全レコードがレプリケーションされていることを確認しました。
続いて差分のミラーリングを行うため、Oracleにて意図的に更新をかけます。
MySQL Workbenchを使用し、正しくミラーリングされたことを確認しました。
このようにDBMotoを使用することで、オンプレミスDBからAmazon Auroraへ簡単にレプリケーションを行い、移行やDB間の連携を実現することができます。
関連したトピックス
- DBMoto (Syniti DR):クラウドDBとの連携設定動画集
- AWSデータベースの新たなレベルとしてのAurora
- Oracle/MySQL .NET Data Provider接続【リアルタイムレプリケーションツールDBMoto】
- Webセミナー録画 『GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!』2020/03/26 開催
- DBMotoの各種機能別の動画デモについてのリンクサイト情報(異種DB接続、ミラーリング、シンクロナイゼーション)
- Webセミナー録画とプレゼンテーション『 Oracle コンサルいらずのチューニングことはじめ』:2020/2/6 開催
- DBMotoとは?リアルタイムレプリケーションツール
- 評価版申請の際の注意点【リアルタイムレプリケーションツールDBMoto】
- 進化するクエリと PostgreSQLの台頭:そのデータベー スパフォーマンス重要性
- Teradataを構築してDBMotoでOracle等からTeradataへのリアルタイム・レプリケーション