

# 読み取り可用性機能のある Aurora クラスターの再起動
<a name="aurora-mysql-survivable-replicas"></a><a name="survivable_replicas"></a>

読み取り可用性機能があると、プライマリまたはセカンダリクラスター内のリーダーインスタンスを再起動せずに Aurora クラスターのライターインスタンスを再起動できます。そうすることで、ライターインスタンスを再起動している間、読み込みオペレーション用にクラスターの高可用性を維持するのに役立ちます。リーダーインスタンスは後で都合の良いスケジュールで再起動できます。例えば、本番クラスターの場合、リーダーインスタンスを一度に 1 つずつ再起動し、プライマリインスタンスの再起動が完了した後にのみ開始できます。再起動する各 DB インスタンスについて、「[Aurora クラスター内の DB インスタンスの再起動](aurora-reboot-db-instance.md)」 の手順に従います。

プライマリ DB クラスターの読み取り可用性機能は Aurora MySQL バージョン 2.10 以降で使用できます。セカンダリ DB クラスターの読み取り可用性は Aurora MySQL バージョン 3.06 以降で使用できます。

Aurora PostgreSQL では、この関数は次のバージョンでデフォルトで使用できます。
+ バージョン 15 の 15.2 以降
+ バージョン 14 の 14.7 以降
+ バージョン 13 の 13.10 以降
+ バージョン 12 の 12.14 以降

Aurora PostgreSQL の読み取り可用性機能の詳細については、「[Aurora レプリカの読み取り可用性の向上](AuroraPostgreSQL.Replication.md#AuroraPostgreSQL.Replication.Replicas.SRO)」を参照してください。

この機能の前では、プライマリインスタンスを再起動すると、各リーダーインスタンスの再起動が同時に発生していました。Aurora クラスターで古いバージョンを実行している場合は、代わりに [読み取り可用性機能のない Aurora クラスターの再起動](aurora-reboot-cluster.md) の再起動の手順を使用します。

**注記**  
読み取り可用性のある Aurora DB クラスターの再起動動作の変更は、3.06 以前のバージョンの Aurora MySQL の Aurora グローバルデータベースでは異なります。Aurora グローバルデータベース内のプライマリクラスターのライターインスタンスを再起動しても、プライマリクラスター内のリーダーインスタンスは引き続き使用できます。ただし、セカンダリクラスター内の DB インスタンスは同時に再起動します。  
読み取り可用性機能の向上した限定バージョンは、Aurora PostgreSQL バージョン 12.16、13.12、14.9、15.4 以降の、Aurora グローバルデータベースでサポートされています。

クラスターパラメータグループを変更した後、頻繁にクラスターを再起動します。パラメータを変更するには、「[Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)」 の手順に従います。Aurora クラスター内のライター DB インスタンスを再起動して、クラスターパラメータに変更を適用するとします。一部またはすべてのリーダー DB インスタンスは、古いパラメータ設定を引き続き使用することがあります。ただし、異なるパラメータ設定は、クラスターのデータ整合性には影響しません。データファイルの編成に影響するクラスターパラメータは、ライター DB インスタンスによってのみ使用されます。

例えば、Aurora MySQL クラスターで、リーダーインスタンスの前に、ライターインスタンスで `binlog_format` や `innodb_purge_threads` などのクラスターパラメータを更新できます。ライターインスタンスだけがバイナリログを書き込み、元に戻すレコードを消去しています。クエリの SQL ステートメントまたはクエリ出力の解釈方法を変更するパラメータについては、リーダーインスタンスを直ちに再起動するように注意する必要がある場合があります。これは、クエリ中の予期しないアプリケーションの動作を回避するために行います。例えば、`lower_case_table_names` パラメータを変更してライターインスタンスを再起動するとします。この場合、リーダーインスタンスは、すべてが再起動されるまで、新しく作成されたテーブルにアクセスできない場合があります。

すべての Aurora MySQL クラスタパラメータのリストについては、[クラスターレベルのパラメータ](AuroraMySQL.Reference.ParameterGroups.md#AuroraMySQL.Reference.Parameters.Cluster) を参照してください。

すべての Aurora PostgreSQL クラスターパラメータのリストについては、[Aurora PostgreSQL クラスターレベルのパラメータ](AuroraPostgreSQL.Reference.ParameterGroups.md#AuroraPostgreSQL.Reference.Parameters.Cluster) を参照してください。

**ヒント**  
Aurora MySQL は、クラスターが高スループットでワークロードを処理している場合、ライターインスタンスとともに一部のリーダーインスタンスを再起動することがあります。  
フェイルオーバー操作中に、再起動回数が減少することもあります。Aurora MySQL は、フェイルオーバー中にはライター DB インスタンスとフェイルオーバーターゲットのみを再起動します。クラスター内の他のリーダー DB インスタンスは、リーダーエンドポイントへの接続を通じてクエリの処理を続行するために引き続き使用できます。したがって、クラスター内に複数のリーダー DB インスタンスを持つことで、フェイルオーバー中の可用性を向上させることができます。