Aurora MySQL バイナリログの設定
バイナリログは、Aurora MySQL サーバーインスタンスで行われたデータ変更に関する情報を含む、一連のログファイルです。バイナリログには、以下のような情報が含まれています。
-
テーブルの作成や行の変更など、データベースの変更が記述されたイベント
-
データを更新した各ステートメントの実行時間に関する情報
-
データを更新する可能性があったものの、それが実行されていないステートメントのイベント
バイナリログには、レプリケーション中に送信されるステートメントが記録されます。また、一部のリカバリオペレーションにもバイナリログが必要です。詳細については、MySQL ドキュメントの「バイナリログ
バイナリログは、プライマリ DB インスタンスからのみアクセスでき、レプリカからはアクセスできません。
Amazon Aurora の MySQL では、行ベース、ステートメントベース、および混合のバイナリログ形式がサポートされています。特定バイナリログ形式が必要でない場合は、混合形式を使用することをお勧めします。Aurora MySQL の各種バイナリログ形式の詳細については、MySQL ドキュメントの「Binary logging formats
レプリケーションを使用する予定の場合は、バイナリログ記録形式が重要です。ソースに記録されてレプリケーションターゲットに送信されるデータ変更記録が決定されるからです。レプリケーションのさまざまなバイナリログ記録のメリットとデメリットについては、MySQL ドキュメントの「ステートメントベースおよび行ベースレプリケーションのメリットとデメリット
重要
バイナリログ形式を行ベースに設定すると、バイナリログファイルが巨大になることがあります。巨大なバイナリログファイルにより、DB クラスターの使用可能なストレージの量が減ります。また、DB クラスターの復元オペレーションの実行にかかる時間が長くなることがあります。
ステートメントベースのレプリケーションは、ソース DB クラスターとリードレプリカの間の不整合の原因になります。詳細については、MySQL ドキュメントの「バイナリロギングでの安全および安全でないステートメントの判断
バイナリログを有効にすると、DB クラスターへの書き込みディスク I/O 操作の回数が増えます。VolumeWriteIOPs
CloudWatch メトリクスを使用して、IOPS の使用状況をモニタリングできます。
MySQL バイナリログ形式を設定するには
Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[Parameter groups] (パラメータグループ) を選択します。
-
変更する DB クラスターに関連付ける DB クラスターのパラメータグループを選択します。
デフォルトのパラメータグループを変更することはできません。DB クラスターがデフォルトのパラメータグループを使用している場合、新しいパラメータグループを作成し DB クラスターと関連付けます。
パラメータグループの詳細については、「Amazon Aurora のパラメータグループ」を参照してください。
-
[アクション] から [編集] を選択します。
-
binlog_format
パラメータを、選択したバイナリログ形式 (ROW
、STATEMENT
、またはMIXED
) に設定します。値OFF
を使用して、バイナリログをオフにすることもできます。注記
DB クラスターパラメータグループで
binlog_format
をOFF
に設定すると、log_bin
セッション変数が無効になります。これにより、Aurora MySQL DB クラスターのバイナリログ記録が無効になり、binlog_format
セッション変数がデータベースのデフォルト値のROW
にリセットされます。 -
[変更の保存] を選択して、更新を DB クラスターパラメータグループに保存します。
これらのステップを実行した後、変更を適用するには、DB クラスターのライターインスタンスを再起動する必要があります。Aurora MySQL バージョン 2.09 以前では、ライターインスタンスを再起動すると、DB クラスター内のすべてのリーダーインスタンスも再起動されます。Aurora MySQL バージョン 2.10 以降では、すべてのリーダーインスタンスを手動で再起動する必要があります。詳細については、「Amazon Aurora DB クラスターまたは Amazon Aurora DB インスタンスの再起動」を参照してください。
重要
DB クラスターパラメータグループを変更すると、そのパラメータグループを使用するすべての DB クラスターに影響を与えます。AWS リージョン内の異なる Aurora MySQL DB クラスターに異なるバイナリログ形式を指定する場合、DB クラスターは異なる DB クラスターパラメータグループを使用する必要があります。これらのパラメータグループは、さまざまなログ形式を識別します。各 DB クラスターに適切な DB クラスターパラメータグループを割り当てます。Aurora MySQL パラメータの詳細については、「Aurora MySQL 設定パラメータ」を参照してください。