スキップしてコンテンツを表示

Aurora MySQL 互換をソースとして AWS DMS を使用する際に発生する、バイナリロギングに関するエラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

バイナリロギングが有効になっている Amazon Aurora MySQL 互換エディション DB インスタンスを使用しています。その DB インスタンスを AWS Database Migration Service (AWS DMS) タスクのソースとして使用すると、エラーが発生するため、この問題をトラブルシューティングしたいと考えています。

簡単な説明

フルロードと変更データキャプチャ (CDC) を使用する AWS DMS タスク、または CDC のみの AWS DMS タスクで CDC を使用するには、ソース DB のライターインスタンスでバイナリロギングを有効にします。リードレプリカは CDC 操作をサポートしていないため、ライターインスタンスを使用してください。詳細については、「Limitations on using a MySQL database as a source for AWS DMS」(MySQL データベースを AWS DMS のソースとして使用する場合の制限) を参照してください。

バイナリロギングを有効にしていない場合や、リーダーインスタンスに接続している場合は、次のようなログエントリが表示されます。

Messages

[SOURCE_CAPTURE ]I: System var 'log_bin' = 'OFF'

[SOURCE_CAPTURE ]E: Error Code [10001] : Binary Logging must be enabled for MySQL server [1020418] (mysql_endpoint_capture.c:366)

解決策

リーダーインスタンスに接続する場合は、ライターインスタンスを特定してから、AWS DMS を使用してライターインスタンスに接続します。クラスターエンドポイントは常にクラスターの現在のライターを指すため、クラスターエンドポイントに接続することをおすすめします。

バイナリロギングが有効になっているかどうかを確認するには、クラスターエンドポイントを使用してソースクラスターのライターノードに接続します。

mysql> show global variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+

log_bin パラメータが OFF に設定されている場合は、クラスターのパラメータグループbinlog_format パラメータが ROW に設定されているかどうかを確認します。binlog_formatROW に設定されていない場合は、このパラメータを変更して Aurora MySQL 互換のバイナリロギングを有効にします。

注: これは静的パラメータなので、この変更を有効にするには Aurora MySQL 互換インスタンスを再起動する必要があります。

binlog_format パラメータを ROW に設定した後、バイナリロギングが有効になっていることを確認するために、Aurora MySQL 互換インスタンスに接続します。

mysql> show global variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+

バイナリロギングを有効にし、AWS DMS でクラスターのライターエンドポイントを使用していることを確認した後、タスクを再開します。

関連情報

Using a MySQL-compatible database as a source for AWS DMS (MySQL 互換データベースを AWS DMS のソースとして使用する)

AWS公式更新しました 1年前
コメントはありません