メインコンテンツまでスキップ
メインコンテンツまでスキップ

Aurora MySQL ソース設定ガイド

このステップバイステップガイドでは、Amazon Aurora MySQL を設定して、MySQL ClickPipe を使用してデータを ClickHouse Cloud にレプリケートする方法を示します。MySQL CDC に関する一般的な質問については、MySQL FAQs ページを参照してください。

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

バイナリログは、MySQL サーバーインスタンスに対して行われたデータ変更に関する情報を含むログファイルのセットであり、レプリケーションにはバイナリログファイルが必要です。Aurora MySQL でバイナリログの保持を設定するには、バイナリロギングを有効にしbinlogの保持期間を延長する必要があります。

1. 自動バックアップを介してバイナリロギングを有効にする

自動バックアップ機能は、MySQL に対してバイナリロギングがオンまたはオフになっているかどうかを決定します。自動バックアップは、RDS コンソールでインスタンスに対して設定でき、変更 > 追加設定 > バックアップに移動し、自動バックアップを有効にするチェックボックスを選択します(まだ選択されていない場合)。

Aurora で自動バックアップを有効にする

レプリケーションユースケースに応じて、バックアップ保持期間を十分に長く設定することをお勧めします。

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

注意

ClickPipes がレプリケーションを再開しようとしたときに、設定された binlog の保持値により必要な binlog ファイルが削除されている場合、ClickPipe はエラー状態に入り、再同期が必要になります。

デフォルトでは、Aurora MySQL はバイナリログを可能な限り早く削除します(すなわち、遅延削除)。失敗シナリオでのレプリケーションのために、バイナリログファイルが利用可能であることを確保するために、少なくとも 72 時間に binlog の保持期間を延長することをお勧めします。バイナリログの保持に関するインターバルを設定するには、binlog retention hoursを使用して、mysql.rds_set_configuration手続きを実行します:

mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);

この設定がされていないか、低いインターバルに設定されている場合、バイナリログにギャップが生じ、ClickPipes がレプリケーションを再開する能力が損なわれる可能性があります。

binlog 設定を構成する

RDS コンソールで MySQL インスタンスをクリックすると、パラメータグループを見つけることができ、その後、設定タブに移動します。

ヒント

MySQL クラスターを持っている場合は、以下のパラメータは DB インスタンスグループではなく、DB クラスターパラメータグループにあります。

Aurora でパラメータグループを見つける場所

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

パラメータグループを編集

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

  1. binlog_formatROW に設定します。
Binlog format to ROW
  1. binlog_row_metadataFULL に設定します。
Binlog row metadata
  1. binlog_row_imageFULL に設定します。
Binlog row image

その後、右上の 変更を保存 をクリックします。変更を適用するためにはインスタンスを再起動する必要があるかもしれません。このことを知る方法は、Aurora インスタンスの 設定タブでパラメータグループリンクの隣に 再起動待機中 と表示されることです。

GTID モードを有効にする(推奨)

ヒント

MySQL ClickPipe は、GTID モードなしでのレプリケーションもサポートしています。ただし、パフォーマンスの向上とトラブルシューティングの簡素化のために GTID モードを有効にすることをお勧めします。

グローバルトランザクション識別子 (GTID)は、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 コンソールで MySQL インスタンスをクリックします。
  2. 設定 タブをクリックします。
  3. パラメータグループのリンクをクリックします。
  4. 右上の 編集 ボタンをクリックします。
  5. enforce_gtid_consistencyON に設定します。
  6. gtid-modeON に設定します。
  7. 右上の 変更を保存 をクリックします。
  8. 変更を適用するためにインスタンスを再起動します。
GTID 有効

データベースユーザーを構成する

Aurora MySQL インスタンスに管理者ユーザーとして接続し、次のコマンドを実行します:

  1. ClickPipes 用の専用ユーザーを作成します:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
  1. スキーマ権限を付与します。以下の例は mysql データベースの権限を示しています。レプリケートしたい各データベースとホストのために、これらのコマンドを繰り返してください:
GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
  1. ユーザーにレプリケーション権限を付与します:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';

ネットワークアクセスを構成する

IP ベースのアクセス制御

Aurora MySQL インスタンスへのトラフィックを制限するには、文書化された静的 NAT IP アドレスを Aurora セキュリティグループの 受信ルール に追加します。

Aurora MySQL でセキュリティグループを見つける場所
上記のセキュリティグループの受信ルールを編集

プライベートネットワークを介して Aurora MySQL インスタンスに接続するには、AWS PrivateLink を使用できます。ClickPipes 用の AWS PrivateLink セットアップガイドに従って接続を設定します。

次は何ですか?

Amazon Aurora MySQL インスタンスが binlog レプリケーション用に設定され、ClickHouse Cloud への安全な接続ができるようになったので、最初の MySQL ClickPipe を作成できます。MySQL CDC に関する一般的な質問については、MySQL FAQs ページを参照してください。