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

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

Amazon Aurora PostgreSQL でのレプリケーションについて以下に説明します。レプリケーションのモニタリングについても説明します。

Aurora レプリカの使用

Auroraレプリカは、Aurora DB クラスター内の独立したエンドポイントであり、読み取りオペレーションのスケーリングと可用性の向上に最適です。AuroraDB クラスターには、Aurora DB クラスター AWS のリージョンのアベイラビリティーゾーン全体に配置されている最大 15Aurora のレプリカを加えることができます。

DB クラスターボリュームは DB クラスターのデータの複数のコピーで構成されます。ただし、クラスターボリュームのデータは、DB クラスターのプライマリ書き込み DB インスタンスおよび Aurora レプリカに対する単一の論理ボリュームとして表されます。Aurora レプリカの詳細については、「Aurora レプリカ」を参照してください。

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

Aurora PostgreSQL– ベースの DB クラスターは、異なる AWS リージョンの Aurora レプリカをサポートしていません。つまり、Aurora PostgreSQL DB クラスターをクロスリージョンレプリケーション向けに構成することはできません。ただし、Aurora グローバルデータベース機能を使用すれば、読み取りをスケールし、Aurora PostgreSQL DB クラスターの高可用性を達成することが可能です。Aurora グローバルデータベースには、1 つの AWS リージョンに 1 つの読み取り/書き込みプライマリ DB クラスターがあり、異なるリージョンには最大 5 つの読み取り専用セカンダリ DB クラスターがあります。詳細については、「Amazon Aurora グローバルデータベースの使用」を参照してください。

PostgreSQL には、Aurora レプリカのサポートに加え、論理レプリケーションなど、独自のネイティブレプリケーション機能があります。Aurora レプリカとは異なり、PostgreSQL リードレプリカは、単一スレッドを使って、プライマリ DB インスタンスのすべての書き込みオペレーションをローカルデータストアに適用します。この制限により、PostgreSQL リードレプリカで大量の書き込みトラフィックをサポートする機能が影響を受ける場合があります。

注記

Amazon Aurora DB クラスターの書き込み DB インスタンスを再起動すると、この DB クラスターの Aurora レプリカも自動的に再起動されます。自動再起動で再確立されるエントリポイントにより、DB クラスター全体での読み取り/書き込みの一貫性が保証されます。

Aurora PostgreSQL レプリケーションのモニタリング

読み取りのスケーリングと高可用性は最短遅延時間に左右されます。Amazon CloudWatch ReplicaLag メトリクスをモニタリングすることにより、Aurora レプリカが Aurora PostgreSQL DB クラスターの書き込み DB インスタンスからどれくらい遅延しているかをモニタリングできます。Aurora レプリカは、書き込み DB インスタンスと同じクラスターボリュームから読み取るため、ReplicaLag メトリクスの意味は Aurora PostgreSQL DB クラスターの場合とは異なります。Aurora レプリカの ReplicaLag メトリクスは、書き込み DB インスタンスのページキャッシュと比較した場合の Aurora レプリカのページキャッシュの遅延を示します。

RDS インスタンスと CloudWatch メトリックスのモニタリングの詳細については、「Amazon Aurora DB クラスターのモニタリング」を参照してください。