Amazon Web Services ブログ
Amazon RDS for SQL Server で Developer Edition のインスタンスを作成する
Amazon Relational Database Service (Amazon RDS) for SQL Server は、SQL Server インストールファイルを Amazon Simple Storage Service (Amazon S3) にアップロードするカスタムエンジンバージョン (CEV) アプローチを通じて、SQL Server Developer Edition をサポートするようになりました。この機能により、フルマネージドな RDS インフラストラクチャの恩恵を受けながら、追加のライセンス費用を発生させることなく、開発およびテスト環境で Developer Edition を使用することができます。
SQL Server Developer Edition は、Enterprise Edition のすべての機能を含む完全機能版です。RDS上 の SQL Server Developer Edition により、開発チームは本番環境との一貫性を保ちながら、管理された環境で Developer Edition の機能を利用でき、AWS インフラストラクチャの料金のみを支払うだけで、SQL Server のライセンス料金は不要です。料金の詳細については、Amazon RDS for SQL Server の料金ページをご覧ください。
ソーリューション概要
SQL Server Developer Edition インスタンスを作成するには、以下の 3 つの手順に従ってください。
- Developer Edition ISO および必要な累積更新プログラムを含む SQL Server インストールファイルを準備し、Amazon S3 にアップロードします。
- Amazon RDS が特定のデータベースエンジン構成を構築するために使用する CEV を作成します。
- CEV を使用して RDS インスタンスを起動すると、フルマネージドな SQL Server Developer Edition データベースが提供されます。
以下の図は、前述の手順で説明されたワークフローを示しています。

前提条件
この機能の初期リリースの一環として、Developer Edition は累積更新プログラム 21(CU21) を適用した SQL Server 2022 をサポートしています。この機能は第 6 世代インスタンスクラス (M6i および R6i) でサポートされています。サポートされているインスタンスクラスの最新リストについては、AWS RDS SQL Server インスタンスクラスを参照してください。
開始する前に、以下が必要です:
- 以下の権限を持つ RDS for SQL Server Developer Edition インスタンスを作成できる AWS Identity and Access Management (IAM) プリンシパル (ロールまたはユーザー) :
- AmazonRDSFullAccess – RDS 操作のための AWS 管理ポリシー
- s3:GetObject – Amazon S3 内の SQL Server インストールファイルにアクセスするための権限
- インストールファイルを保存する S3 バケット。すべてのインストールファイルは、CEV を作成するのと同じ AWS リージョンの同じ S3 バケット内の同じフォルダパスに保存する必要があります。
ステップ 1: インストールファイルを準備してアップロードする
開始するには、SQL Developer Edition と累積更新プログラムをダウンロードしてインストールします。この手順の一部として、ファイルを保存するための S3 バケットを作成します。
SQL Server Developer Edition をダウンロード
- SQL Server 2022 Developer Edition をダウンロードする
注意 : Developer Edition を入手するために Visual Studio サブスクリプションを使用することもできます。英語版をダウンロードしてください。他のバージョンはサポートされていません。 - インストーラーを実行し、「メディアのダウンロード」を選択してください。

- 優先言語として英語を選択し、メディアタイプとして ISO を選択し、インストールファイルを保存するダウンロード場所を指定してください。他の言語の ISO ファイルはサポートしていません。ISO ファイルが英語でない場合、またはファイルに ISO 拡張子がない場合、Developer Edition CEV の作成プロセスは失敗します。

または、SQL Server Developer Edition のインストールパッケージをダウンロードした後、以下のコマンドを使用してインタラクティブインストーラーの無人ダウンロードを実行できます。
サポートされている累積更新プログラム
Developer Edition CEV の作成でサポートされているすべてのエンジンバージョンを表示するには、以下の AWS Command Line Interface (AWS CLI) コマンドを実行してください:
このコマンドは以下のような出力を返します :
エンジンバージョンのステータスを “requires-custom-engine-version” に設定すると、サポートされているテンプレートエンジンバージョンが識別されます。これらのテンプレートは、インポート可能な SQL Server バージョンを示します。
累積更新プログラムをダウンロード
- Microsoft Update Catalog にアクセスします。
- 最新の RDS サポート対象累積更新プログラムを検索してダウンロードします。この例では、CU21 (SQLServer2022-KB5065865-x64.exe) を使用しています。
S3 バケットを作成し、SQL Serverのインストールファイルをアップロード
- 以下のサンプルコードは、
us-west-2リージョンにamzn-s3-demo-destination-bucketバケットを作成します。 - ISO ファイルをアップロードするために以下のコマンドを実行してください。
- 累積更新ファイルをアップロードするために、以下のコマンドを実行してください。
- 結果を確認するには、Amazon S3 コンソールに移動してバケットを参照してその内容を表示してください。

ステップ 2: CEV を作成
CEV は、Amazon RDS がインスタンスをデプロイする際に使用する SQL Server のインストールファイルを再利用可能なテンプレートにパッケージ化します。この手順では、S3 バケットにアップロードした SQL Server インストールファイルから CEV を作成します。
- Aurora と RDS の AWS マネジメントコンソールから、ナビゲーションペインで「カスタムエンジンバージョン」を選択し、次に「カスタムエンジンバージョンの作成」を選択します。

- CEV の設定をします :
- エンジンのタイプ : SQL Server を選択
- データベース管理タイプ : Amazon RDS を選択
- エディション : SQL Server Developer Edition を選択
- エンジンバージョン : ドロップダウンメニューから SQL Server エンジンバージョンを選択してください。メニューには SQL Server Developer Edition でサポートされているエンジンバージョン (16.00.4215.2 など) が表示されます。
- カスタムエンジンバージョン識別子 :
sql-server-dev-edition-cevなどの名前を入力してください。 - インストールメディアで、ISO ファイルと累積更新プログラムを検索して選択します。
- SQL インストールファイルパス :
s3://amzn-s3-demo-destination-bucket/sqlserver-dev-media/SQLServer2022-x64-ENU-Dev.iso - 更新プログラムファイルパス :
s3://amzn-s3-demo-destination-bucket/sqlserver-dev-media/SQLServer2022-KB5065865-x64.exe
- SQL インストールファイルパス :
- 「カスタムエンジバージョンの作成」をクリックします。


CEV の作成には通常 15 ~ 30 分かかります。新しく作成された CEV は、検証が完了するまで「検証中」のステータスになります。RDS インスタンスを作成する前に、コンソールで CEV のステータスを監視し、「利用可能」になるまで待ってください。

または、AWS CLI を使用して CEV を作成し、そのステータスを監視することもできます。
CEV の作成
CEV 作成ステータスの監視
注意 : このコマンドは、ステータスが 「利用可能」の CEV のみを返します。「検証中」やその他のステータスの CEV を表示するには、--include-all フラグを含めてください。
ステップ 3: RDS インスタンスの起動
CEV が「利用可能」のステータスを表示した後、カスタム SQL Server Developer Edition 設定を使用する RDS インスタンスを作成できます。インスタンスは、特定の SQL Server バージョンと累積更新プログラムでデプロイされます。
- Aurora と RDS の AWS マネジメントコンソールから、左側のナビゲーションペインで「データベース」を選択し、次に「データベースの作成」を選択します。
- データベース作成ページで、インスタンスに必要な設定を入力し、エンジンオプションが正しく設定されていることを確認してください。
- エンジンのタイプ : Microsoft SQL Server を選択
- データベース管理タイプ : Amazon RDS を選択
- エディション : SQL Server Developer Edition を選択
- カスタムエンジンバージョン : ドロップダウンメニューから希望する CEV を選択

- ユースケースに合わせて、DB インスタンスサイズ、ストレージ、接続性の設定を定義してください。
- 「データベースの作成」をクリックします。
または、AWS CLI を使用して RDS インスタンスを作成することもできます。
重要な制限事項と考慮事項
Amazon RDS 上の SQL Server Developer Edition には以下の制限と考慮事項があります :
- Microsoft のライセンス条項に準拠し、本番ワークロードでは適切なライセンスの SQL Server エディションを使用することを確実にする責任があります。
- マルチ AZ デプロイメントとリードレプリカは現在サポートされていません。
- CEV はリージョンとアカウント固有であり、リージョン間でのコピーや AWS アカウント間での共有はできません。現在のリージョン可用性については、Amazon RDS ドキュメントを参照してください。
- 最新の累積更新プログラムで DB インスタンスをアップグレードするには、Amazon RDS でサポートされている最新の CU を使用して新しい CEV を作成する必要があります。データベースインスタンスに最新の更新プログラムを適用するには、この投稿で説明されているのと同じ新しい CEV 作成プロセスに従う必要があります。詳細については、「データベースマイナーバージョンアップグレードの適用」を参照してください。
- RDS DB インスタンス、DB スナップショット、バックアップなどの関連リソースがある場合、CEV を削除することはできません。
- SQL Server Developer Edition 自体は開発およびテスト目的では無料ですが、以下のコストを考慮する必要があります:
- Amazon RDS インスタンスコスト
- データベースとバックアップの Amazon RDS ストレージコスト
- インストールファイルの Amazon S3 ストレージコスト
- データ転送コスト
- セキュリティとパフォーマンスを維持するため、インストールファイルと累積更新プログラムを最新の状態に保ってください。
- 下位環境でのコスト削減を最大化するために Developer Edition の使用を組み合わせて、不要な時には定期的なシャットダウンを実装してください。
クリーンアップ
継続的な課金を防ぐため、このウォークスルーで作成したリソースが不要になったら削除してください。
- RDS for SQL Serve インスタンスを削除します。手順については、「DB インスタンスの削除」を参照してください。
- カスタムエンジンバージョンを削除します。手順については、「カスタムエンジンバージョンの削除」を参照してください。
- S3 バケットを削除します。手順については、「バケットの削除」を参照してください。
結論
この投稿では、Amazon RDS 上で SQL Server Developer Edition の作成およびデプロイする方法をご紹介しました。インストールファイルの準備と Amazon S3 へのアップロードから、CEV の作成、そして最終的な RDS インスタンスの起動までのプロセスを見てただきました。Amazon RDS 上の SQL Server Developer Edition は、Enterprise ライセンス料金なしで、非本番環境において Enterprise Edition の機能と Amazon RDS の自動管理機能を提供します。Amazon S3 にアップロードされたインストールファイルから CEV を作成し、それらを使用して開発およびテスト環境用の複数のデータベースインスタンスを作成しながら、本番レベルの一貫性を確保することができます。
翻訳はソリューションアーキテクトの Yoshinori Sawada が担当しました。原文はこちらです。