RDS for SQLServerで利用可能なDBインスタンスクラスを表で整理する

2017.08.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご機嫌いかがでしょうか、豊崎です。

RDS for SQLServer を利用する場合、エディションとライセンス(BYOL、ライセンス込み)によって選択できるDBインスタンスクラスが異なります。 表にまとめる必要があったため、記事として書き出したいと思います。

DBインスタンスクラス

現行世代のDBインスタンスクラス

現行世代の DB インスタンスクラスには次のものがあります。

インスタンスタイプ 現行世代のDBインスタンス
スタンダード現行世代 (db.m4)
  • db.m4.large
  • db.m4.xlarge
  • db.m4.2xlarge
  • db.m4.4xlarge
  • db.m4.10xlarge

*中国 (北京) リージョンでは使用できません

メモリの最適化現行世代 (db.r3)
  • db.r3.large
  • db.r3.xlarge
  • db.r3.2xlarge
  • db.r3.4xlarge
  • db.r3.8xlarge
バースト可能現行世代 (db.t2)
  • db.t2.micro
  • db.t2.small
  • db.t2.medium
  • db.t2.large

前の世代のDBインスタンスクラス

前の世代のDBインスタンスクラスには以下があります。 メモリ最適化のインスタンスタイプはdb."m"2なんですね、知りませんでした。

インスタンスタイプ 前の世代の DB インスタンスクラス
スタンダード前の世代 (db.m3)
  • db.m3.medium
  • db.m3.large
  • db.m3.xlarge
  • db.m3.2xlarge
スタンダード前の世代 (db.m1)
  • db.m1.small
  • db.m1.medium
  • db.m1.large
  • db.m1.xlarge
メモリ最適化前の世代 (db.m2)
  • db.m2.xlarge
  • db.m2.2xlarge
  • db.m2.4xlarge
マイクロインスタンス (db.t1.micro)
  • db.t1.micro

DBエンジンに対応したインスタンスクラス

補足として現行世代に対して、DBインスタンス(SQLServer、Oracleを除く)の対応は以下となります。

DB エンジン インスタンスクラス 対応状況
Amazon Aurora db.m4 サポートされていません
db.r3 すべてのバージョンで利用可能
db.t2 Aurora バージョン 1.9 以降では、db.t2.medium インスタンスクラスが利用可能 Aurora バージョン 1.11 以降では、db.t2.medium と db.t2.small インスタンスクラスの両方が利用可能
MariaDB db.m4 すべてのバージョンで利用可能
db.r3 すべてのバージョンで利用可能
db.t2 すべてのバージョンで利用可能
MySQL db.m4 MySQL5.5、5.6、5.7 で利用可能
db.r3 MySQL5.5、5.6、5.7 で利用可能
db.t2 MySQL5.5、5.6、5.7 で利用可能
PostgreSQL db.m4 すべてのバージョンで利用可能
db.r3 すべてのバージョンで利用可能
db.t2 すべてのバージョンで利用可能

Amazon Auroraではdb.m4クラスがサポートされていないことと、バージョンによってdb.t2クラスの利用に注意する以外はほとんど全てのインスタンスクラスを利用することができます。 また今回はSQLServerに対してのみ表にまとめます。OracleもSQLServerと同様に複雑なのですが、ここでは記載しません。

Oracleで利用可能なインスタンスクラスについては以下「DB インスタンスクラスの Oracle のサポート」を参照ください。

RDS for SQL Server対応のインスタンスクラス

Microsoft SQL Serverについては複雑なため以下星取表でまとめてみました。

  • Bring-Your-Own-License(ライセンス持ち込み) >BYOL
  • License-Included(ライセンス込み) > LI

としています。

SQL Server 2016

 Edition  Enterprise Standard Web  Express
インスタンスクラス BYOL LI BYOL LI - -
db.m4.large × ×
db.m4.xlarge ×
db.m4.2xlarge ×
db.m4.4xlarge ×
db.m4.10xlarge × × ×
db.r3.large × × × × × ×
db.r3.xlarge × × × × × ×
db.r3.2xlarge × × × × ×
db.r3.4xlarge × × × × ×
db.r3.8xlarge × × × × ×
db.t2.micro × × × × ×
db.t2.small × ×
db.t2.medium × ×
db.t2.large × × × ×

SQL Server 2014

 Edition  Enterprise Standard Web  Express
インスタンスクラス BYOL LI BYOL LI - -
db.m4.large × ×
db.m4.xlarge ×
db.m4.2xlarge ×
db.m4.4xlarge ×
db.m4.10xlarge × × ×
db.r3.large × ×
db.r3.xlarge × ×
db.r3.2xlarge ×
db.r3.4xlarge × ×
db.r3.8xlarge × ×
db.t2.micro × × × × ×
db.t2.small × ×
db.t2.medium × ×
db.t2.large × × × ×

SQL Server 2012 および 2008R2

 Edition  Enterprise Standard Web  Express
インスタンスクラス BYOL LI BYOL LI - -
db.m4.large × ×
db.m4.xlarge ×
db.m4.2xlarge ×
db.m4.4xlarge ×
db.m4.10xlarge × × ×
db.r3.large × ×
db.r3.xlarge × ×
db.r3.2xlarge ×
db.r3.4xlarge × × × ×
db.r3.8xlarge × × × ×
db.t2.micro × × × × ×
db.t2.small × ×
db.t2.medium × ×
db.t2.large × × × ×

さいごに

本番環境でSQLServer のStandard、Enterprise Editionと開発環境で同じEditionにしたいが、コストを抑えるために開発環境はt2クラスを利用したいというケースがあります。 しかし表でまとめた通り、SQLServer のStandard、Enterprise Editionの場合、BYOLでの利用でないとt2シリーズが利用できません。(2016を除く、Standard Editionであれば旧世代のインスタンスクラスの選択肢は比較的広いです。)

ライセンス込みを利用する場合、開発環境のRDSについては選択できる中で最小のインスタンスを選択して、利用しないタイミングでは止めておくことでコストを抑えるのが良いかと思います。

  • 短期間(7日間まで):RDSの停止(要シングルAZ構成のRDS)
  • 長期間(7日間以上):スナップショットを取得しRDSの削除

RDSの起動/停止の制約、注意事項については以下を参照ください。

[速報] RDSインスタンスの起動/停止

誰かの参考になれば幸甚です。