😊

AWS RDSのAurora MySQLバージョンアップとインスタンスクラスの互換性について

2024/09/27に公開

概要

AWS RDS(AWSのデータベース製品)のエンジンは"Aurora MySQL 2"でバージョンが5.7系の場合、EOLを迎えるので"Aurora MySQL 3"&バージョン8.0系にバージョンアップ対応をしなければならないのですが、その際に起きた事象を紹介します。

ステータス

AWS RDSのステータスは以下の通り。

  • エンジンバージョン : 5.7.mysql_aurora.2.11.5
  • インスタンスクラス(スペックと考えて良いです) : db.t3.small (vCPU:2、RAM:2GB)

今回の事象

  • まず"Aurora MySQL"のバージョンアップ方法は下記のURLをご確認ください。本記事では手順は記載しません。
    https://cloud5.jp/saitou-rds-versionupgrade/

  • "Aurora MySQL 3"&バージョン8.0系にアップグレードしようしたら、下記のエラーが発生。

RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.t3.small, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license. For supported combinations of instance class and database engine version, see the documentation.
  • 要はインスタンスクラス"db.t3.small"だと"Aurora MySQL 3"と互換性がないので、バージョンアップが出来ないという内容です。

対応策

  • AWS CLIを立ち上げます。(私の場合はWindowsPCでAWS CLIをインストールしていて、コマンドプロンプトで実行しました。)
  • 下記のコマンドを実行します。これはエンジンAurora MySQLのバージョン"8.0.mysql_aurora.3.05.2"がどのインスタンスクラスに対応しているかを出力するコマンドになります。
aws rds describe-orderable-db-instance-options --engine aurora-mysql --engine-version 8.0.mysql_aurora.3.05.2 --query "OrderableDBInstanceOptions[].DBInstanceClass" --output text
  • 出力結果です。
    • db.r5.12xlarge
    • db.r5.16xlarge
    • db.r5.24xlarge
    • db.r5.2xlarge
    • db.r5.4xlarge
    • db.r5.8xlarge
    • db.r5.large
    • db.r5.xlarge
    • db.r6g.12xlarge
    • db.r6g.16xlarge
    • db.r6g.2xlarge
    • db.r6g.4xlarge
    • db.r6g.8xlarge
    • db.r6g.large
    • db.r6g.xlarge
    • db.r6i.12xlarge
    • db.r6i.16xlarge
    • db.r6i.24xlarge
    • db.r6i.2xlarge
    • db.r6i.32xlarge
    • db.r6i.4xlarge
    • db.r6i.8xlarge
    • db.r6i.large
    • db.r6i.xlarge
    • db.r7g.12xlarge
    • db.r7g.16xlarge
    • db.r7g.2xlarge
    • db.r7g.4xlarge
    • db.r7g.8xlarge
    • db.r7g.large
    • db.r7g.xlarge
    • db.serverless
    • db.t3.large
    • db.t3.medium
    • db.t4g.large
    • db.t4g.medium
  • 確認すると、"db.t3.small"が表示されていないことがわかります。他のマイナーバージョンも確認したら、ほぼ同じような結果で"db.t3.small"以下のインスタンスクラスは"Aurora MySQL 3"だと使用できないことがわかりました。
  • 対応策としては基本的にはインスタンスクラスを"db.t3.small"から最低でも"db.t3.medium"にアップグレードすることとなります。インスタンスクラスをアップグレードしたことで"Aurora MySQL 3"&バージョン8.0系にバージョンアップができました!!
  • 注意点としてはアップグレードすることでコストが上がることです。コスト面が懸念される場合、"db.t4g.medium"などの同等のパフォーマンスでより低コストのインスタンスクラスへの移行を検討してみてください。

延長サポートについて

AWSの延長サポートに入れば、"Aurora MySQL 2"&バージョン5.7系を使用することは可能です。ただ、延長サポートの金額が月額175.20 USD(¥25221.70)と比較的高額であるため、運用としては推奨はできないです。

ヘッドウォータース

Discussion