Aurora MySQL ソースセットアップガイド
このガイドでは、MySQL ClickPipe を使用して Amazon Aurora MySQL を構成し、データを ClickHouse Cloud にレプリケートする手順をステップバイステップで説明します。MySQL の CDC(変更データキャプチャ)に関する一般的な質問については、MySQL FAQs ページ を参照してください。
バイナリログの保持を有効にする
バイナリログは、MySQL サーバーインスタンスで行われたデータ変更に関する情報を含む一連のログファイルであり、レプリケーションにはバイナリログファイルが必要です。Aurora MySQL でバイナリログの保持を構成するには、バイナリログを有効にし、binlog の保持期間を延長する必要があります。
1. 自動バックアップ経由でバイナリログを有効にする
自動バックアップ機能は、MySQL のバイナリログを有効にするかどうかを決定します。RDS コンソールでインスタンスの自動バックアップを構成するには、Modify > Additional configuration > Backup に移動し、(まだ選択されていない場合は)Enable automated backups チェックボックスを選択します。

レプリケーションのユースケースに応じて、Backup retention period を十分に長い値に設定することを推奨します。
2. binlog の保持期間を延長する
ClickPipes がレプリケーションの再開を試みた際に、設定されている binlog の保持期間によって必要な binlog ファイルが削除されていると、ClickPipe はエラー状態となり、再同期が必要になります。
デフォルトでは、Aurora MySQL は可能な限り早くバイナリログを削除します(lazy purging)。障害シナリオにおいてもレプリケーション用のバイナリログファイルを確保できるよう、binlog の保持期間は少なくとも 72 時間 に延長することを推奨します。バイナリログの保持期間(binlog retention hours)を設定するには、mysql.rds_set_configuration ストアドプロシージャを使用します。
この設定が行われていない場合、または間隔が短すぎる場合、バイナリログに欠落が生じ、ClickPipes がレプリケーションを再開できなくなるおそれがあります。
binlog 設定の構成
パラメーターグループは、RDS コンソールで対象の MySQL インスタンスをクリックし、Configuration タブを開くと確認できます。
MySQL クラスターを使用している場合、以下のパラメーターは DB インスタンスグループではなく、DB クラスターのパラメーターグループにあります。

パラメーターグループのリンクをクリックすると、その専用ページに移動します。右上に Edit ボタンが表示されているはずです。

次のパラメーターを、以下の値に設定します。
binlog_formatをROWに設定します。

binlog_row_metadataをFULLに設定します。

binlog_row_imageをFULLに設定します。

設定後、右上の Save Changes をクリックします。変更を反映するためにインスタンスの再起動が必要になる場合があります。Aurora インスタンスの Configuration タブで、パラメーターグループのリンクの横に Pending reboot と表示されているかどうかを確認すると判断できます。
GTID モードを有効化する(推奨)
MySQL ClickPipe は、GTID モードを使用しないレプリケーションもサポートしています。ただし、パフォーマンス向上とトラブルシューティングの容易化のため、GTID モードを有効にすることを推奨します。
Global Transaction Identifiers (GTIDs) は、MySQL でコミットされた各トランザクションに割り当てられる一意の ID です。これによりバイナリログ(binlog)レプリケーションが簡素化され、トラブルシューティングも容易になります。MySQL ClickPipe が GTID ベースのレプリケーションを利用できるようにするため、GTID モードを有効にすることを推奨します。
GTID ベースのレプリケーションは、Amazon Aurora MySQL v2(MySQL 5.7)および v3(MySQL 8.0)、さらに Aurora Serverless v2 でもサポートされています。Aurora MySQL インスタンスで GTID モードを有効にするには、次の手順に従います。
- RDS コンソールで、対象の MySQL インスタンスをクリックします。
- Configuration タブをクリックします。
- パラメータグループのリンクをクリックします。
- 右上の Edit ボタンをクリックします。
enforce_gtid_consistencyをONに設定します。gtid-modeをONに設定します。- 右上の Save Changes をクリックします。
- 変更を反映させるためにインスタンスを再起動します。

データベースユーザーを設定する
管理者権限を持つユーザーとして Aurora MySQL インスタンスに接続し、次のコマンドを実行します。
-
ClickPipes 用の専用ユーザーを作成します:
-
スキーマ権限を付与します。次の例では、
mysqlデータベースに対する権限を示しています。レプリケーション対象とする各データベースおよびホストに対して、これらのコマンドを繰り返し実行します。 -
ユーザーにレプリケーション権限を付与します。
ネットワークアクセスの構成
IP ベースのアクセス制御
Aurora MySQL インスタンスへのトラフィックを制限するには、ドキュメントに記載されている静的 NAT IP アドレス を Aurora セキュリティグループの インバウンドルール に追加します。


AWS PrivateLink 経由のプライベートアクセス
Aurora MySQL インスタンスにプライベートネットワーク経由で接続するには、AWS PrivateLink を使用します。接続を構成するには、ClickPipes 向け AWS PrivateLink セットアップガイド に従ってください。
次のステップ
Amazon Aurora MySQL インスタンスを binlog レプリケーション向けに構成し、ClickHouse Cloud への安全な接続設定も完了したので、最初の MySQL ClickPipe を作成できます。MySQL CDC に関するよくある質問については、MySQL FAQ ページを参照してください。