RDS MySQLソース設定ガイド
このステップバイステップのガイドでは、Amazon RDS MySQLを構成してClickHouse Cloudにデータをレプリケートする方法を示します。MySQL CDCに関する一般的な質問については、MySQL FAQsページを参照してください。
バイナリログの保持を有効にする
バイナリログは、MySQLサーバーインスタンスで行われたデータ変更に関する情報を含むログファイルのセットであり、レプリケーションにはバイナリログファイルが必要です。RDS MySQLでバイナリログの保持を構成するには、バイナリロギングを有効にする必要があり、バイナリログ保持間隔を増加させる必要があります。
1. 自動バックアップを通じてバイナリロギングを有効にする
自動バックアップ機能は、MySQLのバイナリロギングがオンかオフかを決定します。RDSコンソールでインスタンスの設定を、変更 > 追加設定 > バックアップに移動し、自動バックアップを有効にするのチェックボックスを選択することで構成できます(まだ選択されていない場合)。

レプリケーションのユースケースに応じて、バックアップ保持期間を合理的に長い値に設定することをお勧めします。
2. バイナリログ保持間隔を増加させる
ClickPipesがレプリケーションを再開しようとしたときに、設定されたバイナリログ保持値によって必要なバイナリログファイルが消去されている場合、ClickPipeはエラー状態に入り、再同期が必要です。
デフォルトでは、Amazon RDSはバイナリログをできるだけ早く消去します(つまり、遅延消去)。障害シナリオでレプリケーションのためにバイナリログファイルの可用性を確保するために、バイナリログ保持間隔を少なくとも72時間に増加させることをお勧めします。バイナリログ保持の間隔を設定するには、binlog retention hours
を使用して、mysql.rds_set_configuration
プロシージャを実行します。
この設定が行われていない、または低い間隔に設定されている場合、バイナリログにギャップが生じ、ClickPipesがレプリケーションを再開する能力に影響を与える可能性があります。
バイナリログ設定を構成する
パラメータグループは、RDSコンソールでMySQLインスタンスをクリックし、設定タブに移動することで見つけることができます。
MySQLクラスターを持っている場合、以下のパラメータはDBインスタンスグループの代わりにDBクラスターパラメータグループで見つけることができます。

パラメータグループリンクをクリックすると、その専用ページに移動します。右上に変更を編集ボタンが表示されます。

以下のパラメータを次のように設定する必要があります:
binlog_format
をROW
に設定します。

binlog_row_metadata
をFULL
に設定します。

binlog_row_image
をFULL
に設定します。

その後、右上隅の変更を保存をクリックします。変更を有効にするためにインスタンスを再起動する必要がある場合があります。この確認方法は、RDSインスタンスの設定タブ内のパラメータグループリンクの隣に再起動待ち
と表示されることです。
GTIDモードを有効にする
MySQL ClickPipeはGTIDモードなしでのレプリケーションもサポートしています。ただし、GTIDモードを有効にすることが推奨されており、より良いパフォーマンスとトラブルシューティングの容易さを提供します。
グローバルトランザクション識別子(GTID)は、MySQLでコミットされた各トランザクションに割り当てられた一意のIDです。これにより、バイナリログのレプリケーションが簡素化され、トラブルシューティングがより簡単になります。GTIDベースのレプリケーションが使用できるよう、GTIDモードを有効にすることをお勧めします。
GTIDベースのレプリケーションは、Amazon RDS for MySQLのバージョン5.7、8.0、および8.4でサポートされています。Aurora MySQLインスタンスでGTIDモードを有効にするには、次の手順を実行してください:
- RDSコンソールでMySQLインスタンスをクリックします。
- 設定タブをクリックします。
- パラメータグループリンクをクリックします。
- 右上隅の変更を編集ボタンをクリックします。
enforce_gtid_consistency
をON
に設定します。gtid-mode
をON
に設定します。- 右上隅の変更を保存をクリックします。
- 変更を有効にするためにインスタンスを再起動します。

MySQL ClickPipeはGTIDモードなしでのレプリケーションもサポートしています。ただし、GTIDモードを有効にすることが推奨されており、より良いパフォーマンスとトラブルシューティングの容易さを提供します。
データベースユーザーを構成する
管理者ユーザーとしてRDS MySQLインスタンスに接続し、以下のコマンドを実行します:
- ClickPipes用の専用ユーザーを作成します:
- スキーマ権限を付与します。以下の例は
mysql
データベースに対する権限を示しています。レプリケートしたい各データベースとホストに対してこれらのコマンドを繰り返します:
- ユーザーにレプリケーション権限を付与します:
ネットワークアクセスを構成する
IPベースのアクセス制御
Aurora MySQLインスタンスへのトラフィックを制限するために、記載された静的NAT IPアドレスをRDSセキュリティグループのインバウンドルールに追加します。


AWS PrivateLink経由のプライベートアクセス
プライベートネットワークを通じてRDSインスタンスに接続するには、AWS PrivateLinkを使用します。ClickPipes用のAWS PrivateLink設定ガイドに従って接続を設定してください。
次のステップ
Amazon RDS MySQLインスタンスがバイナリログレプリケーション用に構成され、ClickHouse Cloudに安全に接続されるようになったので、最初のMySQL ClickPipeを作成することができます。MySQL CDCに関する一般的な質問については、MySQL FAQsページを参照してください。