Amazon Aurora
Aurora のユーザーガイド

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

Aurora ではレプリケーションオプションをいくつかご用意しています。以下のセクションでは、各技術を選択する方法およびタイミングについて説明します。

Aurora レプリカ

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

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

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

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

注記

暗号化されていない Aurora DB クラスター用に暗号化された Aurora レプリカを作成することはできません。暗号化された Aurora DB クラスター用に暗号化されていない Aurora レプリカを作成することはできません。

Aurora レプリカを作成する方法については、「DB クラスターに 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 でのレプリケーション」を参照してください。