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 つの手順に従ってください。

  1. Developer Edition ISO および必要な累積更新プログラムを含む SQL Server インストールファイルを準備し、Amazon S3 にアップロードします。
  2. Amazon RDS が特定のデータベースエンジン構成を構築するために使用する CEV を作成します。
  3. 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 をダウンロード

  1. SQL Server 2022 Developer Edition をダウンロードする
    注意 : Developer Edition を入手するために Visual Studio サブスクリプションを使用することもできます。英語版をダウンロードしてください。他のバージョンはサポートされていません。
  2. インストーラーを実行し、「メディアのダウンロード」を選択してください。

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

または、SQL Server Developer Edition のインストールパッケージをダウンロードした後、以下のコマンドを使用してインタラクティブインストーラーの無人ダウンロードを実行できます。

SQL2022-SSEI-Dev.exe /Action=Download /Language=en-US /MediaType=ISO /MediaPath=C:\InstallationMedia /Quiet
Code

サポートされている累積更新プログラム

Developer Edition CEV の作成でサポートされているすべてのエンジンバージョンを表示するには、以下の AWS Command Line Interface (AWS CLI) コマンドを実行してください:

aws rds describe-db-engine-versions \
--engine sqlserver-dev-ee \
--output json \
--query "{DBEngineVersions: DBEngineVersions[?Status=='requires-custom-engine-version'].{Engine: Engine, EngineVersion: EngineVersion, Status: Status, DBEngineVersionDescription: DBEngineVersionDescription}}"
Code

このコマンドは以下のような出力を返します :

{
    "DBEngineVersions": [
        {
            "Engine": "sqlserver-dev-ee",
            "EngineVersion": "16.00.4215.2.v1",
            "Status": "requires-custom-engine-version",
            "DBEngineDescription": "Microsoft SQL Server Enterprise Developer Edition",
            "DBEngineVersionDescription": "SQL Server 2022 16.00.4215.2.v1"
        }
    ]
}
Code

エンジンバージョンのステータスを “requires-custom-engine-version” に設定すると、サポートされているテンプレートエンジンバージョンが識別されます。これらのテンプレートは、インポート可能な SQL Server バージョンを示します。

累積更新プログラムをダウンロード

  1. Microsoft Update Catalog にアクセスします。
  2. 最新の RDS サポート対象累積更新プログラムを検索してダウンロードします。この例では、CU21 (SQLServer2022-KB5065865-x64.exe) を使用しています。

S3 バケットを作成し、SQL Serverのインストールファイルをアップロード

  1. 以下のサンプルコードは、us-west-2 リージョンに amzn-s3-demo-destination-bucket バケットを作成します。
    aws s3 mb s3://amzn-s3-demo-destination-bucket --region us-west-2
    Code
  2. ISO ファイルをアップロードするために以下のコマンドを実行してください。
    aws s3 cp SQLServer2022-x64-ENU-Dev.iso s3://amzn-s3-demo-destination-bucket/sqlserver-dev-media/
    Code
  3. 累積更新ファイルをアップロードするために、以下のコマンドを実行してください。
    aws s3 cp SQLServer2022-KB5065865-x64.exe s3://amzn-s3-demo-destination-bucket/sqlserver-dev-media/
    Code
  4. 結果を確認するには、Amazon S3 コンソールに移動してバケットを参照してその内容を表示してください。

ステップ 2: CEV を作成

CEV は、Amazon RDS がインスタンスをデプロイする際に使用する SQL Server のインストールファイルを再利用可能なテンプレートにパッケージ化します。この手順では、S3 バケットにアップロードした SQL Server インストールファイルから CEV を作成します。

  1. Aurora と RDS の AWS マネジメントコンソールから、ナビゲーションペインで「カスタムエンジンバージョン」を選択し、次に「カスタムエンジンバージョンの作成」を選択します。

  2. CEV の設定をします :
    • エンジンのタイプ : SQL Server を選択
    • データベース管理タイプ : Amazon RDS を選択
    • エディション : SQL Server Developer Edition を選択
    • エンジンバージョン : ドロップダウンメニューから SQL Server エンジンバージョンを選択してください。メニューには SQL Server Developer Edition でサポートされているエンジンバージョン (16.00.4215.2 など) が表示されます。
    • カスタムエンジンバージョン識別子 : sql-server-dev-edition-cev などの名前を入力してください。

  3. インストールメディアで、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
  4. 「カスタムエンジバージョンの作成」をクリックします。

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

または、AWS CLI を使用して CEV を作成し、そのステータスを監視することもできます。

CEV の作成

aws rds create-custom-db-engine-version \
--engine sqlserver-dev-ee \
--engine-version 16.00.4215.2.sql-server-dev-ed-cev \
--region us-west-2 \
-- database-installation-files-s3-bucket-name amzn-s3-demo-destination-bucket \
--database-installation-files-s3-prefix sqlserver-dev-media \
--database-installation-files "SQLServer2022-x64-ENU-Dev.iso" "SQLServer2022-KB5065865-x64.exe"
Code

CEV 作成ステータスの監視

aws rds describe-db-engine-versions \
--engine sqlserver-dev-ee \
--engine-version 16.00.4215.2.sql-server-dev-ed-cev \
--region us-west-2
Code

注意 : このコマンドは、ステータスが 「利用可能」の CEV のみを返します。「検証中」やその他のステータスの CEV を表示するには、--include-all フラグを含めてください。

ステップ 3: RDS インスタンスの起動

CEV が「利用可能」のステータスを表示した後、カスタム SQL Server Developer Edition 設定を使用する RDS インスタンスを作成できます。インスタンスは、特定の SQL Server バージョンと累積更新プログラムでデプロイされます。

  1. Aurora と RDS の AWS マネジメントコンソールから、左側のナビゲーションペインで「データベース」を選択し、次に「データベースの作成」を選択します。
  2. データベース作成ページで、インスタンスに必要な設定を入力し、エンジンオプションが正しく設定されていることを確認してください。
    • エンジンのタイプ : Microsoft SQL Server を選択
    • データベース管理タイプ : Amazon RDS を選択
    • エディション : SQL Server Developer Edition を選択
    • カスタムエンジンバージョン : ドロップダウンメニューから希望する CEV を選択

  3. ユースケースに合わせて、DB インスタンスサイズ、ストレージ、接続性の設定を定義してください。
  4. 「データベースの作成」をクリックします。

または、AWS CLI を使用して RDS インスタンスを作成することもできます。

aws rds create-db-instance \
--db-instance-identifier sqlserver-dev-ed \
--db-instance-class db.m6i.xlarge \
--engine sqlserver-dev-ee \
--engine-version 16.00.4215.2.sql-server-dev-ed-cev \
--allocated-storage 200 \
--master-username admin \
--master-user-password your-secure-password-here \
--license-model bring-your-own-license \
--no-multi-az \
--vpc-security-group-ids sg-xxxxxxxxx\
--db-subnet-group-name my-db-subnet-group-name \
--backup-retention-period 7 \
--region us-west-2
Code

重要な制限事項と考慮事項

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 自体は開発およびテスト目的では無料ですが、以下のコストを考慮する必要があります:
  • セキュリティとパフォーマンスを維持するため、インストールファイルと累積更新プログラムを最新の状態に保ってください。
  • 下位環境でのコスト削減を最大化するために Developer Edition の使用を組み合わせて、不要な時には定期的なシャットダウンを実装してください。

クリーンアップ

継続的な課金を防ぐため、このウォークスルーで作成したリソースが不要になったら削除してください。

  1. RDS for SQL Serve インスタンスを削除します。手順については、「DB インスタンスの削除」を参照してください。
  2. カスタムエンジンバージョンを削除します。手順については、「カスタムエンジンバージョンの削除」を参照してください。
  3. 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 が担当しました。原文はこちらです。


著者について

Sudhir Amin

Sudhir Amin

Sudhir は、ニューヨークを拠点とする AWS のシニアソリューションアーキテクトです。彼は様々な業界のお客様に対してアーキテクチャのガイダンスと技術支援を提供し、クラウド導入の促進を支援しています。仕事以外では、スヌーカーやボクシング、UFC などの格闘技に情熱を注いでいます。また、世界各地の野生動物保護区を旅行し、雄大な動物たちを自然の生息地で観察することを楽しんでいます。

Mesgana Gormley

Mesgana Gormley

Mesgana は、AWS のシニアデータベーススペシャリストソリューションアーキテクトで、Amazon RDS チームで働いています。彼女は、AWS のお客様に技術的なガイダンスを提供し、AWS 上でリレーショナルデータベースワークロードの移行、設計、デプロイ、最適化を成功させる支援に注力しています。仕事以外では、旅行や家族や友人との質の高い時間を過ごすことを楽しんでいます。

Kalyan Banala

Kalyan Banala

Kalyan は、AWS の Amazon RDS Custom for SQL Server チームで活躍するデータベースエンジニアです。複雑な技術的課題を解決することを楽しみ、チームメイトや AWS のお客様との知識の学び合いや共有に情熱を注いでいます。