いきなり結論
- 以下の表から、community のPostgresql
<major>.1release(=正式リリース)から、LTSまでは最大20か月かかることになる。 - 最新Postgresqlバージョンから2世代遅れのバージョンを選択するのが基本になります
- Amazon RDS 延長サポートを活用することで、LTSバージョンでの安定した定期バージョンアップ戦略を組むことが可能になりそうです
| バージョン種類 | リリース時期 |
|---|---|
| Minor versions | Within 3 months of community release |
| Major versions | Within 8 months of the community .1 release |
| Aurora LTS per major | Within 12 months of Aurora major GA |
Aurora / RDS バージョン提供タイムラインが公開された
これまで明言されていなかった、バージョン提供がいつ頃、どのような基準でリリースされるかが公開・管理されるようになりました。
これによって、新しいバージョンを使用したいが、いつ頃から対応を始めれば良いか目途を立てることができるようになりました
LTSバージョンとは
通常Auroraのバージョンは約1年半でEOLを迎えます。一方でLTSバージョンはメジャーバージョンのEOLまで使い続けることができるバージョンです
当然セキュリティパッチのリリースも行われます。
Aurora により、適切な Aurora PostgreSQL バージョンが、長期サポート (LTS) のリリースとして指定されます。LTS リリースを使用するデータベースクラスターでは、非 LTS リリースを使用するクラスターと比べて、同じバージョンを長く使用することが可能で、アップグレードサイクルが少なくなります。LTS マイナーバージョンには、重大な安定性およびセキュリティ問題に対するバグ修正 (パッチバージョンとして) のみが含まれています。LTS バージョンには、導入後にリリースされた新機能は含まれません。
また、EOLを迎えても追加費用で利用し続けられるAmazon RDS 延長サポートにもLTSバージョンは対応しています。
つまり1つのバージョンを数年単位で長期的に利用できるバージョンになります
LTSバージョンのリリース時期が明言されたのがでかい
今回のリリースの注目はLTSバージョンのリリース時期が明言されたことにあります。
これまではいつリリースされるかがわからなかったため、長期的に利用が見込めるバージョンでありながら、そのバージョンへのバージョンアップ戦略は描きづらい状況でした。
結果として中々バージョンアップができず、結局その長期的に利用できるメリットを生かしきれない現状がありました。
具体的には Within 12 months of Aurora major GAとなり、そのPostgresqlでのAuroraのメジャーバージョンがリリースされてから12か月以内と明言されました。
Auroraのメジャーバージョンがリリースとは
これは Within 8 months of the community <major>.1 release= PostgresqlのXX.1 バージョンのリリースから8か月以内となります。
PostgresqlのXX.0はベータ版なので、Postgresqlの正式リリースから8か月と言えます
ここまでを整理すると、Postgresqlの正式リリースから最長で20か月以内にはLTSバージョンがリリースされることになります。
Postgresqlは毎年1つのメジャーバージョンがリリースされているので、20か月と考えると、最新バージョンから2つ前のバージョンにてLTSのリリースがされていくと考えると良いでしょう
ではLTSバージョンはいつまで利用できるのか
バージョンによってリリース時期はばらつきがあります
- PostgreSQL 17.7 2026 年 3 月 25 日にリリースされました。詳細については、Aurora PostgreSQL のリリースノートの「PostgreSQL 17.7」を参照してください。
- PostgreSQL 16.8。2025 年 4 月 7 日にリリースされました。詳細については、Aurora PostgreSQL のリリースノートの「PostgreSQL 16.8」を参照してください。
- PostgreSQL 15.10。2024 年 12 月 27 日にリリースされました。詳細については、Aurora PostgreSQL のリリースノートの「PostgreSQL 15.10」を参照してください。
EOLはリリースカレンダーを見るとそれぞれ以下のようになります。こちらは2月末で共通です
- Postgresql17:
2030 年 2 月 28 日 - Postgresql16:
2029 年 2 月 28 日 - Postgresql15:
2028 年 2 月 29 日
となると、Postgresql16,17では4年弱使えるが、Postgresql15では3年と少ししか使えません。
利用バージョンをLTSバージョンに固定した場合の運用戦略
実際にはリリースされてから検証期間も必要なので、上記の期間からさらに減ることになります。
しかし、今回のからリリース時期がわかるようになったことで、リリース前に事前期間を設けるというアプローチも出てきました。
これを使うことで、LTSリリースしてすぐに製品に組み込むということも実現が可能になります。
12か月の中で早くリリースされるかどうかは影響が残りますが、安定して3年程度を利用できるようになったと考えることができると思います。
バージョンアップ時期を固定する戦略(Amazon RDS 延長サポートの活用)
リリース時期が読めるようになったことで、バージョンアップ時期を固定化することも視野に入ります。
3年使えるとして、2年後から検証開始、2年半のタイミングでリリースという形です。
しかし、12か月の中でブレは生じるので、これだけではまだ難しいです
そこで、コストの増加は発生しますが、延長サポートの利用をすることで、EOLから最大3年間利用が可能です。
1年延長すれば、そこで確実にLTSのリリースはされているので、安定したバージョンアップ戦略を構築することができると思います。
終わりに
今回はバージョン提供タイムラインが公開に伴って、LTS Versionでの運用を考えてみました
実際には、製品のポリシー次第で、サポート期間で長期間古いPostgresqlバージョンを使わないといけないなどのケースもあると思います。
実際の各社に組み込むには、より具体的なケースの想定が必要と思います。一方で、これまでは不確定事項が多く検討自体が困難なものから、戦略をイメージできる状態には前進したかなと思います。
弊社での具体的なバージョンアップ戦略についてもまとまったら、また記事にしたいと思います。