各製品の資料を入手。
詳細はこちら →Aurora PostgreSQL からSnowflake への CDC レプリケーション方法:CData Sync
こんにちは、プロダクトマネージメントチームの宮本です!
CData Sync でAurora PostgreSQL からSnowflake へ CDC モードでのレプリケーションジョブを行ういたいというお問合せが増えてきています。CData Sync ではもちろん対応していますので、本記事でAurora PostgreSQL でCDC を有効にする方法やジョブ作成方法をご紹介します。
Aurora PostgreSQL のパラメータ変更
まずはPostgreSQL でロジカルレプリケーション機能を有効化する必要があります。(デフォルトでは無効になっています)
これを有効化するには、直接パラメータの値を変更してあげる必要がありますので、パラメータグループを作成して値を変更します。対象のパラメータをrds.logical_replication と入力して検索し、その値を1に変更します。
変更しましたら、次はAurora PostgreSQL 側で利用するパラメータグループを先ほど作成したものに変更します。
あとはDB の再起動で利用可能となります。
※クエリしてみると、以下のように有効になっています
SELECT name,setting FROM pg_settings
WHERE name IN ('wal_level','rds.logical_replication');
Aurora PostgreSQL のレプリケーションスロットの作成
以下のSQL を実行してレプリケーションスロットを作成します。
SELECT pg_create_logical_replication_slot
('cdata_slot1', 'test_decoding');
※なお、1つ目のパラメータはレプリケーションスロット名なので任意の値で設定できます
これでAurora PostgreSQL 側の設定が完了です。
CData Sync の設定
CDC 利用が可能になりましたので、あとは Aurora PostgreSQL へのコネクション作成、Snowflake へのコネクション作成、そして レプリケートタスク(連携内容)の作成を行うだけになります。
Aurora PostgreSQL へのコネクション作成
CData Sync ではPostgreSQL コネクタから接続することができますので、コネクタ選択画面でPostgreSQL を選択します。
接続に必要な値を入れて、右上に表示されているボタン(初回作成時は"作成およびテスト"ボタン)を押して接続テストを行います。成功したら自動的に保存されるようになります。
Snowflake へのコネクション作成
Snowflake でも同じように接続に必要な値を設定し接続テストと保存を行います。
レプリケートタスクの作成
ジョブリスト画面を開き、右上にあるジョブを追加ボタンでジョブを作成します。この時点ではどこからどこへの連携か、差分更新モードは何かを指定します。今回はCDC モードの利用なので、種類の選択肢で変更データキャプチャを選択して下さい。加えて、PostgreSQL の場合はレプリケーションスロットも指定します。
作成しましたら、次はどのテーブルをレプリケーション対象にするのかを選択します。
デフォルトの状態では、Aurora PostgreSQL のテーブル名のままSnowflake にもテーブル作成してレプリケーションするような指定となります。もちろんテーブル名の変更やカラム選択、条件指定なども可能ですが今回は割愛します。
レプリケートタスクの実行
では、対象のレプリケートタスクを選択しましたら実行ボタンをクリックしてください。
初回連携で全件レプリケーションが行われました。(参考までに初回スキップも可能です)
これで再度実行すると、Aurora PostgreSQL 側で変更がないので0件という結果になりました。
では、Aurora PostgreSQL 側で2件 更新したあとにレプリケートタスクを実行してみます。
実行結果は、正しく2件でしたのでAurora PostgreSQL でのCDC 利用ができていることが確認できました。
Serverless v2 について
Aurora ではインスタンス設定時にServerless v2 を選択することができますが、Serverless v2 の場合でも同じ設定方法でCDC 利用が可能になります。
おわりに
いかがでしたでしょうか。Aurora PostgreSQL の場合の CDC モード利用の方法をご紹介しました。DB から DWH への連携はまさにお問合せも増えていますので、ぜひCDC 機能と併せてご利用ください。なお、CData Sync は30日間の無償トライアルが可能です。ぜひお試しくださいませ!
https://www.cdata.com/jp/sync/