3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ateam LifeDesignAdvent Calendar 2024

Day 3

Aurora MySQL → Aurora Serverlessを検討してみた

Last updated at Posted at 2024-12-25

この記事は、Ateam LifeDesign Advent Calendar 2024 の記事になります。

はじめに

現在、Aurora MySQLを使用しており、毎年12月時点でリザーブドインスタンスを購入していました。

今後、リザーブドインスタンスのことを、RIと記載させていただきます。

今年もRIを購入しようとしたとき、ふとチームで「Serverlessにしたらどうかな?」と声が上がりました。
Serverlessに関して、何となく料金が安くなる?ぐらいしか理解できていなかったので、これを機に調査して、乗り換えるか検討をしてみました。

本記事では、Serverlessに乗り換えるかを検討した内容を記載させていただきます。

本記事の対象者

  • Serverlessについて、ざっくり理解したい方
  • Serverlessに乗り換えを検討している方

解説していないこと

  • Serverlessの構築手順
  • 実際の運用例

結論

最初に結論ですが、今回はServerlessではなく、RIを購入しました。
「今回は」と記載したように、乗り換えを全て諦めたわけではないです!

ただ、なぜRIを購入したかの理由を、以下に記載していきます。

Aurora Serverless とは

その前にまずは、ざっくりとServerlessを解説いたします。

Amazon Aurora のオンデマンドの自動スケーリング設定です。アプリケーションニーズに応じて、自動的に起動、シャットダウン、および容量をスケールアップまたはスケールダウンします。

記載の通り、Serverlessでは、自動的にスケーリングを行います。
これにより、需要に応じてリソースが動的に割り当てられ、高負荷時にもパフォーマンスが維持されます。一方、オンデマンドインスタンスを使用する場合、手動でインスタンスを追加しなければならないことがあります。容量が不足するとインスタンスを追加する必要があり、逆に容量が余っているときにはリソースを無駄にしてしまう可能性があります。

↑ 上記を見るだけだと、「お、料金安くなりそうだなぁ」と思いますよね。
次に料金を見ていきます。

料金

(※ Serverless v2の料金で見ていきます。)

測定 リージョン Aurora Standard(ACU時間あたり)
Auroraキャパシティーユニット アジアパシフィック(東京) USD 0.15

上記のようになります。
ここで、ACUという単位が出てきたので、調べてみます。

ACU

Aurora Serverless v2 の単位は Aurora 容量単位 (ACU)になります。
各 ACU では、約 2 ギビバイト (GiB) のメモリに相当します。

となると、オンデマンドインスタンスと比較すると、以下の通りになります。

オンデマンド Serverless
db.t4g.medium(4GiB) 2ACU
db.r7g.large(16GiB) 8ACU

なので、現在使用しているインスタンスと比較して、計算してみると良いかなと思います。

ここまでわかったら試算!と行きたいところですが、先ほど記載したように、Serverlessは、自動でスケーリングしてくれます。
なので、次はスケーリングに考慮していきます。

スケーリング

オンデマンドインスタンスは、db.t4g.mediumでいうと、常時4GiBを使用しています。
Serverlessは、常時ではなく、使用量によってスケーリングしてくれます。

では、どのようにスケーリングを想定していくかというと...。
こればかりは、実際に運用してみないとわかりませんでした。

Cloud Watchなどで、CPU利用率などをみて判断することは一定できますが、実際Serverlessが、どういう挙動でスケーリングするかは、調べてもわかりませんでした。

ここでは、以下のように仮定しようと思います。

  • 9:00 ~ 20:00の11時間は、営業時間に該当するため、2ACUとする
  • 残りの時間は、1ACUとする

ここまで出せたら、いよいよ試算になります。

試算

オンデマンドとServerlessで、db.t4g.mediumをもとに、それぞれ比較してみようと思います。

ストレージ使用量やI/Oも料金に含まれますが、インスタンスによって料金が変わる箇所ではないので、試算には含んでいません。

オンデマンド

RI:710 USD/年 = 約60 USD/月

Serverless

(2ACU × 11時間 × 0.15USD) + (1ACU × 13時間 × 0.15USD) = 3.3USD + 1.95USD = 5.25USD/日

5.25USD/日 = 162.75 USD/月

月で比較すると、約100 USD分、Serverlessの方が高くなります。
1 USDを160円で計算すると、月で16,000円になります。

料金は高くなっていますが、Serverlessのメリットと比較しても、許容できる料金かなとは思いました。

まとめ

ただ、まだわかっていないこともあります。

  • Serverlessに移行する際の開発工数
  • 今後の保守性

料金試算と上記あたりを事業と会話して、今回はRI購入という結論になりました。
RIは1年間の購入にしたので、この1年間でstaging等での検証をしていこうと思います。

最後に

今回は、db.t4g.mediumで比較してみましたが、実際の運用しているサービスで比較する材料になっていただければ、幸いです。

最後までご覧いただき、ありがとうございました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?