みなさん、こんばんは。小寺です。
Amazon Aurora PostgreSQLでリードレプリカの可用性が改善されています。

https://aws.amazon.com/about-aws/whats-new/2023/05/amazon-aurora-postgresql-read-replicas/

アップデート内容

Amazon Aurora PostgreSQLでは、ライターノードの再起動時の読み取りノードの可用性が向上しました。
本アップデートにより、リーダーノードはライターノードの再起動中に読み取りリクエストを処理し続け、クラスター内の読み取り可用性が改善されました。

ライターノードの再起動がされる場合としては、静的パラメータグループを適用されるために予め計画を立てて行われることが多いかと思います。再起動時の読み取り可用性が維持されることで、ライター構成の変更による影響を軽減できます。
また、フェイルオーバーが発生した場合の可用性が向上するので、リーダー ノードは利用可能な状態を維持し、新しく昇格したライターに再接続されます。

利用する上での前提条件

読み取り可用性機能は、Aurora PostgreSQL の次のバージョンでデフォルトで利用可能です。
・15.2 以降の 15 バージョン
・14.7 以降の 14 バージョン
・13.10 以降の 13 バージョン
・12.14 以降の 12 バージョン

上記バージョンで作成された DB クラスターの読み取り可用性機能を利用するためには、DB クラスターのライターインスタンスを再起動します。

再起動しているときの可用性を確認してみるには

aurora_replica_status 関数を使えば、接続中のリーダー インスタンスの最新情報が確認できます。
aurora_replica_status の最終更新タイムスタンプは、クエリが実行される DB インスタンスに対応する行では常に空です。これは、リーダー インスタンスに最新のデータがあることを示します。
Aurora レプリカがライター インスタンスから切断され、再接続すると、次のデータベース イベントが生成されます。

SELECT * FROM aurora_replica_status();

SELECT server_id, CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'writer' ELSE 'reader'
END AS instance_role
FROM aurora_replica_status()
WHERE session_id = 'MASTER_SESSION_ID';

制限事項

・グローバル DB Aurora レプリカはサポートされていません。
・Aurora レプリカが、オンライン レプリケーションのリカバリ途中で、その過程で再起動される場合はサポートされていません。
・トランザクションがラップアラウンド状態に近づくと、Aurora レプリカが再起動します。
・レプリケーションプロセスがブロックされた場合、Aurora レプリカが再起動されることがあります。

トランザクションのラップアラウンドについて~補足~

PostgreSQL はトランザクションにトランザクション ID として番号を割り当てます。トランザクション ID は数値であるため、許可する最大値や最小値などの制限が必要です (数を無限に生成することはできません)。
PostgreSQL は、トランザクション IDとして 4 バイト整数を選ぶことができます。つまり、4 バイトで生成できるトランザクション ID の最大数は 2^32 ~ 4294967296 で、40 億のトランザクション ID です。
PostgreSQL は、トランザクション ID を 1 から 2^31 ~ 2147483648 にローテーションすることができ、4 バイト整数で無制限の数のトランザクションを処理します。この、ローテーションのことを「トランザクション ID ラップアラウンド」と呼びます。