メインコンテンツへスキップ
このステップバイステップガイドでは、MySQL ClickPipe を使用して、Amazon Aurora MySQL から ClickHouse Cloud にデータをレプリケートするよう設定する方法を説明します。MySQL CDC (変更データキャプチャ) に関するよくある質問については、MySQL よくある質問ページ を参照してください。

バイナリログの保持期間を有効にする

バイナリログは、MySQL サーバーインスタンスに加えられたデータ変更に関する情報を含む一連のログファイルであり、レプリケーションに必要です。Aurora MySQL で binlog の保持期間を設定するには、バイナリログを有効にするbinlog の保持期間を延長する の両方を行う必要があります。

1. 自動バックアップでバイナリログを有効にする

MySQL でバイナリログを有効にするには、自動バックアップ機能を有効にする必要があります。自動バックアップは、RDS Console で Modify > Additional configuration > Backup に移動し、Enable automated backups チェックボックスをオンにすることで、インスタンスに設定できます (まだ有効になっていない場合) 。 レプリケーションの用途に応じて、バックアップ保持期間 は十分に長めの値に設定することを推奨します。

2. binlog の保持期間を延長する

ClickPipes がレプリケーションの再開を試みた際、設定された binlog の保持期間が原因で必要な binlog ファイルがすでに削除されていると、ClickPipe はエラー状態になり、再同期が必要になります。
デフォルトでは、Aurora MySQL はバイナリログをできるだけ早く削除します (つまり、遅延パージ) 。障害発生時でもレプリケーションに必要な バイナリログ ファイルを利用できるようにするため、binlog の保持期間は少なくとも 72 時間 に延長することを推奨します。バイナリログ の保持期間 (binlog retention hours) を設定するには、mysql.rds_set_configuration プロシージャを使用します。
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);
この設定がされていない、または間隔が短すぎると、バイナリログに欠落が生じ、ClickPipes がレプリケーションを再開できなくなるおそれがあります。

binlog 設定を構成する

パラメータグループは、RDS Console で MySQL インスタンスをクリックし、Configuration タブに移動すると確認できます。
MySQL クラスターを使用している場合、以下のパラメータは DB インスタンスグループではなく、DB cluster のパラメータグループにあります。

パラメータグループのリンクをクリックすると、その詳細ページに移動します。右上に Edit ボタンが表示されるはずです。
以下のパラメータを次のように設定する必要があります。
  1. binlog_formatROW に設定します。
  1. binlog_row_metadataFULL に設定します。
  1. binlog_row_imageFULL に設定します。

その後、右上の 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 モードを有効にするには、次の手順に従ってください。
  1. RDS Console で、MySQL インスタンスをクリックします。
  2. Configuration タブをクリックします。
  3. パラメータグループのリンクをクリックします。
  4. 右上の Edit ボタンをクリックします。
  5. enforce_gtid_consistencyON に設定します。
  6. gtid-modeON に設定します。
  7. 右上の Save Changes をクリックします。
  8. 変更を反映するため、インスタンスを再起動します。

データベースユーザーを設定する

管理者ユーザーとして Aurora MySQL インスタンスに接続し、次のコマンドを実行します。
  1. ClickPipes 専用のユーザーを作成します。
    CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
    
  2. スキーマに対する権限を付与します。次の例は、mysql データベースに対する権限を示しています。レプリケーション対象の各データベースとホストについて、これらのコマンドを繰り返します。
    GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
    
  3. ユーザーにレプリケーション権限を付与します。
    GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
    GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
    

ネットワークアクセスを設定する

IP ベースのアクセス制御

Aurora MySQL インスタンスへのトラフィックを制限するには、ドキュメントに記載されている固定 NAT IP を Aurora のセキュリティグループの Inbound rules に追加します。 Aurora MySQL インスタンスにプライベートネットワーク経由で接続するには、AWS PrivateLink を使用できます。接続の設定については、ClickPipes 向け AWS PrivateLink セットアップガイドを参照してください。

次のステップ

これで、Amazon Aurora MySQL インスタンスは binlog レプリケーション向けに設定され、ClickHouse Cloud への安全な接続も完了しました。最初の MySQL ClickPipe を作成できます。MySQL CDC (変更データキャプチャ) に関するよくある質問については、MySQL よくある質問ページを参照してください。
最終更新日 2026年6月10日