あるスタートアップ企業が、トラフィックが非常に変動しやすい Web アプリケーション(平日昼間はアクティブ・深夜や週末はほぼ無負荷)向けのデータベースを Azure SQL Database で構築したいと考えている。深夜の未使用時間のコストを最小化しつつ、ピーク時には自動的にリソースをスケールアップしたい。最も適切な構成はどれか。
- A. Azure SQL Database サーバーレス(Serverless)を選択し、アクティビティに応じた自動スケーリングと未使用時の一時停止を活用する
- B. プロビジョニング済みコンピューティング層(固定 vCores)を選択し、最大負荷に合わせたサイズで常時稼働させる
- C. エラスティックプールを作成し、複数のデータベースをプールに追加してリソースを共有させる
- D. Azure SQL Managed Instance を選択し、夜間にインスタンスを手動で停止してコストを削減する
解答と解説を見る
正解: A
Azure SQL Database サーバーレスは、使用状況に応じて自動的にコンピューティングリソースをスケールアップ・ダウンし、一定時間アクティビティがない場合にはデータベースを自動一時停止(オートポーズ)する。一時停止中はコンピューティングコストが発生しないため、非アクティブ時間が長いワークロードに最適である。プロビジョニング済みコンピューティング層は最大負荷に合わせると深夜も同額の料金が発生しコスト非効率。エラスティックプールは複数データベース間でのリソース共有に適しており、単一データベースの可変負荷対応が主目的ではない。Azure SQL Managed Instance はサーバーレスオプションをサポートしておらず、手動停止も現時点では対応していない。
📚 関連サービスの解説: Azure SQL Database