🫡

[覚え書き]Amazon RDS 延長サポートあれこれ(Aurora PostgreSQL 12.x)

2025/01/30に公開

Amazon RDS 延長サポートの話になると毎回あれなんだっけ?となるので覚え書き。

※本記事はAmazon Aurora PostgreSQL 12.xのRDS延長サポートをベースにしているため、今後変更になる可能性があります。(2025年1月時点の情報です)

前置き

メールやAWS Health Dashboardで、下記のような件名の通知を見覚えはないでしょうか?

[要対応] Amazon Aurora PostgreSQL 12.x の標準サポートの終了は 2025 年 2 月 28 日です |
[Action Required] Amazon Aurora PostgreSQL 12.x end of standard support is February 28, 2025

Aurora PostgreSQLのリリースカレンダーを見てみると、Aurora PostgreSQL 12.xの標準サポート終了日が2025 年 2 月 28 日、翌日の3 月 1 日からRDS延長サポート(Extended Support)開始となっています。

上記はメジャーバージョン単位ですが、さらにマイナーバージョン単位で細かく見てみると
今回(2025年2月28日)標準サポートが終了するのはAurora PostgreSQL 12.15~12.22、12.9LTS(Long-Term Support)が対象のようです。

[補足] Aurora PostgreSQL 12.11~12.14について

赤枠外のAurora PostgreSQL 12.11~12.14についてはとくに何もしていなければ、2024 年 11 月 15 日以降にAurora PostgreSQL 12のデフォルトバージョンである12.16に自動アップグレードされているはずです。
該当マイナーバージョンを利用していたアカウントには下記の通知(一部抜粋)があると思います。

[要対応] Amazon Aurora PostgreSQL の必須マイナーバージョンアップグレード |
[Action Required] Mandatory Minor Version Upgrade for Amazon Aurora PostgreSQL

  • PostgreSQL マイナーバージョン 12.11、12.12、12.13、および 12.14 の場合、推奨される最小マイナーバージョンは 12.16 です。

    2024 年 11 月 15 日以降、Amazon Aurora PostgreSQL クラスターが新しいマイナーバージョンにアップグレードされていない場合、次回のメンテナンス期間中に、関連する推奨最小マイナーバージョンが自動的に適用されるようにスケジュールされます。マイナーバージョンの自動アップグレードが無効になっている場合でも、変更は次のメンテナンスウィンドウ中にクラスターに適用されます。

標準サポートとは

「標準サポートとはこれ!」といったAWSドキュメントは見当たりませんでしたが、以下のような機能開発や様々なアップデートを提供しますよ~くらいに考えていただければ。
https://aws.amazon.com/jp/rds/faqs/#product-faqs#amazon-rds-faqs#database-engine-versions

標準サポート対象のバージョンを利用することが推奨されます。

Amazon RDS 延長サポートとは

Amazon RDS 延長サポート(※以降、RDS延長サポートと表記)とは、標準サポートが終了したメジャーバージョンを最大3年間まで利用可能なサービスです。追加料金が発生します。
現在、RDS延長サポートが提供されているDBエンジンはMySQLとPostgreSQLです。

Amazon RDS 延長サポートの説明について、Amazon AuroraとAmazon RDSのドキュメントでは少し表記に違いがありますが、基本的な部分は同じです。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/extended-support.html
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/extended-support.html

今回の例で言えば、Aurora PostgreSQL 12.xの標準サポート期間が過ぎても、追加料金が発生する代わりにPostgreSQL 12.x(の最新マイナーバージョン)を継続利用できます。
PostgreSQL 13.x 以降にアップグレードするまでの猶予ができることになります。

Amazon RDS 延長サポートの内容

単純にPostgreSQL 12.xを継続利用できるというだけではなく、AWSより以下のサポートが提供されます。

・データベースエンジンを含む DB インスタンスまたは DB クラスターの重大および高 CVEに対するセキュリティ更新
・重大な問題のバグ修正とパッチ
・標準 Amazon RDS サービスレベル契約の範囲内でサポートケースを開き、トラブルシューティングのヘルプを受け取る機能

バグやセキュリティに関するアップデートが提供されます。ただし"重大および高(critical and high)"となっているので、軽微なバグや脆弱性が許容されるのか要件の確認が必要ですね。
CVEとCVSSについては下記サイトが参考になります。
https://cyber-hr.jp/content/3024

AWSのサポート対象になるのも助かりますね!

何をすればいいの?

標準サポート終了日前までにAurora PostgreSQLのメジャーバージョンを13.x以上にアップグレードしましょう。もし間に合わない場合はRDS延長サポートを利用して、メジャーバージョンをアップグレードする計画を立てます。

RDS延長サポートの利用方法については、メジャーバージョンの標準サポートの期限が過ぎれば自動でRDS延長サポートに登録されます。

ただし現在利用中のマイナーバージョンが最新ではなかった場合は、標準サポート終了日以降に最新のマイナーバージョンへの自動アップグレードが行われます。RDS延長サポートを利用する予定でも、事前に最新のマイナーバージョンへアップグレードしておくとよいでしょう。

Aurora PostgreSQLのリリースカレンダーの英語版が更新されて、Aurora PostgreSQL 12.xのRDS延長サポート対象マイナーバージョンは12.9(LTS)と12.22に決まったようです。
RDS延長サポートを利用する予定で、現在12.9(LTS)以外の12.xだった場合は、12.22に事前アップグレードしておいたほうがよいですね。

RDS延長サポートの料金について

RDS延長サポートに登録されると料金が発生します。(DBインスタンスの稼働時間料金とは別)
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/extended-support-charges.html

AuroraのRDS延長サポート料金はAuroraの料金ページで確認できます。
標準サポートが終了してから経過した年数で料金が変わります。
https://aws.amazon.com/jp/rds/aurora/pricing/#Amazon_RDS_Extended_Support_costs

上記はvCPU数が1の場合の時間単価なので、vCPU数が2なら2倍の料金になります。
AuroraのDBインスタンスのvCPU数は下記ページで確認できます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.Summary.html

料金計算するなら以下の式で。そのままですが😅

RDS延長サポートの料金 = 単価(USD) * DBインスタンスのvCPU数 * 時間(hr)

試しにRDS延長サポートがすでに開始(2024年4月1日~)されているAurora PostgreSQL 11のdb.t3.medium(vCPU2)インスタンスを3時間くらい使ってみました。
※大阪リージョン(ap-northeast-3)です

AWS Billing情報では以下のように「RDS Extended Support」という料金が追加されていました。

[1] db.t3.mediumインスタンスのRDS延長サポート料金
USD 0.120 per hour per vCPU running RDS Extended Support for Aurora PostgreSQL 11 in Year 1, Year 2
x6.063
=$0.73

利用時間は1vCPUを6.063時間利用として集計されています。2vCPUのインスタンスなら「6.063時間/2vCPU = 3.032時間利用」ですね。
また、Aurora PostgreSQL 11は標準サポート終了からまだ1年目です。※2025年1月時点

以下のように計算してみると一致していました。

RDS延長サポートの料金 = 単価(USD) * DBインスタンスのvCPU数 * 時間(hr)
RDS延長サポートの料金 = 0.120(USD) * 2vCPU数 * 3.032時間(hr)=0.73 USD (0.727USD)

db.t3.medium(vCPU2)の延長サポート料金が1時間あたり0.24 USD。
さらにdb.t3.mediumインスタンスの稼働料金が1時間あたり0.125 USD。
うーむ、延長サポート料金のほうが上回ってしまうとは...。

RDS延長サポートの料金を発生させないようにするには

  • 標準サポート対象のメジャーバージョンへアップグレードする
    今回の例ではPostgreSQL 12.xをPostgreSQL 13.x以上にアップグレードします。
    標準サポート対象のバージョンは前述のAurora PostgreSQLのリリースカレンダーで確認します。

  • RDS延長サポートに登録されているインスタンスを削除する
    検証用データベースなどで普段は利用していない場合、削除しても問題ない場合はインスタンスを削除することも検討してください。

終わりに

DBエンジンのメジャーアップグレードはリスクが付きものなので延長サポートは心強いです。
ただしRDS延長サポートで塩漬けにならないよう計画的にアップグレードを進めましょう。
突貫でアップグレード作業はダメ絶対!😨

MEGAZONE株式会社 Tech Blog

Discussion