[アップデート] Amazon Aurora Serverless v2 で、最新のサーバーレスプラットフォームバージョン (バージョン 3) で実行されるデータベースのパフォーマンスが最大 30% 向上しました
こんにちは、製造ビジネステクノロジー部の若槻です。
本ブログのタイトルの通りなのですが、Amazon Aurora Serverless v2 で、最新のサーバーレスプラットフォームバージョン (バージョン 3) で実行されるデータベースのパフォーマンスが最大 30% 向上するアップデートがありました。
Aurora の「サーバーレスプラットフォームバージョン」って聞き慣れない用語だったのですが、ドキュメントを探ると次の記述がありました。記述が追加されたのは最近(よって 2025/08/09 時点で日本語翻訳版には未追加)のようです。概念としては Aurora Serverless v2 固有のもので、従来はシステム内部で管理されていた情報が、今回のアップデートによってユーザーにも可視化されるようになったというところでしょうか。
The following table shows the Aurora Serverless v2 platform versions with their ACU ranges and performance characteristics.
Aurora Serverless v2 platform version ACU range Performance 1 0–128 Baseline performance 2 0–256 Baseline performance 3 0–256 Up to 30% improved performance compared to platform version 2
そしてこの最新のサーバーレスプラットフォームバージョンは以下により利用可能になるとのことです。
- すべての新しいクラスター、データベースの復元、および新しいクローン
- 既存のクラスターは、クラスターを停止して再起動するか、Blue/Green デプロイメントを使用することでアップグレード可能
これを見るに新バージョンへの移行は半ば強制的に行われるようで、新機能の提供というよりはパフォーマンス向上のアップデートという感じですね。
試してみた
Serverless V2 でサーバーレスプラットフォームバージョンのバージョン 3 が利用できることを実際に確認してみます。
Aurora Serverless V2 の DB Cluster を新規作成して確認してみます。ここでは AWS CDK を利用してみます。PostgreSQL と MySQL でインスタンスを一つずつ立ち上げます。
import * as cdk from "aws-cdk-lib";
import * as rds from "aws-cdk-lib/aws-rds";
import * as ec2 from "aws-cdk-lib/aws-ec2";
import { Construct } from "constructs";
export class MainStack extends cdk.Stack {
constructor(scope: Construct, id: string) {
super(scope, id);
const DEFAULT_DATABASE_NAME = "mydatabase";
/**
* VPC の作成
*/
const vpc = new ec2.Vpc(this, "VPC", {
subnetConfiguration: [
{
cidrMask: 24,
name: "PrivateIsolated",
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
],
natGateways: 0,
restrictDefaultSecurityGroup: true,
});
/**
* Aurora PostgreSQL DB クラスター(Serverless V2)の作成
*/
new rds.DatabaseCluster(this, "AuroraPostgreSQLCluster", {
engine: rds.DatabaseClusterEngine.auroraPostgres({
version: rds.AuroraPostgresEngineVersion.VER_17_5,
}),
writer: cdk.aws_rds.ClusterInstance.serverlessV2("Writer"),
vpc,
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
defaultDatabaseName: DEFAULT_DATABASE_NAME,
removalPolicy: cdk.RemovalPolicy.DESTROY,
});
/**
* Aurora MySQL DB クラスター(Serverless V2)の作成
*/
new rds.DatabaseCluster(this, "AuroraMySQLCluster", {
engine: rds.DatabaseClusterEngine.auroraMysql({
version: rds.AuroraMysqlEngineVersion.VER_3_10_0,
}),
writer: cdk.aws_rds.ClusterInstance.serverlessV2("Writer"),
vpc,
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
defaultDatabaseName: DEFAULT_DATABASE_NAME,
removalPolicy: cdk.RemovalPolicy.DESTROY,
});
}
}
上記をデプロイしてクラスターを作成します。
マネジメントコンソールからライターインスタンスの[設定 > インスタンスの設定]メニューで、「プラットフォームバージョン」がそれぞれで 3
となっていることが確認できます。
3 (バージョン 3 では最大 256 ACU まで拡張可能で、バージョン 2 と比較してパフォーマンスが最大 30% 向上)
-
PostgreSQL
-
MySQL
AWS CLI でも確認してみます。RDS API で DB クラスターの ServerlessV2PlatformVersion パラメータで確認できるとのことです。
以下のようなコマンドの実行で、ServerlessV2PlatformVersion を取得できました。
$ aws rds describe-db-clusters --db-cluster-identifier ${DB_CLUSTER_ID} --query "DBClusters[0].ServerlessV2PlatformVersion" --output text
3
ちなみに上記コマンドを試した環境の CLI バージョンは下記でした。
# ServerlessV2PlatformVersion が取得できた環境
$ aws --version
aws-cli/2.28.5 Python/3.13.4 Darwin/24.3.0 exe/x86_64
一方で、新しいパラメーターなので、CLI バージョンが古いと取得できません。例えば AWS CloudShell だと少し古かったため取得できませんでした。
# ServerlessV2PlatformVersion が取得できなかった環境
$ aws rds describe-db-clusters --db-cluster-identifier ${DB_CLUSTER_ID} --query "DBClusters[0].ServerlessV2PlatformVersion" --output text
None
$ aws --version
aws-cli/2.28.2 Python/3.13.4 Linux/6.1.144-170.251.amzn2023.x86_64 exec-env/CloudShell exe/x86_64.amzn.2023
CLI バージョンには気をつけるようにしましょう。
おわりに
Amazon Aurora Serverless v2 で、最新のサーバーレスプラットフォームバージョン (バージョン 3) で実行されるデータベースのパフォーマンスが最大 30% 向上するアップデートがあったので共有しました。
以上