Amazon AuroraのCPU世代を上げるとどうなる?

「相応にCPU依存処理が速くなる」

AWSに手堅くデータを保存するならやはりAmazon Auroraです。はてなで開発運用しているGigaViewerでもAurora for MySQLを主なRDBとして使っています。

先日、インスタンスタイプをr6gからr8gに更新し、インスタンスサイズを2/3に削減しました。この際のパフォーマンス変化の実績を共有します。

AWSからのリリースでは、インスタンスの世代が更新されると一定水準の高速化が見込める旨が提示されています。これの実際はどういうものなのか? のサンプルとして参考になれば幸いです。

この記事は id:koudenpa が書いたSRE連載の2026年2月号です。1月号はid:masayosuEKS + Karpenter で GPUノードを構築した話でした。

理論値のパフォーマンス向上

r6gからr8gへの2世代更新は以下のようなアナウンスがされています。

Amazon Aurora が新たな AWS リージョンで R7g データベースインスタンスのサポートを開始 - AWS

Graviton3 インスタンスを使用すると、Aurora のパフォーマンスが Graviton2 インスタンスと比較して最大 30% 向上します

Amazon Aurora が新たな AWS リージョンで R8g データベースインスタンスのサポートを開始 - AWS

Graviton4 ベースのインスタンスは、Amazon Aurora データベースの同等サイズの Graviton3 ベースのインスタンスと比較して、パフォーマンスが最大 40%、オンデマンド料金の料金/パフォーマンスが最大 29% 向上します。

r6gを100%とすると130%x140%で最大182%パフォーマンスが向上するようです。

r6g to r8g、サイズ2/3 実績

概ね以下の通りでした。

  • CPU依存の処理は相応に高速化した
  • サイズ(=コア数)2/3でもCPU使用率は低下した
  • CPU依存以外の性能は微増減した

重め(実行時間10ms以上が目安)のクエリのレイテンシは20~40%程度減少、高速化しました。

インスタンスのサイズは2/3にしたのですが、同様の負荷下でのCPU使用率は減少しました。 変更前を100とすると、概ね75程度です。 サイズを2/3としていることも考慮する(サイズが同じだったらCPU使用率は更に2/3の50程度になるはず)と「最大182%パフォーマンスが向上」と言っても差し支えないCPU能力の向上と言えそうです。

変更前後(同曜日同時刻)のCPU使用率比較

CPU依存以外の要素は、メトリクスで確認する限りでは顕著な変化はありませんでした。

備考として

CPU依存の処理が多く顕著に高速化しているのはDB、アプリケーション設計としては最適化が不足している部分なので、設計面での改善の余地は大いにあります*1

インスタンスサイズを減らすと相応にCPUコア数やメモリ量が減るので、同時処理数やバッファ量などが足らなくなり性能悪化することもあり得ます。 我々のユースケースではこれらは大きな問題となりませんでしたが、サイズの見直しに当たっては総合的な処理能力を検討(可能なら検証)する必要があります。

コストパフォーマンス

インスタンスの世代を上げ、サイズを下げると速度向上とコスト削減効果を期待できます。

  • r6gとr8gでは単価はr8gが高い
  • 2/3のサイズではRIの割引率を考慮してもr8gが安い
    • これで総合的なCPU処理能力は向上が見込める

Amazon Aurora の料金からRIの料金を抜粋:

インスタンス名 RI の実質的な時間単位の料金 オンデマンドと比較した費用節減 オンデマンド料金
db.r8g.large USD 0.210 37% USD 0.3330
db.r8g.xlarge USD 0.420 37% USD 0.6660
db.r8g.2xlarge USD 0.839 37% USD 1.3320
db.r8g.4xlarge USD 1.678 37% USD 2.6640
db.r8g.8xlarge USD 3.357 37% USD 5.3280
db.r8g.12xlarge USD 5.035 37% USD 7.9920
db.r8g.16xlarge USD 6.713 37% USD 10.6560
db.r8g.24xlarge USD 10.070 37% USD 15.9840
db.r8g.48xlarge USD 20.140 37% USD 31.9680
db.r6g.large USD 0.174 44% USD 0.3130
db.r6g.xlarge USD 0.348 44% USD 0.6270
db.r6g.2xlarge USD 0.696 44% USD 1.2530
db.r6g.4xlarge USD 1.393 44% USD 2.5060
db.r6g.8xlarge USD 2.786 44% USD 5.0120
db.r6g.12xlarge USD 4.178 44% USD 7.5180
db.r6g.16xlarge USD 5.571 44% USD 10.0240

2/3のサイズではr8gの方が安い:

  • db.r6g.12xlarge -> db.r8g.8xlarge: USD 4.178 -> 3.357
  • db.r6g.16xlarge -> db.r8g.12xlarge: USD 5.571 -> 5.035

所感

インスタンスの世代を上げると性能も上がる。 本当のことさ!

*1:改善したい人は是非入社してください