omuronの備忘録

個人的な備忘録

Aurora Serverless v2 が CloudFormation 対応されました

Aurora Serverless v2 が GA されて結構な時間が立ちますが、やっと CloudFormation 対応されました!
CloudFormation のドキュメントがまだ追いついてなさそうなので、GitHub Issue を参照しながら試しました。

CloudFormation 設定

CloudFormation での設定は、既存の Aurora クラスターのプロビジョニングノードに対して、以下の設定を入れるだけです。

Aurora クラスタ

クラスター設定は ServerlessV2ScalingConfiguration を追加して、キャパシティの最大値と最小値を設定します。

  DBCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      ServerlessV2ScalingConfiguration:
        MaxCapacity: 128
        MinCapacity: 0.5

Aurora インスタンス

Aurora インスタンスは、インスタンスクラスに db.serverless を設定します。

    DBInstance:
      Type: AWS::RDS::DBInstance
      Properties:
        DBInstanceClass: db.serverless

さいごに

動きを確認してたのですが、インスタンスノードがプロビジョニングから Serverless に置き換わるだけのようで、自動でスケールアップ・ダウンはしますが、スケールイン・アウトはしないようです。
そのため、本番環境であれば Multi-AZ 構成を考える必要がありそうです。

あと、意外と費用はかかります。

dev.classmethod.jp

東京での最小構成の場合、Serverless 版の Aurora は、インスタンス1台でも $72/月 かかります。
メモリ最適化ノードの最安値の db.r6g.largeリザーブして月割するほうが安いので、節約のために Serverless 版を使うメリットはなさそうでした。

MySQL デーモンプロセスの再起動なしにスケールアップ・ダウンが自動で素早くしてくれるというのが大きなメリットですね。