メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Amazon Aurora とのレプリケーション

Aurora レプリカ

Aurora レプリカは、Aurora DB クラスター内の独立したエンドポイントであり、読み取りオペレーションのスケーリングと可用性の向上のために最適です。最大 15 個の Aurora レプリカを、同一 AWS リージョン内で DB クラスターがまたがるアベイラビリティーゾーン全体に分散できます。DB クラスターボリュームは DB クラスターのデータの複数のコピーで構成されます。ただし、クラスターボリュームのデータは、DB クラスターのプライマリインスタンスおよび Aurora レプリカの 1 つの論理ボリュームとして表されます。

この結果、すべての Aurora レプリカは、最短のレプリカラグでクエリの結果として同じデータを返します。レプリカラグは、通常はプライマリインスタンスが更新を書き込んだ後、100 ミリ秒未満です。レプリカラグは、データベースの変更レートによって異なります。つまり、データベースに対して大量の書き込みオペレーションが発生している間、レプリカラグが増加することがあります。

Aurora レプリカは、クラスターボリュームでの読み取りオペレーションに特化しているため、読み取りのスケーリングに最適です。書き込みオペレーションはプライマリインスタンスによって管理されます。クラスターボリュームは DB クラスター内のすべての DB インスタンスで共有されるため、Aurora レプリカごとにデータのコピーをレプリケートする追加作業は必要ありません。

可用性を高めるために、フェイルオーバーターゲットとして Aurora レプリカを使用できます。つまり、プライマリインスタンスが失敗した場合、Aurora レプリカがプライマリインスタンスに昇格されます。短い中断があり、その間はプライマリインスタンスに対して行われた読み取りおよび書き込みリクエストは、例外により失敗します。Aurora DB クラスターに Aurora レプリカが含まれていない場合は、障害イベント中にプライマリインスタンスが再作成されます。ただし、Aurora レプリカを昇格するほうが、プライマリインスタンスの再起動よりも大幅に短時間で行えます。高可用性のシナリオでは、1 つ以上の Aurora レプリカを作成することをお勧めします。これらのレプリカは、プライマリインスタンスと同じ DB インスタンスクラスとし、Aurora DB クラスターの異なるアベイラビリティーゾーンに配置します。フェイルオーバーターゲットとしての Aurora レプリカについては、「Aurora DB クラスターの耐障害性」を参照してください。

Aurora レプリカを作成する方法については、「コンソールを使用した Aurora レプリカの作成」を参照してください。

Aurora MySQL とのレプリケーション

Aurora レプリカに加えて、Aurora MySQL とのレプリケーションには次のオプションがあります。

  • 異なる AWS リージョンの 2 つの Aurora MySQL DB クラスター (Aurora MySQL DB クラスターの Aurora リードレプリカを別の AWS リージョンに作成)。

  • 同一リージョン内の 2 つの Aurora MySQL DB クラスター (MySQL バイナリログ (binlog) のレプリケーションを使用)。

  • マスターとしての Amazon RDS MySQL DB インスタンスと Aurora MySQL DB クラスター (Amazon RDS MySQL DB インスタンスの Aurora リードレプリカを作成)。通常、このアプローチは進行中のレプリケーションよりも、Aurora MySQL への移行時に使用されます。

Aurora MySQL でのレプリケーションの詳細については「Amazon Aurora MySQL とのレプリケーション」を参照してください。

Aurora PostgreSQL とのレプリケーション

レプリカ Aurora に加えて、Amazon RDS PostgreSQL DB インスタンス (マスター) と、Aurora PostgreSQL DB クラスター間でレプリケーションを設定できます。これを行うには、Amazon RDS PostgreSQL DB インスタンスの Aurora リードレプリカを作成します。

Aurora PostgreSQL でのレプリケーションエラーの対処方法の詳細については「Amazon Aurora PostgreSQL でのレプリケーション 」を参照してください。