Amazon Aurora MySQL 互換のエディション DB クラスターを使用しています。バイナリログ抽出のパフォーマンスを向上させるために、バイナリログの保持期間を増やしたいと考えています。
簡単な説明
DB クラスターのバイナリログ保持期間を長くすることで、Aurora MySQL 互換 DB クラスターのバイナリログの可用性を高めることができます。
**注:**Aurora MySQL 互換 DB クラスターでバイナリログを有効にすると、パフォーマンスに以下の影響が生じます。
- 追加の書き込みオーバーヘッドが発生する (必要な場合にのみ有効にしてください)。
- バイナリログのリカバリプロセスにより、再起動時のエンジンの起動時間が長くなる。
次の状況では、Aurora MySQL 互換 DB クラスターでバイナリログ記録を有効にするのがベストプラクティスです。
- AWS リージョン内の Aurora リードレプリカの場合
- 外部の MySQL 互換データベースへの Aurora 手動レプリケーションの場合
**注:**Aurora MySQL 互換では、クラスター間レプリケーションにバイナリログを使用しません。Aurora MySQL 互換のグローバルデータベースは、バイナリログを使用しません。
解決策
Aurora MySQL 互換 DB クラスターでバイナリログ記録を有効にする
- Amazon Relational Database Service (Amazon RDS) コンソールを開きます。
- ナビゲーションペインで、[パラメータグループ] を選択します。
注:デフォルトの Aurora DB クラスターパラメータグループを使用している場合は、新しい DB クラスターパラメータグループも作成してください。次に、[タイプ] で、[DB クラスターパラメータグループ] を選択します。
- DB カスタムクラスターパラメータグループを選択します。次に、[パラメータグループアクション] を選択します。
- [編集] を選択します。
- binlog_format パラメーターの値を変更します。例: ROW、Statement または MIXED。
- [変更を保存] を選択します。
詳細については、「Aurora MySQL 互換クラスターのバイナリログを有効にするにはどうすればよいですか?」を参照してください。
Aurora MySQL 互換 DB クラスターでのバイナリログ保持期間を増やす
変更がレプリカに適用されるまで、レプリケーションソース上のバイナリログファイルが確実に保持されているようにします。
**注:**バイナリログファイルが削除されるまでの保持時間枠を選択してください。保持時間枠は、変更が削除される前に、当該変更がレプリカに適用されていることを確認するために十分な長さである必要があります。
DB クラスターのバイナリログ保持期間を長くするには、mysql_rds_set_configuration プロシージャを使用します。ライターインスタンスで次のコマンドとサンプルパラメータを実行して、バイナリログファイルを 7 日間保持できます。
CALL mysql.rds_set_configuration('binlog retention hours', 168);
2.11 より前の Aurora MySQL 互換 (MySQL 5.7 互換) バージョンの場合、バイナリログの保持時間の最大値は 168 (7 日間) です。したがって、この値は 1~168 までの数値として入力するか、NULL として入力する必要があります。
バージョン 2.11.0 以降では、バイナリログの保持時間の最大値は 2160 (90 日間) です。2160 よりも大きい値を入力すると、デフォルトで 2160 が使用されます。
関連情報
レプリケーションソースのバイナリログを不要になるまで保持する