Aurora MySQL からSnowflake への CDC レプリケーション方法:CData Sync

アイキャッチ

こんにちは、プロダクトマネージメントチームの宮本です!

最近、Aurora MySQL から Snowflake へ CDC モードでのレプリケーションジョブを行いたいというお問合せが増えてきています。CData Sync ではもちろん対応していますので、本記事でAurora MySQL でCDC を有効にする方法やジョブ作成方法をご紹介します。

Aurora MySQL のパラメータ変更

まずは binlog 利用を有効化する必要があります。デフォルト状態ではbinlog の利用が有効になっていないので、そのまま利用しようとしても以下のようなエラーが発生します。
[0] Binlog variables check failed, error: The variable 'log_bin' is not enabled.


実際にAurora MySQL にクエリしてみるとOFF になっていることがわかります。


これを有効化するには直接パラメータの値を変更してあげる必要がありますので、まずはパラメータグループを作成します。


作成しましたら、パラメータグループの編集画面から binlog_format というパラメータを検索します。
最初はOFF と設定されていますので、それを ROW にして変更を保存します。
※CData Sync では ROW タイプのみの対応ため


変更しましたら、次は現在設定しているパラメータグループを先ほど作成したものに変更します。


あとはDB の再起動で利用可能となります。

※クエリしてみると、以下のように有効になっています

CData Sync の設定

CDC 利用が可能になりましたので、あとはAurora MySQL へのコネクション作成、Snowflake へのコネクション作成、そして レプリケートタスク(連携内容)の作成を行うだけになります。

Aurora MySQL へのコネクション作成

CData Sync では MySQL コネクタから接続することができますので、コネクタ選択画面で MySQL を選択します。


接続に必要な値を入れて、右上に表示されているボタン(初回作成時は"作成およびテスト"ボタン)を押して接続テストを行います。成功したら自動的に保存されるようになります。

Snowflake へのコネクション作成

Snowflake でも同じように接続に必要な値を設定し接続テストと保存を行います。

レプリケートタスクの作成

ジョブリスト画面を開き、右上にあるジョブを追加ボタンでジョブを作成します。この時点ではどこからどこへの連携か、差分更新モードは何かを指定します。今回はCDC モードの利用なので、種類の選択肢で変更データキャプチャを選択して下さい。


作成しましたら、次はどのテーブルをレプリケーション対象にするのかを選択します。


デフォルトの状態では、Aurora MySQL のテーブル名のままSnowflake にもテーブル作成してレプリケーションするような指定となります。もちろんテーブル名の変更やカラム選択、条件指定なども可能ですが今回は割愛します。

レプリケートタスクの実行

では、対象のレプリケートタスクを選択しましたら実行ボタンをクリックしてください。


初回連携で全件レプリケーションが行われました。(参考までに初回スキップも可能です)


これで再度実行すると、Aurora MySQL 側で変更がないので0件という結果になりました。


では、Aurora MySQL 側で3件 更新したあとにレプリケートタスクを実行してみます。
実行結果は、正しく3件でしたのでAurora MySQL でのCDC 利用ができていることが確認できました。 

Serverless v2 について


Aurora 
ではインスタンス設定時にServerless v2 を選択することができますが、Serverlessの場合でも同じ設定方法でCDC 利用が可能になります。

おわりに

いかがでしたでしょうか。Aurora MySQL の場合の CDC モード利用の方法をご紹介しました。DB から DWH への連携はまさにお問合せも増えていますので、ぜひCDC 機能と併せてご利用ください。なお、CData Sync は30日間の無償トライアルが可能です。ぜひお試しくださいませ!
https://www.cdata.com/jp/syn

トライアル・お問い合わせ

関連コンテンツ