GTID ベースレプリケーションを使用する
以下では、Aurora MySQL クラスターと外部ソースとの間において、バイナリログ (binlog) レプリケーションでグローバルトランザクション ID (GTID) を使用する方法について説明します。
注記
Aurora では、この機能は、外部 MySQL データベースとの間で binlog レプリケーションを使用する Aurora MySQL クラスターでのみ使用できます。もう一方のデータベースは、Amazon RDS MySQL インスタンス、オンプレミス MySQL データベース、または別の AWS リージョン にある Aurora DB クラスターです。その種類のレプリケーションを設定する方法については、「Aurora と MySQL との間、または Aurora と別の Aurora DB クラスターとの間のレプリケーション (バイナリログレプリケーション)」を参照してください。
binlog レプリケーションを使用する際に MySQL での GTID ベースのレプリケーションに慣れていない場合は、MySQL ドキュメントの「Replication with global transaction identifiers
GTID ベースのレプリケーションは、Aurora MySQL バージョン 2 および 3 でサポートされています。
トピック
グローバルトランザクション ID (GTID) の概要
グローバルトランザクション ID (GTID) はコミットされた MySQL トランザクションに対して生成される一意の ID です。GTID を使用することで、簡単に binlog をレプリケーションおよびトラブルシューティングできるようになります。
注記
Aurora がクラスター内の DB インスタンス間でデータを同期する場合、そのレプリケーションメカニズムにバイナリログ (binlog) は含まれません。Aurora MySQL では、GTID ベースのレプリケーションは、binlog レプリケーションも使用して外部の MySQL 互換データベースから Aurora MySQL DB クラスター間でレプリケートする場合にのみ適用されます。
MySQL では、binlog レプリケーションに 2 種類のトランザクションを使用します。
-
GTID トランザクション - GTID によって識別されるトランザクション。
-
匿名トランザクション - GTID が割り当てられていないトランザクション。
レプリケーション設定では、GTID はすべての DB インスタンスで一意です。GTID を使用すると、ログファイルの位置を参照する必要がないため、GTID はレプリケーション設定を簡素化します。GTID はまた、レプリケートされたトランザクションを追跡し、出典インスタンスとレプリカが一致しているかどうかの判断を容易にします。
外部の MySQL 互換データベースから Aurora クラスターにレプリケートする場合は通常、GTID ベースのレプリケーションを Aurora と共に使用します。このレプリケーション設定は、オンプレミスまたは Amazon RDS データベースから Aurora MySQL への移行の一環として行うことができます。外部データベースで既に GTID が使用されている場合に、Aurora クラスターに対して GTID ベースのレプリケーションを有効にすると、レプリケーションプロセスが簡単になります。
Aurora MySQL クラスター用に GTID ベースのレプリケーションを設定するには、まず DB クラスターパラメータグループの関連設定パラメータを設定します。その後、そのパラメータグループとクラスターを関連付けます。
GTID ベースレプリケーションのパラメータ
以下のパラメータを使用して、GTID ベースレプリケーションを設定します。
Parameter | 有効な値 | 説明 |
---|---|---|
|
|
|
|
|
|
注記
AWS Management Console では、gtid_mode
パラメータは gtid-mode
のように表示されます。
GTID ベースのレプリケーションでは、Aurora MySQL DB クラスターの DB クラスターパラメータグループでこれらの設定を使用します。
-
ON
とON_PERMISSIVE
は、Aurora MySQL クラスターからの送信レプリケーションにのみ適用されます。いずれの値でも、Aurora DB クラスターは、外部データベースにレプリケートされるトランザクションに GTID を使用します。ON
の場合は、外部データベースも GTID ベースのレプリケーションを使用する必要があります。ON_PERMISSIVE
の場合、GTID ベースのレプリケーションは、外部データベースでオプションになります。 -
OFF_PERMISSIVE
が設定された場合、これは、Aurora DB クラスターが、外部データベースからの受信レプリケーションを受け入れることができることを意味します。これは、外部データベースで GTID ベースのレプリケーションが使用されているかどうかにかかわらず実行することができます。 -
OFF
が設定された場合、これは、Aurora DB クラスターが、GTID ベースのレプリケーションを使用しない外部データベースからの受信レプリケーションのみを受け入れることができることを意味します。
ヒント
受信レプリケーションは、Aurora MySQL クラスターの最も一般的な binlog レプリケーションのシナリオです。受信レプリケーションでは、GTID モードを OFF_PERMISSIVE
に設定することをお勧めします。この設定では、レプリケーション出典の GTID 設定に関係なく、外部データベースからの受信レプリケーションが可能になります。
パラメータグループの詳細については、「Amazon Aurora のパラメータグループ」を参照してください。