

# ダウンタイムのない再起動 (ZDR) (Amazon Aurora MySQL 用)
<a name="AuroraMySQL.Replication.Availability"></a><a name="zdr"></a>

ダウンタイムのない再起動 (ZDR) 機能は、特定の種類の再起動中に DB インスタンスへのアクティブな接続の一部または全部を保持できます。ZDR は、Aurora がエラー条件 (レプリカが出典より遅すぎるなど) を解決するために自動的に実行する再起動に適用されます。

**重要**  
ZDR メカニズムはベストエフォートベースで動作します。ZDR が適用される場合を決定する Aurora MySQL バージョン、インスタンスクラス、エラー条件、互換性のある SQL オペレーション、およびその他の要因は、いつでも変更される可能性があります。

Aurora MySQL 2.x の ZDR にはバージョン 2.10 以降が必要です。ZDR は Aurora MySQL 3.x のすべてのマイナーバージョンで利用可能です。Aurora MySQL バージョン 2 と 3 では、ZDR メカニズムはデフォルトでオンになっており、Aurora は `aurora_enable_zdr` パラメータを使用しません。

Aurora は、停止時間ゼロの再起動に関連するアクティビティに関するレポートを、 [**イベント**] ページに表示します。Aurora は、ZDR メカニズムを使用して再起動を試みる際にイベントを記録します。このイベントは、Aurora が再起動を実行する理由を示します。その後、Aurora は再起動の完了時に別のイベントを記録します。この最終イベントは、再起動中にプロセスに要した時間、および保持またはドロップされた接続の数を報告します。データベースエラーログを参照して、再起動中に発生した処理の詳細を確認できます。

ZDR オペレーションが成功した後も接続はそのまま残りますが、一部の可変と機能は再初期化されます。次の種類の情報は、ダウンタイムのない再起動によって生じる再起動を通じては保持されません。
+ グローバル可変 Aurora はセッション可変を復元しますが、再起動後のグローバル可変の復元は行いません。
+ ステータス可変。特に、エンジンのステータスによって報告される稼働時間の値はリセットされます。
+ `LAST_INSERT_ID`. 
+ テーブルのメモリ内 `auto_increment` 状態。メモリ内自動インクリメント状態が再初期化されます。自動インクリメント値の詳細については、[MySQL リファレンスマニュアル](https://dev.mysql.com/doc/refman/8.0/en/innodb-auto-increment-handling.html#innodb-auto-increment-initialization)を参照してください。
+ `INFORMATION_SCHEMA` および `PERFORMANCE_SCHEMA` テーブルからの診断情報。この診断情報は、`SHOW PROFILE` や `SHOW PROFILES` などのコマンドの出力にも表示されます。

次の表では、クラスター内の DB インスタンスを再起動するときに Aurora が ZDR メカニズムを使用できるかどうかを決定するバージョン、インスタンスロール、およびその他の状況を示しています。


| Aurora MySQL バージョン | ZDR はライターに適用されますか? | ZDR はリーダーに適用されますか？ | ZDR は常に有効ですか？ | メモ | 
| --- | --- | --- | --- | --- | 
|  2.x、2.10.0 未満  |  不可  |  いいえ  |  該当なし  |  ZDR はこれらのバージョンでは利用できません。  | 
|  2.10.0～2.11.0  |  あり  |  はい  |  可能  |  Aurora は、アクティブな接続で進行中のトランザクションをロールバックします。アプリケーションはトランザクションを再試行する必要があります。 Aurora は、TLS/SSL、一時テーブル、テーブルロック、またはユーザーロックを使用するすべての接続をキャンセルします。  | 
|  2.11.1 以降  |  あり  |  はい  |  可能  |  Aurora は、アクティブな接続で進行中のトランザクションをロールバックします。アプリケーションはトランザクションを再試行する必要があります。 Aurora は、一時テーブル、テーブルロック、またはユーザーロックを使用するすべての接続をキャンセルします。  | 
|  3.01～3.03  |  あり  |  はい  |  可能  |  Aurora は、アクティブな接続で進行中のトランザクションをロールバックします。アプリケーションはトランザクションを再試行する必要があります。 Aurora は、TLS/SSL、一時テーブル、テーブルロック、またはユーザーロックを使用するすべての接続をキャンセルします。  | 
|  3.04 以上  |  あり  |  はい  |  可能  |  Aurora は、アクティブな接続で進行中のトランザクションをロールバックします。アプリケーションはトランザクションを再試行する必要があります。 Aurora は、一時テーブル、テーブルロック、またはユーザーロックを使用するすべての接続をキャンセルします。  | 