🔁
【AWS Aurora MySQL Blue/Green Deploy】Read Replica Replication Error
はじめに
AWSさんから届いたAurora MySQLのバージョンアップグレードのメールに基づいて、ブルー/グリーンデプロイを使用してAurora MySQLのバージョンを上げようとしたところ、下記のエラーメッセージが表示されました。このエラーに苦戦したので、解決方法を記録しておきます。
エラーメッセージ
Read Replica Replication Error - IOError: 1236, reason: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'
なぜこのエラーが表示されるのか?
このエラーメッセージは、ブルー/グリーンデプロイを作成する際に、ブルー側のDBインスタンスにバイナリログが存在しない場合に表示されるものです。
バイナリログは、Aurora MySQL サーバーインスタンスで行われたデータ変更に関する情報を含む、一連のログファイルです。ブルー側のDBインスタンスにバイナリログがない場合、アップグレード先のバージョンへのデプロイが正常に行われない可能性があります。
- 参考)Aurora MySQL バイナリログの設定
対応方法
- ブルー/グリーンデプロイを作成する前に
DBクラスターのパラメータグループ
のbinlog_format
パラメータの設定値をMIXED
に変更する - Blue側のDBインスタンスで書き込み処理(INSERTなど)を行い、バイナリログを作成する
- バイナリログが存在するか確認する
バイナリログ確認
# `binlog_format` パラメータの設定値を `MIXED` に変更されていることを確認する
SHOW variables LIKE "binlog_format";
# 保存されているバイナリログを確認する
show binary logs;
# 指定したバイナリログの内容を確認する
show binlog events in '<log name>';
Discussion