ちょっと話題の記事

【AWS】お知らせ:2013年11月のRDS自動マイナーバージョンアップグレードに際して注意することをまとめました

2013.10.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本日の課題

こんにちは植木和樹です。

本日は2013年10月19日です。AWSから「RDS自動マイナーバージョンアップグレード」のお知らせが通知されています。

Announcement: Announcing auto minor version upgrade schedule for MySQL 5.1, 5.5 and 5.6

As part of delivering the automatic version upgrade functionality, we will be auto-upgrading all the Amazon RDS database instances with the "Auto Minor Version Upgrade" flag set as "Yes" to the latest minor versions during the maintenance window you have chosen, as per the schedule below. The latest minor versions are 5.1.71 for MySQL 5.1, 5.5.33 for MySQL 5.5 and 5.6.13 for MySQL 5.6. Asia Pacific (Singapore), Asia Pacific (Sydney) and South America (Sao Paulo): Oct 28 2013 21:00 UTC to Nov 4 2013 20:59 UTC US West (California) and US West (Oregon): Oct 29 2013 21:00 UTC to Nov 5 2013 20:59 UTC US East (Virginia), EU (Ireland), Asia Pacific (Tokyo) and GovCloud (US): Oct 30 2013 21:00 UTC to Nov 6 2013 20:59 UTC

"Auto Minor Version Upgrade"が"Yes"になっているRDSに対して、自動的に最新のマイナーバージョンへのアップグレードが行われます。適用はRDS作成時に"maintenance window”で指定した曜日と時間帯に行われます。

さて今回の通知についてどのように対応すれば良いでしょうか。まとめてみました。

今回のRDS自動マイナーバージョンアップグレードについて

Tokyoリージョンの場合、メンテナンスは下記の日程で行われます。

Oct 30 2013 21:00 UTC to Nov 6 2013 20:59 UTC
日本時間:2013年10月31日(木)6:00 〜 11月7日(木)5:59

たとえば"maintenance window”が"tue:14:56-tue:15:26"になっている場合は「日本時間:11月5日(火) 23時56分〜11月6日(水) 0時26分」に行われます。

対象のRDSは"MySQL"のみです。OracleとMS-SQLは行われません。

今回の自動アップグレードで、各メジャーバージョンごとに次のマイナーバージョンになります。

  • MySQL 5.1系 → 5.1.71
  • MySQL 5.5系 → 5.5.33
  • MySQL 5.6系 → 5.6.13

RDSの調べ方

マネージメントコンソールでの調べ方

マネージメントコンソールのインスタンス画面を確認してください。

20131019_rds_minorupgrade_001

AWS CLIでの調べ方

AWS CLI と jq を使って調べることもできます。

$ aws rds describe-db-instances | jq -c ".DBInstances[] | [.DBInstanceIdentifier, .EngineVersion, .MultiAZ, .AutoMinorVersionUpgrade, .PreferredMaintenanceWindow] "

["db1","5.6.12",false,true,"tue:14:56-tue:15:26"]
["db2","5.5.31",true,true,"tue:16:00-tue:16:30"]
["db3","5.5.20",true,false,"tue:19:00-tue:19:30"]

AutoMinorVersionUpgradeがtrueのインスタンスだけを表示したい場合は jq のselectを使いましょう。

$ aws rds describe-db-instances | jq -c '.DBInstances[] | select(.AutoMinorVersionUpgrade == true) |  [.DBInstanceIdentifier, .EngineVersion, .MultiAZ, .AutoMinorVersionUpgrade, .PreferredMaintenanceWindow] '

対応について

最新のマイナーバージョンを使っている場合

対応は不要です。

"Auto Minor Version Upgrade"が"No"の場合

対応は不要です。ただ今後原因不明な障害が発生した際に「まず最新バージョンにアップグレードしてください」というサポート対応にならざるを得ない可能性があります。年間保守スケジュールにRDSアップグレードをご計画ください。

RDS for MySQLのメジャーおよびマイナーバージョンのサポートポリシーについては下記ドキュメントを参照してください。マイナーバージョンについては提供開始から「最低1年」のサポートとなります。

Amazon Relational Database Service User Guide - MySQL Version Management

"Auto Minor Version Upgrade"が"Yes" / "Multi-AZ"が"Yes"の場合

まずスレーブノード(待機系)に自動アップグレードが適用され、その後フェイルオーバーが"maintenance window”の時間帯に実施されます。そのためサービスがフェイルオーバー(3分)+リカバリ処理(0〜30分、またはそれ以上)の時間停止します。

サービス停止が許容できるなら自動アップグレードを待っても良いでしょう。"maintenance window"を変更して適用する曜日と時間帯を変更することも可能です。

サービス停止が許容できない場合は"Auto Minor Version Upgrade"を"No"に変更してください。

"Auto Minor Version Upgrade"が"Yes" / "Multi-AZ"が"No"の場合

対応としてはMulti-AZの場合と同じになります。ただSingle-AZの場合、RDSが一度シャットダウンして自動アップグレードされた後、リカバリ処理が実施されてリブートします。Multi-AZの場合よりも自動アップグレードの時間分サービス停止時間が長くなる可能性がありますのでご注意ください(どの程度長くなるかは不明)。

アプリケーションで注意すること

MySQLのバージョンが変わります。アプリケーションの動作確認は保守担当者の責任で実施してください。

今回はマイナーバージョンアップグレードなので一般的にそれほど影響ないとは思っていますが、留意いただければと思います。

まとめ

まずは利用しているRDSの"Auto Minor Version Upgrade"を調べてください。そして自動メンテナンスを行いたくない場合は機能を"No"にしてください。変更はマネージメントコンソールから、インスタンスの再起動なく実施可能です。