RDS for SQL Server 第7世代インスタンスタイプの料金計算を行う際の注意点

RDS for SQL Server 第7世代インスタンスタイプの料金計算を行う際の注意点

2025.12.08

しばたです。

re:Invent 2025中にRDS for SQL Serverで第7世代インスタンスタイプ(M7i, R7i)が利用可能になり、同時にCPU最適化のサポートも増えました。

https://dev.classmethod.jp/articles/reinvent-2025-rds-for-mssql-cpu-opt/

この更新と同時にRDS for SQL Serverの料金計算方法にも変更が入り従来の世代と第7世代で大きく異なる形になりました。

本記事では第7世代(以降)のRDS for SQL Serverの料金計算において注意すべき点について解説していきます。

第7世代インスタンスタイプにおける料金計算の変更点

はじめに一番大きな変更点になるのですが、RDS for SQL Serverの第7世代インスタンスタイプではWindows ServerとSQL Serverのライセンス費用がインスタンス利用費と分離して計算される様になりました。[1]

料金ページを見ていただくとその差は一目瞭然で、従来世代の料金を『On-Demand Instances pricing』、第7世代の料金を『On-Demand Unbundled Instances pricing』として別管理しています。

rds-for-sql-server-7thgen-pricing-notes-01
従来世代の料金表 (Instances pricing)

rds-for-sql-server-7thgen-pricing-notes-02
第7世代の料金表 (Unbundled instances pricing)

この様になった一番の理由は後述するCPU最適化によりRDSインスタンスで使用するCPUコア数が可変になったためです。
SQL ServerとWindows Serverのライセンス費用はCPUコア数で変動するためインスタンスで使用するCPUコア数を減らせば費用を減らすことができます。

一緒に押さえておく必要がある第7世代インスタンスタイプの変更点

加えて第7世代のRDS for SQL Serverには他エンジンと大きく異なる点があります。

同時マルチスレッティング(SMT)の自動無効化

AWSアナウンスの表現が少し悪いためわかりにくいのですが、第7世代のRDS for SQL Serverでは 2xlarge以上のインスタンスタイプにおいて同時マルチスレッティング(SMT)が無効 に設定されています。

Note

  • Starting with the 7th generation instance class, hyper-threading is disabled on RDS SQL Server for instance sizes 2xlarge and above. This results in the total number of vCPUs available being half of that supported by the corresponding EC2 instance. For example, the EC2 instance type m7i.2xlarge by default supports 4 cores and 2 threadsPerCore, resulting in a total of 8 vCPUs. In contrast, the RDS for SQL Server db.m7i.2xlarge instance, with hyper-threading disabled, results in 4 cores and 1 threadsPerCore, overall 4 vCPUs.

各インスタンスタイプの詳細を表にすると以下の通りです。

インスタンスタイプ メモリ 他エンジンのvCPU数 RDS for SQL SererのvCPU数 CPU最適化
db.m7i.large 8 GiB 2 (1コア 2スレ) 2 (1コア 2スレ) -
db.m7i.xlarge 16 GiB 4 (2コア 2スレ) 4 (2コア 2スレ) -
db.m7i.2xlarge 32 GiB 8 (4コア 2スレ) 4 (4コア 1スレ) SMT無効
db.m7i.4xlarge 64 GiB 16 (8コア 2スレ) 8 (8コア 1スレ) SMT無効
db.m7i.8xlarge 128 GiB 32 (16コア 2スレ) 16 (16コア 1スレ) SMT無効
db.m7i.12xlarge 192 GiB 64 (32コア 2スレ) 32 (32コア 1スレ) SMT無効
db.m7i.16xlarge 256 GiB 128 (64コア 2スレ) 64 (64コア 1スレ) SMT無効
db.r7i.large 16 GiB 2 (1コア 2スレ) 2 (1コア 2スレ) -
db.r7i.xlarge 32 GiB 4 (2コア 2スレ) 4 (2コア 2スレ) -
db.r7i.2xlarge 64 GiB 8 (4コア 2スレ) 4 (4コア 1スレ) SMT無効
db.r7i.4xlarge 128 GiB 16 (8コア 2スレ) 8 (8コア 1スレ) SMT無効
db.r7i.8xlarge 256 GiB 32 (16コア 2スレ) 16 (16コア 1スレ) SMT無効
db.r7i.12xlarge 384 GiB 48 (24コア 2スレ) 24 (24コア 1スレ) SMT無効
db.r7i.16xlarge 512 GiB 64 (32コア 2スレ) 32 (32コア 1スレ) SMT無効

これによりインスタンスとして使えるvCPU数は半分になるもののSQL Serverのライセンス費用も半分になるという理屈です。

SMT無効化によりライセンスコストを最適化する手法自体は昔からあるものですしEC2でも可能でした。
第7世代のRDS for SQL Serverではこれが自動適用されると考えていただくと良いでしょう。

参考までに去年のre:InventにおいてEC2環境でSMT無効化によってライセンスコストを最適化するセッションがありましたのでこちらもご覧いただくと良いでしょう。

https://zenn.dev/kiiwami/articles/0ed9f37a73491f6d

CPU最適化オプション

このSMT無効化に加えてCPU最適化オプションによってさらに使用するCPU数を減らすことができます。
このオプションは『メモリが大量に欲しいがCPUコア数はそこまで不要』といったユースケースで使用します。

たとえばdb.r7i.4xlarge (8vCPU, 128GiBメモリ)において、CPU数が8もいらない場合に8 → 4と減らすことでSQL Serverのライセンス費用を半分にすることができます。
RDS for Oracleでは同様のユースケースに対しメモリ倍増のインスタンスタイプが提供されていますが、RDS for SQL Serverではこのオプションで対応が可能です。

ちなみにコアライセンスのSQL Serverは最低4CPU分のライセンス割り当てが必須[2]であるため4未満の値には調整不可となっています。

料金計算例

ここからいくつか料金計算の例を出していきます。
本日(2025/12/08)時点の東京リージョンの単価で計算しています。

インスタンス利用費以外は世代による変化が無いため本記事では省略します。
具体的な総額についてはAWS Pricing Calculatorで見積もってください。

https://calculator.aws/#/

1. 旧世代 db.r6i.4xlarge (Standard Edition、Single-AZ) の場合

まずは比較用に旧世代の例を出しておきます。

db.r6i.4xlargeインスタンス、東京リージョン、Standard Edition、Single-AZ構成の金額を計算していきます。
旧世代はライセンス費用込みの単価なので料金ページの単価をそのまま採用可能です。

rds-for-sql-server-7thgen-pricing-notes-03

費目 金額 備考
インスタンス利用費 6.384 USD/時 16コア、Windows Server, SQL Serverのライセンス費込み

2. 第7世代 db.r7i.4xlarge (Standard Edition、Single-AZ) の場合

次に同等の第7世代 db.r7i.4xlarge デフォルトvCPU数の場合を考えます。
東京リージョン、Standard Edition、Single-AZ構成の金額を計算していきます。

rds-for-sql-server-7thgen-pricing-notes-04

この場合、総額は料金ページのTotal priceでわかります。
内訳を見ていくと以下の様になり、インスタンス利用費・Windows Serverのライセンス費・SQL Serverのライセンス費を合計した3.728 USD/時が総額となります。

費目 金額 備考
インスタンス利用費 2.40 USD/時
Windows Serverのライセンス費 0.368 USD/時 8コア分
SQL Serverのライセンス費 0.96 USD/時 8コア分
(合計) 3.728 USD/時

前述の通りdb.r7i.4xlargeではSMT無効のためvPCU数は8となりSQL Serverのライセンス対象も8コアとなります。
このため前世代のdb.r6i.4xlarge(16コア) 6.384 USD/時 に対して半額近い単価となります。

3. 第7世代 db.r7i.4xlarge (Standard Edition、Single-AZ) でCPUコア数を調整した場合

さらにCPU最適化によりdb.r7i.4xlargeのコア数を8 → 4にした場合を考えます。
この場合はWindows ServerとSQL Serverのライセンス費用が半分の4コア分になり、総額3.064 USD/時になります。

費目 金額 備考
インスタンス利用費 2.40 USD/時
Windows Serverのライセンス費 0.184 USD/時 4コア分
SQL Serverのライセンス費 0.48 USD/時 4コア分
(合計) 3.064 USD/時

本記事を書き始めた当初CPU数削減により減るのはSQL Serverのライセンス費だけかと思っていたのですが、AWS Pricing Calclatorで計算したところWindows Serverのライセンス費もコア数に応じて減ったのでちょっと驚きました。
(ちなみにAWS Pricing Calclatorでは1コア当たりの単価ベースで見積額が計算されます)

4. 第7世代 db.r7i.large (Standard Edition、Single-AZ) の場合

最後に4コア未満のインスタンスタイプ例を出します。
db.r7i.largeはCPU数2コアでWindows Serverのライセンス費は2コア分となりますが、SQL Serverは最低4コアのライセンスが必要なため金額は4コア分になります。

費目 金額 備考
インスタンス利用費 0.30 USD/時
Windows Serverのライセンス費 0.092 USD/時 2コア分
SQL Serverのライセンス費 0.48 USD/時 4コア分
(合計) 0.872 USD/時

rds-for-sql-server-7thgen-pricing-notes-05

このため総額0.872 USD/時となります。

補足 : 東京リージョンのWindows ServerとSQL Serverライセンス費

補足として本日時点の東京リージョンにおけるWindows ServerとSQL Serverのライセンス費を記載しておきます。
金額はAWS Pricing Calclatorの値を転記しています。

Windows Serverのライセンス費用は全エディションで共通ですがMulti-AZ構成の場合は2台分必要になります。
SQL Serverのライセンス費用はエディション毎で変わり最低4コア分必要となりますがMulti-AZ構成でも変化しません。
この2点だけ押さえておけば困ることは無いでしょう。

Windows Serverライセンス費

SQL Serverエディション 1コア当たりの単価 備考
全エディション 0.046 USD/インスタンス/時 Multi-AZ構成だと2台分必要

SQL Serverライセンス費

SQL Serverエディション 1コア当たりの単価 備考
Web Edition 0.017 USD/コア/時 最低4コア分。Multi-AZ構成でも1台分のまま
Standard Edition 0.12 USD/コア/時 最低4コア分。Multi-AZ構成でも1台分のまま
Enterprise Edition 0.375 USD/コア/時 最低4コア分。Multi-AZ構成でも1台分のまま

最後に

以上となります。

第7世代のRDS for SQL Serverではライセンス費用の調整が可能になった代わりに料金計算が若干複雑になったのでご注意ください。

その代わり適切な設定ができればライセンス費用を削減できるので積極的に見直しを検討しても良いかと思います。

脚注
  1. 従来世代ではインスタンス、Windows Server、SQL Serverのライセンス費用が全てまとめられた形になっていました ↩︎

  2. CPU数が4未満のインスタンスタイプ(EC2も含む)では4コア分のSQL Serverライセンス費用が発生しています ↩︎

この記事をシェアする

FacebookHatena blogX

関連記事