はじめに
RDS Aurora RDSのメンテナンスについて少しまとめました。
まだ不明な点があるので、随時追加していきます。
メンテナンスの要因
- OSのアップデートに対するパッチ
- データベースエンジンに対するパッチ
- エンジンのアップデート
- 基盤の障害
などがあります。
メンテナンスの対象
- DBクラスターのメンテナンス
- DBインスタンスのメンテナンス
があります。
DBクラスターのメンテナンス
ダウンタイムの有無や時間はメンテナンス内容に依存するが、ダウンタイムが発生するときは、その間DBクラスター配下の全てのDBインスタンスに接続できなくなる
また、エンジンのアップデートでデータベースの再起動が必要になる。(20~30秒のダウンタイムが発生)
Amazon Aurora は定期的に更新をリリースします。更新はシステムメンテナンスの時間中に Amazon Aurora DB クラスターに適用されます。更新が適用されるタイミングは、DB クラスターのリージョンやメンテナンスウィンドウの設定、および更新のタイプによって異なります。更新にはデータベースの再起動が必要になるため、通常、20~ 30 秒のダウンタイムが発生します。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Updates.html
DBインスタンスのメンテナンス
ダウンタイムの有無や時間はメンテナンス内容に依存するが、ダウンタイムが発生するときはそのDBインスタンスに接続できなくなる。
マルチAZ構成で、DBクラスター配下に複数のDBインスタンスが存在し、プライマリDBの時はフェイルオーバーが発生する為ダウンタイムが発生するが、リードレプリカの場合はダウンタイムは発生しない。
Amazon Aurora のよくある質問 フェイルオーバーは開始から終了まで通常 30 秒以内に完了します。
https://aws.amazon.com/jp/rds/aurora/faqs/
メンテナンスの通知
全てのメンテナンスが通知される事は保障されていない。
基盤の問題等によってい緊急性の高いものは事前の通知なしにメンテナンスが実施される場合がある。
よって、下記の方法でなるべく補足できるようにする。(この方法を全てとったとしてもメンテナンスのイベント確実に漏れなくキャッチできない)
メンテナンス期間
[RDSサービス]-[データベース]の変更からメンテナンス時間を設定できます。
メンテナンス時間は下記単位で設定できます。
- DBクラスター
- DBインスタンス
同時にメンテナンスが実行されないようにクラスターと各インスタンスのメンテナンス時間は別の曜日・時間を設定するのがベストです。
全てのメンテナンスが設定した期間に行われるわけではない。
頻度は高くないが、緊急性の高いものは随時メンテナンスが実施される事がある。
メンテナンスの種類
メンテナンスの種類は下記があります。
- Required(必須):メンテナンスアクションは次回メンテナンススケジュールにリソースに適用されます。
- Available(利用可能):メンテナンスアクションは利用可能ですが、メンテナンススケジュールで自動的にはリソースに適用されません。無期限に延長可能です。
その他
マイナーバージョン自動アップグレード
マイナーバージョン自動アップグレードはAurora MySQL 1.x または 2.xのLTSバージョン(1.22.*、2.07.*)では対応していません。
アップグレードについて
アップグレードの失敗や、アップグレードによりアプリケーションに影響を与える事があるので、事前に検証環境などでアップグレードのテストやアップグレード後の動作確認を実施する必要がある。