Amazon Aurora Serverless v2設計ガイド|スケールが不規則なシステムのDB選定と実践

現場実践|Amazon Aurora Serverless
Amazon Aurora Serverless v2設計ガイド|スケールが不規則なシステムのDB選定と実践
「DBのコストを下げたいがトラフィックが不規則」「Aurora Serverless v2はどんな場合に使えばいい?」——Aurora Serverless v2のスケーリングの仕組み・プロビジョニングされたAuroraとの比較・適切なユースケースを解説します。
💡 Aurora Serverless v2はACUの自動スケールでDBリソースを需要に合わせて調整するサービス。「夜間はほぼゼロトラフィック・日中は急増」という不規則なワークロードでコストを大幅に削減できます。
1. Aurora Serverless v2 vs プロビジョニングAurora
| Aurora Serverless v2 | プロビジョニングAurora | |
|---|---|---|
| スケール | ACUで自動スケール(秒単位) | 手動または読み取り専用レプリカで対応 |
| コスト | 使った分だけ(ACU×時間課金) | インスタンスタイプ固定費(常時課金) |
| 最小インスタンス | 0.5ACU(最小)〜128ACU(最大) | db.t3.medium以上 |
| Multi-AZ対応 | あり(リーダーインスタンス可) | あり |
| 向いているワークロード | 不規則・開発環境・新サービス | 安定した高負荷・予測可能なトラフィック |
2. ACU(Aurora Capacity Unit)の設定
// Terraform でAurora Serverless v2のクラスターを作成
resource "aws_rds_cluster" "aurora_serverless" {
cluster_identifier = "my-aurora-serverless"
engine = "aurora-mysql"
engine_version = "8.0.mysql_aurora.3.04.0"
database_name = "mydb"
master_username = "admin"
manage_master_user_password = true
serverlessv2_scaling_configuration {
min_capacity = 0.5 # 最小0.5ACU(低コスト)
max_capacity = 16 # 最大16ACU(高負荷時)
}
skip_final_snapshot = false
}
resource "aws_rds_cluster_instance" "serverless_instance" {
identifier = "aurora-serverless-instance"
cluster_identifier = aws_rds_cluster.aurora_serverless.id
instance_class = "db.serverless"
engine = aws_rds_cluster.aurora_serverless.engine
}3. Aurora Serverless v2が適しているケース
- 開発・ステージング環境:夜間や休日は利用がないため、最小0.5ACUまでスケールダウンしてコストを大幅削減できる
- 新サービスの立ち上げ期:トラフィックの予測が難しい立ち上げ期はServerless v2で始めて、安定したらプロビジョニングに移行する戦略が有効
- バッチ処理と通常処理の混在:夜間バッチ時に急増して日中は低負荷という波が大きいワークロード
📌 この記事のポイント
- Aurora Serverless v2は0.5〜128ACUで秒単位に自動スケール。不規則なトラフィックのDBコスト最適化に最適
- Terraform でmin_capacity=0.5、max_capacity=設定でServerless v2インスタンスを簡単にデプロイできる
- 開発環境・新サービス立ち上げ・バッチ混在の3ケースがServerless v2のコスト削減効果が最大
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




