【AWS】【Aurora】Aurora の ゼロダウンタイムパッチ機能 (ZDP)

■ はじめに

https://qiita.com/tonishy/items/542f7dd10cc43fd299ab
と、同じで、Aurora 1.14 強制アップグレード通知が来た。
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Aurora.DatabaseEngineUpdates.html
によると、「更新では、データベースを再起動する必要があるため、20~30 秒間のダウンタイムが発生」
とあるので、サポートに問い合わせたら、ゼロダウンタイムパッチ機能を教えてもらったので、まとめる。

■ (一般用語として)ゼロダウンタイムパッチ

ゼロダウンタイムパッチ(ZDP:zero-downtime-patching)
 * データベースやソフトウェアにパッチを適用するときのダウンタイムを極力なくせる機能

■ Aurora の ゼロダウンタイムパッチ

 * Aurora 1.10からの機能
 * とはいえ、一時的に (5 秒ほど) 落ちる場合がある
 * 以下の「条件」下で、Aurora 1.10以上であれば、自動的にZDPが適用される

条件

以下の状態では正常に実行されない
 * 実行時間が長いクエリが進行中である
 * 実行時間が長いトランザクションが開いている
 * バイナリログ記録が有効になっている
 * バイナリログのレプリケーションが実行中である
 * パラメータの変更が保留中である
 * 一時テーブルが使用中である
 * テーブルロックが使用中である
 * オープン SSL 接続がある

条件の確認方法

『バイナリログ記録が有効になっている』の確認の仕方
 * RDSダッシュボード画面のDBクラスターのパラメータグループで、
   「binlog_format」の値が「OFF」以外の場合(「OFF」であれば、OK!!)

■ Aurora の アップグレード実施

様々な方法があるらしいが...
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Aurora.DatabaseEngineUpdates.html
とりあえず、以下を行った。

 * RDSダッシュボード画面の[クラスター]-[インスタンスの操作]-[今すぐアップグレード]を選択

実施した所感

 * 実行後、しばらく、実施中となっていたが、その間、システムにアクセスしてもデータアクセス可能だった。
  => すごい!!!


関連記事

Aurora の ストレージ について

https://blogs.yahoo.co.jp/dk521123/37823589.html