Aurora Serverless v2について記載します。
具体的には以下のことについて記載していきます。
- Aurora Serverless v2とは
- 用途
- 注意点
まずはAurora Serverless v2とは?について書いていきます。
Aurora Serverless v2とは
Aurora Serverless v2は、オンデマンドでAuto Scaling設定できるデータベースです。
以下の点について、具体的に記載していきます。
性能
スケーリング
可用性
性能
ACUという単位で管理されることになります。
1ACUは、約2GB のメモリと、対応する CPU、ネットワークの組み合わせとなります。
ACUは最大、128 ACU を指定することができます。
ACUの最大はどれくらいのインスタンスかというと、メモリは128 ACU × 2GB = 256GBとなります。DBインスタンスクラスタイプがr6gの場合、以下の公式ページから、r6gかつメモリ:256GBのインスタンスを探して、db.r6g.8xlargeが最大ということになります。
インスタンスクラス:db.r6g.8xlarge
vCPU:32
メモリ(GB):256
スケーリング
Aurora Serverless v2は以下に記載されている通り、スケーリングが早く、アクセスのスパイクにも耐えたれそうです。(実際に耐えられるかどうかは、システムがDBへどれくらいの負荷をかけるか次第になるので、要検証ですね)
Amazon Aurora Serverless v2 は、ほんの一瞬で数十万ものトランザクションにスケールできます。スケールに応じて、容量をきめ細かい増分で調整し、アプリケーションが必要とする適切な量のデータベースリソースを提供します。
Amazon Aurora Serverless | AWSAmazon Aurora Serverless では、管理する DB インスタンスはありません。データベースは、アプリケーションニーズに応じて、容量を自動的に起動、停止、および拡大または縮小します。
また、Aurora Serverless v2 では、以下のようなケースでもスケーリング可能なようです。
- データベースの接続中
- SQL トランザクション処理中
- テーブルロック中
- 一時テーブルの使用中
可用性
Aurora Serverless v2は、以下の特徴を持ち、高可用性を確立しています。
- マルチ AZ 対応
- 自動的フェイルオーバー
次は、用途について記載します。
用途
- 変化の大きいアクセスやアクセス量が予測できない時
アクセスが多い時と少ない時の落差が大きい場合や、アクセス量が予測できない場合、データベースは負荷に応じて、自動的にスケーリングしてくれます。 - 開発時のAuroraの代替
本番は、Auroraを使用している場合でも、開発環境は、Aurora Serverlessを利用するとコスト削減につながることあります。
次は、注意点です。
注意点
以下に注意点を記載します。
- MySQLの場合、Aurora MySQL バージョン 3のみ対応しています
- MySQLのバージョン8系しか対応していないということになります
- ACUは最大、128 ACU(db.r6g.8xlargeくらい)が最大となっています
- 最大が決まっているため、要注意です
- Aurora Serverless v1 では Data API が使えましたが、v2ではData APIは使えません。
- 費用の予測がしにくい
- 最大ACUから最大の費用は算出することができますが、実際にどれくらいの費用となるかについては予測がしづらいです
まとめ
v1では、SQL実行中はスケーリングできないなどの制限がありましたが、v2では改善され用途が広がりそうですね。素晴らしーい!