AWSをお使いのお客様から「Aurora を使ってるんだけど、バージョンはどれを使えば良い?」と聞かれることが時々あります。
基本的には、その時点での最新版をお使いいただくのがよいのですが「互換性を気にすると、自動マイナーバージョンアップが怖いんだよね。」と言われるお客様もいらっしゃいます。
そういう場合には、Auroraを実行する MySQL本体のバージョンを変えずに長期のサポートを提供してくれるLTS (long-term support)を利用することをお勧めしています。
ここら辺のサポート期間について、あまり知られていないようなのでAmazon Aurora MySQLやAmazon RDS for MySQLのサポート期間についてまとめてみたいと思います。
まず「Amazon Aurora MySQL」 のバージョンって何?
マニュアルから引用します。
Aurora MySQL 2 から、Aurora エンジンバージョンの構文は次のとおりです。
1 mysql-major-version.mysql_aurora.aurora-mysql-version
mysql-major-version
部分は5.7
または8.0
です。この値は、クライアントプロトコルのバージョンと、対応する Aurora MySQL バージョンでの一般的なレベルの MySQL 機能のサポートを表します。
aurora-mysql-version
は、Aurora MySQL メジャーバージョン、Aurora MySQL マイナーバージョン、パッチレベルの 3 つのパートからなるドット付きの値です。メジャーバージョンは2
または3
です。これらの値は、MySQL 5.7 または 8.0 と互換性がある Aurora MySQL をそれぞれ表しています。マイナーバージョンは、2.x または 3.x シリーズ内の機能リリースを表します。パッチレベルは、各マイナーバージョンで0
から始まり、マイナーバージョンに適用される以降の一連のバグ修正を表します。まれに、新しい機能がマイナーバージョンに組み込まれ、すぐには表示されないことがあります。このような場合、この機能はチューニングされ、後のパッチレベルで公開されます。
AWS による Aurora MySQL エンジンバージョンの確認または指定
上記を簡単にまとめるとこんな感じになります。
- メジャーバージョン(1桁目): 基本的に
mysql-major-version
と連動mysql-major-version
が、5.7 なら 2mysql-major-version
が、8.0 なら 3
- マイナーバージョン(2桁目): 使用されているMySQLのバージョン(5.7.xや8.0.x)が変わる
- パッチバージョン(3桁目): 脆弱性の修正やバグ修正など
この aurora-mysql-version
のマイナーバージョンが変わると使われるMySQLのマイナーバージョン(8.0.x → 8.0.y)が代わるので、MySQLサーバー本体の機能追加やバグ修正に伴って挙動が変わります。
そのため互換性を維持したい場合には、マイナーバージョンは同じものを使い続けられることが望ましいということになります。
「Aurora MySQL 長期サポート (LTS) リリース」とは?
こちらもマニュアルから引用になりますが、リリースから三年間は同じマイナーバージョンを使用することのできる特別なマイナーバージョンです。(すべてのマイナーバージョンがLTSの対象ではありません)
Aurora は、特定の Aurora MySQL バージョンを長期サポート (LTS) のリリースとして指定します。LTS リリースを使用する DB クラスターは、非 LTS リリースを使用するクラスターよりも同じバージョンに長くとどまるので、アップグレードサイクルの数は少なくなります。Aurora は、そのリリースが利用可能になった後、少なくとも 3 年間は各 LTS のリリースをサポートします。LTS リリースにある DB クラスターをアップグレードする必要がある場合、Aurora は次の LTS リリースにアップグレードされます。これで、クラスターを長時間再度アップグレードする必要はありません。
Aurora MySQL 長期サポート (LTS) リリース
LTSの実例として挙げると、2023/7/31にリリースされた3.04.0は、リリースされてから定期的に脆弱性やバグの修正が行われてきています。
- Aurora MySQL database engine updates 2023-07-31 (version 3.04.0, compatible with MySQL 8.0.28)
- Aurora MySQL database engine updates 2023-11-13 (version 3.04.1, compatible with MySQL 8.0.28)
- Aurora MySQL database engine updates 2024-03-15 (version 3.04.2, compatible with MySQL 8.0.28)
- Aurora MySQL database engine updates 2024-06-26 (version 3.04.3, compatible with MySQL 8.0.28)
- Aurora MySQL database engine updates 2025-05-05 (version 3.04.4, compatible with MySQL 8.0.28)
それではLTSではない通常のマイナーバージョンのサポート期間はどれぐらいかと言われると、マイナーバージョン毎に多少の差はありますが目安として1年+α 程度です。詳しい日付を知りたい方は、英語版のRelease calendar for Aurora MySQL minor versionsをご覧ください
それじゃ「Amazon RDS for MySQL」にLTSはあるの?
無いです。
「 Amazon RDS 延長サポート」 について
マイナーバージョンにサポート期間があるように、メジャーバージョンについてもサポート期間が存在しています。
MySQLのコミュニティサポートが終了した後も、Amazonが独自の「 Amazon RDS 延長サポート」が提供をされます
RDS 延長サポートは、メジャーエンジンバージョンのコミュニティのサポート終了日 から最大 3 年間ご利用いただけます (Aurora MySQL バージョン 2 では 3 年 4 か月)。この期間が過ぎてもメジャーエンジンバージョンをサポート対象バージョンにアップグレードしていない場合、Amazon Aurora によってメジャーエンジンバージョンが自動的にアップグレードされます。サポート対象のメジャーエンジンバージョンへできるだけ早くアップグレードすることをお勧めします。
Amazon Aurora の Amazon RDS 延長サポート
マニュアルに書いてある通り有料のサポートサービスで、vCPU単位で課金されます。延長サポート3年目からは料金が2倍に増えるのでなるべく早めの移行をお勧めしています。
まとめ
上記の内容を視覚的にわかりやすく示したのが、下記のタイムスケジュールです。
データベースのバージョンアップに伴って互換性のテスト等の作業が必要になるので、計画的に準備をすることは重要です。
このBlogの内容が参考になり、計画的なデータベースの更新に役に立てば幸いです。
もし、Amazon Aurora MySQLやAmazon RDS for MySQLのバージョンアップについて不安などがございましたら、弊社までお問い合わせください。