3大クラウドDBaaS比較(Microsoft SQL Server編)

技術者が語るMicrosoft Azure

DBaaS(Database as a Service)とは、クラウド上のデータベースを管理するサービスのことです。
データベースの管理、保守はクラウドベンダーが行い、構築も容易なので、ユーザー側の負担を大きく減らすことができます。

今回は、3大クラウドで提供しているDBaaSの中からMicrosoft SQL Serverベースのサービスについて、その特徴と価格を比較したいと思います。

1.特徴

Amazon RDS for SQL Server

Amazon RDS for SQL Server は Amazon RDS を使った完全マネージド型サービスです。
DBインスタンスは、スタンダードストレージとプロビジョンドIOPSストレージのどちらでもプロビジョニングできます。
プロビジョンドIOPSは、大量のI/Oが発生するトランザクション指向 (OLTP) のデータベースワークロードに最適です。
Windows認証などのMicrosoft Active Directory用のマネージド サービスと統合します。
Amazon RDS for SQL Serverへの移行方法が多くサポートされています。

Google Cloud SQL for SQL Server

Google Cloud内のフルマネージドSQL Serverデータベースです。
使用するストレージはHDD(安価)かSSD(推奨)のどちらかから選ぶことができます。
他Google Cloudサービスとの連携もシームレスに行うことができます。

Microsoft Azure SQL Database

SQL Server のデータベースを提供するDBaaS(PaaS)です。
DB機能のみが提供されているため、SQLServerがインストールされた仮想マシンを管理することなく利用できます。
比較的安価ですが、標準のSQLServerとの互換性がない部分が存在します(CLR機能を利用できない 等)。

3つの可用性モデル「BASIC」「Standard」「Premium」があり、バックアップ保有期間、ストレージサイズ、メンテナンス中のパフォーマンス等に違いが出ます。
自動データベースバックアップ機能があるため、手動での定期的なバックアップ取得作業が不要です。
便利なテンプレートやサンプルが豊富に用意されており、容易にデータベース構築できることも大きな利点といえます。

Microsoft Azure SQL Managed Instance

SQL Serverと高い互換性のあるDBaaS(PaaS)です。
DB機能だけではなくインスタンスも提供されることにより、大半の制約がなくなります。
ただし、仮想マシンを占有するため、Microsoft Azure SQL Databaseよりも高価になります。

なお、標準のSQLServerと100%の互換性があるわけではなく、DB数の制限(100個まで)や監査設定方法など、SQL Serverと異なる部分もあるので注意が必要です。
完全な互換性が必要な場合は、Azure仮想マシン上にSQL Serverを構築する必要があります(この場合、IaaSとなります)。

機能比較

※2022/8/31調べ

項目 Amazon RDS for SQL Server Google Cloud SQL for SQL Server Microsoft Azure SQL Database Microsoft Azure SQL Managed Instance
料金(ライセンス) ライセンス込み 起動時間に応じてライセンス料金発生(1分単位) ライセンス込み ライセンス込み
ライセンス持ち込み 持ち込み可能 持ち込み不可能 持ち込み割引あり
※Azureハイブリッド特典
持ち込み割引あり
※Azureハイブリッド特典
料金(予約割引) 最大65% 最大52%(ライセンスへの適用なし) 最大80%(Azureハイブリッド特典含む) 最大80%(Azureハイブリッド特典含む)
インスタンス 1インスタンス当たりのDB数制限
:最大100
インスタンス単位で管理 論理サーバあたりのデータベース
:最大5000
1インスタンス当たりのDB数制限
:最大100
vCPUとメモリ vCPUとメモリをそれぞれ選択
(選択肢豊富)
standard、highmemの他に低スペックモデルあり 4種類のハードウェアから選択 4種類のハードウェアと仮想コアから選択
ストレージ (ディスク) スタンダード(SSD)とプロビジョンドIOPS(SSD)
※最大16TB
HDDかSSD
※最大64TB(自動拡張あり)
汎用、ビジネスクリティカル、ハイパースケール
※最大4TB
汎用、ビジネスクリティカル
※最大16TB
レプリケーション Multi-AZ 構成設定可 フェイルオーバーレプリカ構成可能 自動的に3重化 自動的に3重化
バックアップ 自動(日時)/手動 自動(日時)/手動 自動(数時間ごと) 自動(数時間ごと)
複数DB管理 なし なし Elastic Pool Elastic Pool
認証・認可 AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) ユーザー・パスワードによる認証 Azure Active Directory Azure Active Directory
モニタリング・ロギング CloudWatch Cloud Monitoring Microsoft Monitoring Agent (MMA) Microsoft Monitoring Agent (MMA)
監査 SQL Server Audit Cloud Audit Logs 監査(Audit)機能 監査(Audit)機能
暗号化 Transparent Data Encryption (TDE) ストレージ保存時、または、VPCネットワーク内を転送中に暗号化 Transparent Data Encryption (TDE) Transparent Data Encryption (TDE)
機能制限、互換性 機能制限あり 機能制限あり 機能制限あり SQL Databaseより互換性高い

※参考(機能制限)
●Amazon RDS for SQL Server
●Cloud SQL
●Azure SQL Database、Azure SQL Managed Instance

2.料金

Amazon RDS for SQL Server

Amazon RDS for SQL Serverは「ライセンス込み」のライセンスモデルをサポートしているため、 Microsoft SQL Serverライセンスは別に購入する必要はありません。
「ライセンス込み」料金には、ソフトウェア、ハードウェアリソース、およびAmazon RDSマネジメント機能が含まれており、時間単位の料金となっているため、初期費用や長期契約は不要です。

さらに、リザーブドDBインスタンスを1年間または3年間予約できる権利を購入することもできます。
リザーブドDBインスタンスとは、DBインスタンスごとに低額の予約金を前払いする代わりに、時間当たりの利用料金を大幅に割り引くものであり、実質的なコストは最大65%削減できます。

Google Cloud SQL for SQL Server

Cloud SQLは従量課金です。
割り当てたvCPUコア数、メモリ、ストレージ量に対して課金されます。

SQL Serverの場合はこれに加え、ライセンス料金も起動時間に応じて1時間単位で発生します。

確約利用割引の仕組みがあり、1年間または3年間の利用を確約することで最大52%の割引を受けることができます。
確約利用割引はvCPUとメモリの料金に対して利用することができますが、ストレージ/バックアップ/ライセンス/ネットワーク料金には適用することができません。
バックアップストレージ容量に応じて、バックアップを保存している期間だけ料金が発生します。

Microsoft Azure SQL Database/Microsoft Azure SQL Managed Instance

Azureハイブリッド特典として、ソフトウェア アシュアランスが有効な既存のSQL Serverライセンスを使用することで、クラウド上でワークロードを実行する際のコストを最大55%削減できます。

また、1年または3年の期間を事前契約すると、コストを管理し、予算作成と予測を最適化することができます。
Azureハイブリッド特典と組み合わせると、コンピューティングリソースの最大33%を節約できます。

料金比較

同じ条件での比較は難しいのですが、以下内容で計算しました。

●Amazon RDS for SQL Server

ロケーションタイプ :リージョン
リージョン :アジアパジフィック(東京)
ノード数 :1
インスタンス :db.m5.4xlarge(vCPU:16、Memory:64GiB)(スタンダードインスタンス)
使用率 :100 %Utilized/Month
価格モデル :OnDemand/Reserved
デプロイオプション :Multi-AZ
ライセンス :License Included
データベース版 :Standard
各RDSインスタンスのストレージ :汎用SSD(gp2)
ストレージ量 :1000GB($0.276/GB/月)
バックアップストレージ量 :1000GB($0.095/GB/月)

●Google Cloud SQL for SQL Server

インスタンス数 :1
Database Version :SQL Server 2017 / 2019 Enterprise
リージョン :東京(asia-northeast1)
インスタンスタイプ :db-highmem-16 (vCPUs:16, RAM:104 GB)
High Availability :Enable
ストレージ量 :1000GB
バックアップストレージ量 :1000GB

●Microsoft Azure SQL Database

インスタンス :単一インスタンス
コンピューティング レベル :プロビジョニング済み
サービス レベル :Business Critical
ハードウェアの種類 :Standardシリーズ(Gen 5)(vCore:16、メモリ:81.6GiB)
リージョン :東日本
ストレージ量 :1000GB($0.30/GB/月)
バックアップストレージ量 :1000GB(LRS $0.12/GB/月)
長期保存 :なし

●Microsoft Azure SQL Managed Instance

インスタンス :単一インスタンス
ハードウェアの種類 :Standardシリーズ(Gen 5)(vCore:16、メモリ:81.6GiB)
サービス レベル :Business Critical
リージョン :東日本
ストレージ量 :1000GB($0.30/GB/月)※32GB無償、32GBずつ増加
バックアップストレージ量 :1000GB(ローカル冗長 $0.12/GB/月)
長期保存 :なし

●割引オプションの比較(月額料金) ※2022/10/10調べ

  AWS GCP SQL Database SQL Managed Instance
従量課金 $10,694.66 $7,842.50 $8,818.07 $8,815.67
ハイブリッド特典 $4,438.07 $4,435.67
1年予約 $10,014.21 $7,183.45 $7,412.00 $7,409.60
3年予約、ハイブリッド特典 $2,227.95 $2,225.55

※参考サイト
●Amazon RDS for SQL Serverの料金
●Cloud SQLの料金
●Azure SQL Databaseの料金
●Azure SQL Managed Instance

3.おわりに

今回は、3大クラウドで提供しているDBaaSの中から、Microsoft SQL Serverの特徴と価格について比較しました。
インスタンスの選択肢としてはAWS RDS for SQL Serverが一番多く、自由度がありそうな反面、どれを選択すればよいのか悩んでしまいそうです。

Google Cloud SQL for SQL Serverはインスタンスの選択肢が少ない分選択しやすく、Azureハイブリッド特典がなければ今回の料金比較では一番安いので、要件や条件が合致すれば有力な選択候補になると思います。
ただし、AzureやAWSと比べると、Microsoft製品(AD、ライセンス等)への対応が少し気になりました。

Azureの2サービスについては、今回は簡易的な設定で見積りしたためほとんど同じでしたが、SQL Managed Instanceの方が高いスペックを選択でき、その分割高となります。
既存のSQL Server環境のクラウド移行を検討するのであれば、互換性の高いSQL Managed Instanceが有力候補になりそうです。
AzureはAWS、GCPと比較すると、予約割引の割引率や既存ライセンスで割引されるハイブリッド特典があるのも魅力的です。

最後までお読みいただき、ありがとうございました。