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