AWS リージョン 間での Amazon Aurora MySQL DB クラスターのレプリケーション - Amazon Aurora

AWS リージョン 間での Amazon Aurora MySQL DB クラスターのレプリケーション

Amazon Aurora MySQL DB クラスターを、出典 DB クラスターとは異なる AWS リージョン に、リードレプリカとして作成できます。このアプローチを使用すると、災害対策機能が向上し、ユーザーに近い AWS リージョン への読み取りオペレーションをスケールして、AWS リージョン 間の移行を容易にすることができます。

暗号化されている DB クラスターと暗号化されていない DB クラスターの両方のリードレプリカを作成できます。出典 DB クラスターが暗号化されている場合、リードレプリカを暗号化する必要があります。

出典 DB クラスターごとに、リードレプリカとすることができるクロスリージョン DB クラスターは最大 5 つです。

注記

クロスリージョンリードレプリカの代わりに、 Aurora Global Database を使用して、最小限のラグタイムで読み取り操作をスケールできます。Aurora Global Database では、1 つの AWS リージョン にプライマリ Aurora DB クラスターがあり、異なるリージョンに最大 5 つの読み取り専用セカンダリ DB クラスターがあります。各セカンダリ DB クラスターには、最大 16 個の (15 ではなく) Aurora レプリカを含めることができます。プライマリ DB クラスターからすべてのセカンダリへのレプリケーションは、データベースエンジンではなく Aurora ストレージレイヤーによって処理されるため、変更をレプリケートする際のラグタイムは非常に短く、通常は 1 秒未満となります。データベースエンジンをレプリケーションプロセスから除外するということは、データベースエンジンがワークロードの処理のみを実行することを意味します。また、Aurora MySQL の binlog (バイナリログ) のレプリケーションを設定または管理する必要もありません。詳細については、「Amazon Aurora Global Database の使用」を参照してください。

別の AWS リージョン に Aurora MySQL DB クラスターのリードレプリカを作成する場合は、以下の点に注意してください。

  • 出典 DB クラスターとクロスリージョンリードレプリカ DB クラスターのどちらにも、最大 15 個の Aurora レプリカを DB クラスターのプライマリインスタンスと同時に作成できます。この機能により、出典 AWS リージョン とレプリケーションターゲットの AWS リージョン の両方で、読み取りオペレーションをスケールできるようになります。

  • クロスリージョンシナリオでは、AWS リージョン 間のネットワークチャネルが長くなるため、出典 DB クラスターとリードレプリカ間のラグタイムが長くなります。

  • クロスリージョンレプリケーションから転送されたデータには、Amazon RDS のデータ転送料金が発生します。以下のクロスリージョンレプリケーションアクションでは、出典 AWS リージョン から転送されるデータに対して料金が発生します。

    • リードレプリカを作成すると、Amazon RDS によって出典クラスターのスナップショットが作成され、リードレプリカを保持する AWS リージョン に、そのスナップショットが転送されます。

    • 出典データベースのデータが変更されるたびに、Amazon RDS によって、出典リージョンからリードレプリカを保持する AWS リージョン にデータが転送されます。

    Amazon RDS データ転送料金の詳細については、「Amazon Aurora の料金」を参照してください。

  • 同じ出典 DB クラスターを参照するリードレプリカに対して、複数の同時作成または削除アクションを実行できます。ただし、出典 DB クラスターごとに作成できるリードレプリカは 5 つまでです。

  • レプリケーションを効率的に実行するには、各リードレプリカに、出典 DB クラスターと同程度のコンピューティングおよびストレージリソースが必要です。出典 DB クラスターを拡張した場合、リードレプリカも拡張する必要があります。

スタートする前に

クロスリージョンリードレプリカとなる Aurora MySQL DB クラスターを作成する前に、出典 Aurora MySQL DB クラスターでバイナリログを有効にする必要があります。Aurora MySQL のクロスリージョンレプリケーションは、MySQL バイナリレプリケーションを使用してクロスリージョンリードレプリカ DB クラスターでの変更を再生します。

Aurora MySQL DB クラスターでバイナリログ記録を有効にするには、出典 DB クラスターの binlog_format パラメータを更新します。binlog_format パラメータはクラスターレベルのパラメータであり、デフォルトクラスターパラメータグループにあります。DB クラスターがデフォルトクラスター DB パラメータグループを使用している場合、新しい DB クラスターパラメータグループを作成して binlog_format 設定を変更します。binlog_formatMIXED に設定することをお勧めします。ただし、特定バイナリログ形式が必要な場合は binlog_formatROW または STATEMENT に設定する必要もあります。変更を適用するには、Aurora DB クラスターを再起動します。

Aurora MySQL でバイナリログ記録を使用する方法の詳細については、「Aurora と MySQL との間、または Aurora と別の Aurora DB クラスターとの間のレプリケーション (バイナリログレプリケーション)」を参照してください。Aurora MySQL 設定パラメータの変更の詳細については、「Amazon Aurora の DB クラスターパラメータと DB インスタンスパラメータ」および「Amazon Aurora のパラメータグループ」を参照してください。