Amazon RDS for SQL Server Web Edition が Multi-AZ に対応して小規模環境でコストと可用性が両立します!

Amazon RDS for SQL Server Web Edition が Multi-AZ に対応して小規模環境でコストと可用性が両立します!

AWS の独自実装で RDS for SQL Server の Web Edition でも Multi-AZ が可能になり、安価なライセンスでも高可用性を実現できます。でも Web Edition は SQL Server 2022 までです。
2025.11.21

ウィスキー、シガー、パイプをこよなく愛する大栗です。

Amazon RDS for SQL Server Web Edition で Multi-AZ がサポートされました。今までは Standard Editon 以上のみで、高い可用性が必要な場合には小規模環境でもコストがかかる Standard Edition 以上を選択する必要がありました。本アップデートで RDS for SQL Server でも安価に高可用性を実現できる様になったのでレポートします。

RDS for SQL Server の Multi-AZ

今まで RDS for SQL Server は、バージョンによって以下の SQL Server のネイティブ機能で Multi-AZ を実現していました。これらの機能は Enterprise Edition と Standard Edition のみでサポートされています。

  • Always On 可用性グループ
  • データベース ミラーリング(DBM)

そのため 99.95% という高い SLA(マルチ AZ DB インスタンスの場合)を適用するためには、小規模環境であっても Standard Edition 以上が必要でした。(シングル DB インスタンス SLA は 99.5%)

Web Edition の Multi-AZ サポート

今回のアップデートにより、ネイティブな高可用性の機能が無い Web Edition でも Multi-AZ がサポートされました。SQL Server 2022 Web Edition の 16.00.4215.2 以降 の RDS では、独自のブロックレベルレプリケーションを使用した Multi-AZ が可能になります。Web Edition の Multi-AZ サポートにより、16 vCPU / 64 GB までの環境でも安価に高可用性を売ることが可能になりました。

Enterprise Edition Standard Edition Web Edition Express Edition
SQL Server 2022 Always On Always On 独自(16.00.4215.2 以降)New! No
SQL Server 2019 Always On Always On(15.00.4073.23 以降) / DBM(それ以前) No No
SQL Server 2017 Always On(14.00.3049.1 以降) / DBM(それ以前) Always On(14.00.3401.7 以降) / DBM(それ以前) No No
SQL Server 2016 Always On(13.00.5216.0 以降) / DBM(それ以前) DBM No No

Standard Edition と Web Edition の違い

SQL Server 2022 の仕様では、エディションごとに以下のリソース制限があります(RDS ではインスタンスタイプやディスクサイズに別途制限があります)。

エディション 最大コンピューティング容量 最大メモリ(バッファプール) データベース最大サイズ
Enterprise Edition OS の最大容量 OS の最大容量 524 PB
Standard Edition 4 ソケットまたは 24 コア 128 GB 524 PB
Web Edition 4 ソケットまたは 16 コア 64 GB 524 PB
Express Edition 1 ソケットまたは 4 コア 1,410 MB 524 PB

ここでは db.m6i ファミリーについて、東京リージョンでの Standard Edition と Web Edition のオンデマンド料金を例に上げてみます。以下のように Web Edition のサポート範囲のスペックであれば半額未満となっています。まだ Web Edition で Multi-AZ のリザーブドインスタンスは購入できないようですが、Standard Edition の 1 年全額前払いよりも安い料金となります。

インスタンスタイプ vCPU メモリ Enterprise Edition Standard Edition Web Edition
db.m6i.4xlarge 16 64 GiB $14.142 $11.372 $5.5016
db.m6i.2xlarge 8 32 GiB $7.071 $5.734 $2.7068
db.m6i.xlarge 4 16 GiB $3.536 $2.766 $1.3304

ただし Web Edition の利用には注意が必要です。Web Edition はパブリックにアクセス可能なサイトを構築するときに使用可能です。社内システム向けには利用できません。

SQL Server Web Edition のライセンスは、パブリック/インターネットアクセス可能なウェブページ、ウェブサイト、ウェブアプリケーション、およびウェブサービスをサポートします。このレベルのサポートは、Microsoft の使用権限に準拠するために必要です。詳細については、AWS のサービス条件を参照してください。

Amazon RDS での Microsoft SQL Server のライセンス

SQL Server Web Edition の今後

今回のアップデートによりパブリック向けには良い事ずくめの Web Edition なのですが、今後のアップデートには注意が必要となります。2025 年 11 月 18 日にリリースされたばかりの SQL Server 2025 では Web Edition が廃止されました。そのため Web Edition を新しいバージョンではご利用いただけません。そのため今後は、ランニングコストが上昇しますが Standard Edition 以上へのアップグレード、移行やテスト工数が発生しますが SQL Server 以外の選択肢(例えば Babelfish for Aurora PostgreSQL など)を検討しましょう。

SQL Server は以下のようなライフサイクルポリシーになっています。

リリース日 参考: RDS サポート開始 メインストリーム サポート終了日 延長サポート終了日
SQL Server 2022 2022 年 11 月 16 日 2023 年 11 月 15 日 2028 年 1 月 11 日 2033 年 1 月 11 日
SQL Server 2019 2019 年 11 月 4 日 2020 年 8 月 26 日 2025 年 2 月 28 日 2030 年 1 月 8 日
SQL Server 2017 2017 年 9 月 29 日 2017 年 11 月 17 日 2022 年 10 月 11 日 2027 年 10 月 12 日
SQL Server 2016 2016 年 6 月 1 日 2016 年 11 月 4 日 2021 年 7 月 13 日 2026 年 7 月 14 日

SQL Server 2016 を例にすると、RDS for SQL Server はマイクロソフトの延長サポート終了日(2026 年 7 月 14 日)から 2026 年 9 月 7 日のメンテナンスウィンドウで SQL Server 2019 へアップグレードされる予定になっています。そのため、SQL Server 2022 でも同様にマイクロソフトの延長サポート終了日である 2033 年 1 月 11 日からアップグレードが始まると思われます。Web Edition をお使いの場合は、それまでに更新を行う必要があります。

Announcement: Amazon RDS for SQL Server ending support for Microsoft SQL Server 2016

やってみた

実際に Web Edition で Multi-AZ のインスタンスを起動してみます。ここでは東京リージョンで行います。

RDS のコンソールでデータベースの作成をクリックします。

スクリーンショット 2025-11-21 13.35.13のコピー

エンジンのタイプでMicrosoft SQL Server、エディションでSQL Server Web Edition、エンジンバージョンで 16.00.4215.2 以降であるSQL Server 2022 16.00.4215.2.v1を選択します。

スクリーンショット 2025-11-21 13.27.35のコピー

可用性と耐久性のマルチ AZ 配置であり (ブロックレベルレプリケーション)を選択します。

スクリーンショット 2025-11-21 13.30.33のコピー

起動した RDS インスタンスは SQL Server Web Edition で Multi-AZ となります。

スクリーンショット 2025-11-21 18.27.15のコピー

EC2 から 1 秒毎にアクセスして、フェイルオーバーの状況を試してみます。以下のような PowerShell スクリプトを作成しました。

sqlcmd-access.ps1
$Server   = "database-1.123456789012.ap-northeast-1.rds.amazonaws.com"
$User     = "admin"
$Password = 'password'
$Timeout  = 1
# ----------------------------------------

while ($true) {
    $Timestamp = Get-Date -Format "yyyy/MM/dd HH:mm:ss.ffff"

    try {
        $Result = & sqlcmd -S $Server -U $User -P $Password -l $Timeout -W -h -1 -Q "SELECT CONNECTIONPROPERTY('local_net_address')" 2>&1

        if ($LASTEXITCODE -eq 0) {
            Write-Output "[$Timestamp] OK   : Connected (Node: $Result)" | Tee-Object -FilePath .\log.txt -Append
        } else {
            throw $Result
        }
    }
    catch {
        Write-Output "[$Timestamp] FAIL : Connection Error" | Tee-Object -FilePath .\log.txt -Append
    }
    Start-Sleep -Seconds 1
}

sqlcmd-access.ps1を実行させつつ、RDS コンソールでフェイルオーバーで再起動します。すると、以下のようなログが出力されて44秒程度で切り替わったことが確認できます。実運用では負荷状況に応じて切り替え時間が長くなるので注意です。

[2025/11/21 09:18:19.6249] OK   : Connected (Node: 10.0.144.53  (1 row affected))
[2025/11/21 09:18:20.7142] OK   : Connected (Node: 10.0.144.53  (1 row affected))
[2025/11/21 09:18:21.8067] OK   : Connected (Node: 10.0.144.53  (1 row affected))
[2025/11/21 09:18:22.8907] OK   : Connected (Node: 10.0.144.53  (1 row affected))
[2025/11/21 09:18:23.9743] OK   : Connected (Node: 10.0.144.53  (1 row affected))
[2025/11/21 09:18:25.0696] FAIL : Connection Error
[2025/11/21 09:18:27.1273] FAIL : Connection Error
[2025/11/21 09:18:29.1825] FAIL : Connection Error
[2025/11/21 09:18:31.2447] FAIL : Connection Error
[2025/11/21 09:18:33.3005] FAIL : Connection Error
[2025/11/21 09:18:35.3686] FAIL : Connection Error
[2025/11/21 09:18:37.4318] FAIL : Connection Error
[2025/11/21 09:18:39.4917] FAIL : Connection Error
[2025/11/21 09:18:41.5552] FAIL : Connection Error
[2025/11/21 09:18:43.6155] FAIL : Connection Error
[2025/11/21 09:18:45.6791] FAIL : Connection Error
[2025/11/21 09:18:47.7391] FAIL : Connection Error
[2025/11/21 09:18:49.8017] FAIL : Connection Error
[2025/11/21 09:18:51.8674] FAIL : Connection Error
[2025/11/21 09:18:53.9261] FAIL : Connection Error
[2025/11/21 09:18:55.9943] FAIL : Connection Error
[2025/11/21 09:18:58.0529] FAIL : Connection Error
[2025/11/21 09:19:00.1115] FAIL : Connection Error
[2025/11/21 09:19:02.1786] FAIL : Connection Error
[2025/11/21 09:19:04.2441] FAIL : Connection Error
[2025/11/21 09:19:06.3100] FAIL : Connection Error
[2025/11/21 09:19:08.3719] OK   : Connected (Node: 10.0.160.231  (1 row affected))
[2025/11/21 09:19:09.4761] OK   : Connected (Node: 10.0.160.231  (1 row affected))
[2025/11/21 09:19:10.5601] OK   : Connected (Node: 10.0.160.231  (1 row affected))
[2025/11/21 09:19:11.6446] OK   : Connected (Node: 10.0.160.231  (1 row affected))
[2025/11/21 09:19:12.7245] OK   : Connected (Node: 10.0.160.231  (1 row affected))

さいごに

Amazon RDS for SQL Server Web Edition の Multi-AZ 対応についてまとめました。

これまでパブリックサービスで RDS for SQL Server を使用されていると、可用性とデータの堅牢性のために Standard Edition で Multi-AZ にしていたという方もいらっしゃると思います。今回のアップデートで安価な Web Edition でも AWS の独自実装により Multi-AZ で運用が可能になりました。コスト的にもオンデマンドで Standard Edition の半額程度のため、16 vCPU / 64 GB 以下のワークロードであれば Web Edition への切り替えを検討されるとよいかと思います。

ただし改めての注意ですが、Web Edition はパブリックなサービスだけに使用できるライセンスであり、SQL Server 2025 以降利用できなくなります。そのため長期的な運用計画をあわせてエディションの選択を検討してください。

この記事をシェアする

FacebookHatena blogX

関連記事