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

RDS MySQL ソース設定ガイド

これは、RDS MySQL インスタンスを MySQL ClickPipe を介してデータを複製するように構成する手順です。


参考

MySQL FAQ を こちら で確認することもお勧めします。FAQ ページはもりを積極的に更新されています。

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

バイナリログは、MySQL サーバーインスタンスに対して行われたデータ変更に関する情報を含むログファイルのセットであり、レプリケーションにはバイナリログファイルが必要です。以下のステップの両方を実行する必要があります。

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

自動バックアップ機能は、MySQL のバイナリログがオンまたはオフになっているかを決定します。AWS コンソールで設定できます。

レプリケーションの使用ケースに応じて、バックアップの保持期間を適切に長い値に設定することをお勧めします。

2. バイナリログの保持時間

Amazon RDS for MySQL では、変更が含まれるバイナリログファイルが保持される時間を設定する方法が異なります。バイナリログファイルが削除される前に変更が読み取られない場合、レプリケーションは続行できなくなります。バイナリログの保持時間のデフォルト値は NULL であり、これはバイナリログが保持されていないことを意味します。

DB インスタンスのバイナリログを保持する時間を指定するには、mysql.rds_set_configuration 関数を使用し、レプリケーションが発生するために十分な長さのバイナリログ保持期間を設定します。24 時間 が推奨される最小値です。

パラメータグループでバイナリログ設定を構成する

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

パラメータグループのリンクをクリックすると、そのページに移動します。右上に編集ボタンがあります。

次の設定を次のように設定する必要があります。

  1. binlog_formatROW に設定します。
  1. binlog_row_metadataFULL に設定します。
  1. binlog_row_imageFULL に設定します。

右上の Save Changes をクリックします。変更が有効になるためにはインスタンスを再起動する必要がある場合があります。この場合、RDS インスタンスの構成タブにあるパラメータグループリンクの横に Pending reboot という表示が見られます。


ヒント

MySQL クラスターを持っている場合、上記のパラメータは DB クラスター DB Clusterのパラメータグループに存在し、DB インスタンスグループではありません。

GTID モードを有効にする

グローバルトランザクション ID (GTID) は、MySQL の各コミットされたトランザクションに割り当てられるユニーク ID です。GTID はバイナリログのレプリケーションを簡素化し、トラブルシューティングをより簡単にします。

MySQL インスタンスが MySQL 5.7、8.0 または 8.4 の場合、MySQL ClickPipe が GTID レプリケーションを使用できるように GTID モードを有効にすることをお勧めします。

MySQL インスタンスの GTID モードを有効にするには、以下の手順に従ってください。

  1. RDS コンソールで MySQL インスタンスをクリックします。
  2. Configurations タブをクリックします。
  3. パラメータグループのリンクをクリックします。
  4. 右上隅の Edit ボタンをクリックします。
  5. enforce_gtid_consistencyON に設定します。
  6. gtid-modeON に設定します。
  7. 右上隅の Save Changes をクリックします。
  8. 変更を有効にするためにインスタンスを再起動します。

ヒント

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

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

管理者ユーザーとして RDS MySQL インスタンスに接続し、以下のコマンドを実行します。

  1. ClickPipes 用の専用ユーザーを作成します。

  2. スキーマ権限を付与します。以下の例は mysql データベースの権限を示しています。複製したい各データベースおよびホストについて、これらのコマンドを繰り返します。

  3. ユーザーにレプリケーション権限を付与します。

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

IP ベースのアクセス制御

RDS インスタンスへのトラフィックを制限したい場合は、RDS セキュリティグループの Inbound rules文書化された静的 NAT IPs を追加してください。

プライベートネットワークを介して RDS インスタンスに接続するには、AWS PrivateLink を使用できます。接続を設定するには、私たちの ClickPipes 用の AWS PrivateLink 設定ガイド を参照してください。