Amazon Web Services ブログ

RDS for SQL Server インスタンスを License Included から Bring Your Own Media (BYOM) へ変換

本記事は 2026 年 6 月 16 日 に公開された “Converting an RDS for SQL Server instance from license included to Bring Your Own Media (BYOM)” を翻訳したものです。

Amazon Relational Database Service (Amazon RDS) for SQL Server は最近 Bring Your Own Media (BYOM) をリリースしました。これにより、既存の SQL Server ライセンスをフルマネージドの RDS インスタンスで使用できるようになりました (詳細は「フルマネージドの Amazon RDS for SQL Server で Bring Your Own Media によるライセンスモビリティの実現」を参照)。これは、既存の Microsoft ライセンス契約をお持ちで、その投資を AWS 上で活用してクラウド支出を最適化したいお客様にとって特に価値があります。

すでに License Included (LI) モデルで RDS for SQL Server を実行している場合、データベース移行なしでそれらのインスタンスをインプレースで BYOM に変換できるようになりました。この機能により、RDS for SQL Server インスタンスを AWS 提供のライセンスから独自の SQL Server メディアの使用に移行しつつ、フルマネージドの RDS インフラストラクチャの利点を維持できます。BYOM を使用するには、License Mobility 付きの SQL Server Enterprise Edition または Standard Edition が必要です。ライセンスモビリティの詳細については、ライセンスモビリティのページを参照してください。

セットアッププロセスを簡素化するため、BYOM エンジンバージョンのエクスペリエンスも効率化しました。SQL Server のインストールメディアを Amazon Simple Storage Service (Amazon S3) にアップロードし、BYOM エンジンバージョンとして登録します。Amazon RDS はマイナーバージョンアップグレードが利用可能になると自動的に新しい BYOM エンジンバージョンを作成するため、常に最新の状態を維持できます。アップグレードを選択した際、追加の手動手順なしで新しいバージョンが準備されています。

本記事では、インストールメディアの準備、BYOM エンジンバージョンの作成、インプレースでのライセンスモデル変更という、エンドツーエンドの変換プロセスを説明します。

ソーシューション概要

既存の License Included の RDS for SQL Server インスタンスを BYOM に変換するには、以下の手順に従います:

  1. SQL Server のインストールファイルを準備し、Amazon S3 にアップロードする。
  2. Amazon RDS が特定のデータベースエンジン構成を構築するために使用する BYOM エンジンバージョンを作成する。
  3. 既存の License Included インスタンスを BYOM ライセンスモデルと BYOM エンジンバージョンを使用するように変更する。

Step 1 - Upload ISO to Amazon S3, Step 2 - Create BYOM engine version, Step 3 - Modify the instance

前提条件

開始する前に、以下の前提条件を満たしていることを確認してください:

  • AWS Identity and Access Management (IAM) プリンシパル (ロールまたはユーザー) に、AmazonRDSFullAccess (RDS オペレーション用の AWS マネージドポリシー) と、Amazon S3 で SQL Server インストールファイルの作成、アップロード、アクセスを行うための s3:GetObjects3:CreateBuckets3:PutObject 権限があること。
  • インストールファイルを保存するための S3 バケット。すべてのインストールファイルは、RDS インスタンスと同じ AWS リージョンの同じ S3 バケットに保存する必要があります。
  • 変換対象の License Included モデルの既存 RDS for SQL Server インスタンス。
  • 既存インスタンスのエンジンバージョンと一致する SQL Server インストールメディア (ISO ファイル)。

開始前の重要な考慮事項

  • BYOM から License Included への変換はサポートされていません。この変更は元に戻せないため、変換は慎重に計画してください。
  • BYOM エンジンバージョンはリージョンや AWS アカウント間で共有できません。ただし、インストールメディアは共有できます。BYOM を使用したいリージョンと AWS アカウントごとに BYOM エンジンバージョンを作成する必要があります。
  • BYOM は SQL Server 2019 および 2022 の Enterprise Edition と Standard Edition でサポートされています。
  • SQL Server Reporting Service (SSRS) または SQL Server Analysis Service (SSAS) を含むオプショングループは BYOM ではサポートされていません。
  • インスタンスが Multi-AZ に設定されている場合、変換はプライマリとスタンバイの両方のインスタンスに適用されます。
  • 変換中、インスタンスは modifying 状態になります。Multi-AZ インスタンスの場合、ローリングインプレース変換が実行され、まずスタンバイが変更され、その後フェイルオーバーが発生し (通常 30〜60 秒のフェイルオーバー時間)、旧プライマリが更新されます。Single-AZ インスタンスの場合、変換中にインスタンスがシャットダウンし、変換完了時に再起動します。本番ワークロードではメンテナンスウィンドウ中に変換をスケジュールしてください。
  • インスタンスにリードレプリカがある場合、変換前に削除し、変換後に再作成してください。新しいレプリカは自動的に BYOM ライセンスモデルを継承します。
  • 変換後、AWS を通じた SQL Server ライセンスの課金は停止します。Microsoft のライセンス契約への準拠を確認する責任はお客様にあります。
  • クロスリージョンリードレプリカを作成するには、先にターゲットリージョンで BYOM エンジンバージョンを作成する必要があります。
  • License Included から BYOM への変換の一部としてマイナーバージョンをアップグレードしたい場合、まずターゲットの上位マイナーバージョン用の BYOM エンジンバージョンを作成する必要があります。

ステップ 1: インストールファイルの準備とアップロード

開始するには、既存の RDS インスタンスで実行されているエンジンバージョンと一致する SQL Server インストールメディアファイルが必要です。これは Microsoft Volume Licensing Service Center (VLSC) または Visual Studio サブスクリプションから取得できます。

現在のエンジンバージョンの確認

まず、既存の License Included インスタンスのエンジンバージョンを確認します:

aws rds describe-db-instances \
  --db-instance-identifier my-li-instance \
  --query "DBInstances[0].{EngineVersion:EngineVersion,LicenseModel:LicenseModel}" \
  --region <your-region> \
  --output table
Bash

出力のサンプル :

AWS CLI table output showing the engine version and license model for the existing license-included RDS for SQL Server instance

S3 バケットを作成してインストールファイルをアップロードする

1.RDS インスタンスと同じリージョンに S3 バケットを作成します:

aws s3 mb s3://amzn-s3-demo-bucket --region <your-region>
Bash

2. SQL Server ISO ファイルをアップロードします (以下のメディアファイル名と S3 バケット名はご利用の環境に合わせて置き換えてください):

aws s3 cp \
  SW_DVD9_NTRL_SQL_Svr_Ent_Core_2022_64Bit_English_OEM_VL_X23-28404.ISO \
  s3://amzn-s3-demo-bucket/sqlserver-2022-ee/ \
  --region <your-region>
Bash

Terminal showing the SQL Server ISO file uploaded to the Amazon S3 bucket

クロスアカウント設定: 組織内のアカウント間でインストールメディアを共有する

複数の AWS アカウントを管理している場合、SQL Server インストールメディアを中央の S3 バケットに保存し、AWS Organization 内のすべてのアカウントからのアクセスを許可できます。これにより、各アカウントに同じ ISO ファイルを個別にアップロードする必要がなくなります。

中央の S3 バケットに以下のバケットポリシーを追加して、組織内のすべてのアカウントからのアクセスを許可します。Amazon S3 Console を使用したバケットポリシーの追加を参照してください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CrossAccountAccess",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::TARGET-ACCOUNT-ID:role/YOUR-IAM-ROLE"
      },
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET-NAME",
        "arn:aws:s3:::YOUR-BUCKET-NAME/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "o-xxxxxxxxxxxx"
        }
      }
    }
  ]
}
JSON

プレースホルダーを実際の値に置き換えてください : o-xxxxxxxxxxxx は AWS Organizations ID、TARGET-ACCOUNT-ID はアクセスが必要な AWS アカウント ID、YOUR-IAM-ROLE はインストールメディアへのアクセスに使用する IAM ロール、YOUR-BUCKET-NAME は S3 バケット名です。

各アカウントでは引き続き独自の BYOM エンジンバージョンを作成する必要がありますが (BYOM エンジンバージョンはアカウント間で共有できないため)、中央のバケットからインストールメディアを参照できます。

注意: S3 バケットは、BYOM エンジンバージョンを作成する RDS インスタンスと同じリージョンにある必要があります。

ステップ 2: BYOM エンジンバージョンの作成

Amazon RDS は BYOM エンジンバージョンを使用して、SQL Server インストールファイルを検証し、再利用可能なテンプレートとしてパッケージ化して登録します。BYOM エンジンバージョンは、既存インスタンスと同じエンジンバージョンを使用する必要があります。

AWS CLI を使用して BYOM エンジンバージョンを作成する

以下のコマンドを実行して、アップロードしたメディアファイルを使用して BYOM エンジンバージョンを作成します :

aws rds create-custom-db-engine-version \
  --engine sqlserver-ee \
  --engine-version 16.00.4225.2.v1 \
  --database-installation-files-s3-bucket amzn-s3-demo-bucket \
  --database-installation-files SW_DVD9_NTRL_SQL_Svr_Ent_Core_2022_64Bit_English_OEM_VL_X23-28404.ISO \
  --region <your-region>
Bash

以下のスクリーンショットが示すように RDS Console から BYOM エンジンバージョンを作成することもできます。

Amazon RDS console Create custom engine version page with the BYOM SQL Server installation media selected from the S3 bucket

BYOM エンジンバージョンの作成ステータスの監視

BYOM エンジンバージョンの作成には通常数分かかります。ステータスが available と表示されるまで監視します :

aws rds describe-db-engine-versions \
  --engine sqlserver-ee \
  --engine-version 16.00.4225.2.v1 \
  --include-all \
  --region <your-region> \
  --query "DBEngineVersions[?DBEngineVersionArn!=null].{Version:EngineVersion,Status:Status}" \
  --output table
Bash

出力のサンプル :

AWS CLI table output showing the BYOM engine version with available status

注意: ステータスが Validating/Creating から Available に変わるまで待ってから、ステップ 3 に進む必要があります。

Amazon RDS console showing the BYOM engine version with status Available

ステップ 3: インスタンスを License Included から BYOM に変換する

BYOM エンジンバージョンが available ステータスになったら、既存の License Included インスタンスを BYOM ライセンスモデルを使用するように変更できます。このオペレーションは、インスタンスの再作成やデータ移行を必要とせず、ライセンスモデルをインプレースで変更します。

インスタンスが Multi-AZ インスタンスの場合、ダウンタイムを最小化するためにローリングインプレース変換が実行されます。Single-AZ インスタンスの場合、ダウンタイムが必要です。メンテナンスウィンドウ中にこのタスクを実行することをお勧めします。

注意: BYOM から License Included への変換はサポートされていません。変換は慎重に計画してください。

AWS CLI を使用してインスタンスを変更する

aws rds modify-db-instance \
  --db-instance-identifier my-li-instance \
  --engine-version 16.00.4225.2.v1 \
  --license-model bring-your-own-media \
  --apply-immediately \
  --region <your-region>
Bash

以下のスクリーンショットが示すように、RDS Console からインスタンスを変更してライセンスモデルを変換することもできます。

Amazon RDS console Modify DB instance page with the BYOM engine version selected from the version drop-down

Amazon RDS console Modify DB instance page with the License model set to bring-your-own-media

注意: 選択した BYOM エンジンバージョンがインスタンスの現在のバージョンより高いマイナーバージョンの場合、RDS はマイナーバージョンアップグレードとライセンスモデルの変更を単一のオペレーションで実行します。

変換の確認

変更が完了したら、ライセンスモデルが変更されたことを確認します :

aws rds describe-db-instances \
  --db-instance-identifier my-li-instance \
  --query "DBInstances[0].{ID:DBInstanceIdentifier,Status:DBInstanceStatus,LicenseModel:LicenseModel,EngineVersion:EngineVersion}" \
  --output table \
  --region <your-region>
Bash

既存の DB インスタンスとライセンスモデルを一覧表示する

まだ License Included モデルを使用しているすべての SQL Server インスタンスを一覧表示するには :

aws rds describe-db-instances \
  --region <your-region> \
  --query "DBInstances[?starts_with(Engine,'sqlserver') && LicenseModel=='license-included'].{ID:DBInstanceIdentifier,Engine:Engine,License:LicenseModel,MultiAZ:MultiAZ,ReadReplica:ReadReplicaSourceDBInstanceIdentifier}" \
  --output table
Bash

ライセンス消費の追跡

AWS License Manager を使用して、RDS インスタンスのライセンス消費を追跡できます。ライセンス使用状況を有効化し追跡するには、以下の手順に従います :

ステップ 1: AWS License Manager をオンボーディングする

インスタンスを追跡するには、License Manager にアカウントのリソースインベントリを読み取る権限を付与するサービスリンクロールが必要です。以前に License Manager コンソールを開いて一度限りのセットアップを許可している場合、このロールはすでに存在するため、ステップ 2 に直接進めます。

初めての場合、AWS Management Console はサービスページにアクセスした時点で自動的にロールを作成します。または、AWS CLI を使用して明示的に作成できます :

aws iam create-service-linked-role --aws-service-name license-manager.amazonaws.com
Bash

ステップ 2: RDS BYOM インスタンス用のセルフマネージドライセンスを作成する

セルフマネージドライセンスは、License Manager に何を探し、どのようにカウントするかを指示します。Amazon RDS リソースで実行されている SQL Server を対象とし、カウント単位として vCPU を選択します。rds-byom-license-config.json という名前の JSON ファイルを作成し、以下の内容を記述します。この例は、Amazon RDS のセルフマネージドな SQL Server Enterprise Edition ライセンスを追跡します。SQL Server Standard Edition ライセンスを追跡するには、同様の JSON ファイルを作成し、ProductInformationFilterValue の値を sqlserver-se に変更します。

{
  "Name": "RDS-SQLServer-BYOM-EE",
  "Description": "Self-managed license for RDS SQL Server Enterprise Edition BYOM",
  "LicenseCountingType": "vCPU",
  "LicenseCountHardLimit": false,
  "ProductInformationList": [
    {
      "ResourceType": "RDS",
      "ProductInformationFilterList": [
        {
          "ProductInformationFilterName": "Engine Edition",
          "ProductInformationFilterValue": ["sqlserver-ee"],
          "ProductInformationFilterComparator": "EQUALS"
        }
      ]
    }
  ]
}
JSON

以下のコマンドを実行して、JSON ファイルを使用してライセンス構成を作成します。

aws license-manager create-license-configuration \
  --region <your-region> \
  --cli-input-json file://rds-byom-license-config.json
Bash

出力のサンプル :

AWS CLI table output showing the new license configuration with its ARN

出力に表示されるライセンス構成 ARN をメモしてください。次のステップで必要になります。

AWS License Manager コンソールからセルフマネージドライセンスに移動し、「セルフマネージドライセンスを作成」をクリックしてライセンス構成を作成することもできます。

AWS License Manager console Self-managed licenses page with the new RDS-SQLServer-BYOM-EE license listed

ステップ 3: RDS インスタンスが追跡されていることを確認する

ライセンス構成の設定が完了した後、BYOM インスタンスが検出、レポートされるまでに少し時間がかかります。以下のコマンドを使用して追跡リソースを確認できます :

aws license-manager list-usage-for-license-configuration \
  --region <your-region> \
  --license-configuration-arn <license-configuration-arn>
Bash

考慮事項

  • License Manager はリージョンごとに使用状況を追跡します。マルチリージョンの RDS BYOM デプロイメントでは、各リージョンで独立して License Manager を設定してください。
  • クロスリージョンリードレプリカは、レプリカが存在するリージョンの License Manager によって追跡されます。

クリーンアップ

不要な課金を避けるため、不要になったリソースをクリーンアップしてください。

  1. RDS インスタンスを削除します。
    aws rds delete-db-instance \
      --db-instance-identifier convert-li-to-byom-demo \
      --skip-final-snapshot \
      --region <your-region>
    Bash
  2. 関連するすべてのインスタンスとスナップショットが削除された後、BYOM エンジンバージョンを削除します。
    aws rds delete-custom-db-engine-version \
      --engine sqlserver-ee \
      --engine-version 16.00.4225.2.v1 \
      --region <your-region>
    Bash
  3. S3 バケットを削除します。
    aws s3 rb s3://amzn-s3-demo-bucket --force
    Bash
  4. ライセンス構成は、リソースがまだ関連付けられている間は削除できません。追跡対象の RDS BYOM インスタンスを先に削除する必要があります。
    aws license-manager delete-license-configuration \
      --region <your-region> \
      --license-configuration-arn <license-configuration-arn>
    Bash

まとめ

本記事では、既存の License Included の RDS for SQL Server インスタンスを Bring Your Own Media (BYOM) ライセンスモデルに変換する方法を説明しました。このプロセスでは、SQL Server インストールメディアを Amazon S3 にアップロードし、BYOM エンジンバージョンを作成し、既存インスタンスを新しいライセンスモデルを使用するように変更します。

AWS 上の SQL Server ライセンスコストを最適化したい場合、この変換は柔軟性を提供します。BYOM を通じて既存の Microsoft ライセンス契約を活用することで、自動バックアップ、パッチ適用、モニタリング、高可用性といった Amazon RDS のフルマネージドの利点を維持しながら、全体的なクラウド支出を削減できます。

Amazon RDS for SQL Server の BYOM の詳細については、Amazon RDS for SQL Server ドキュメントを参照してください。

翻訳はソリューションアーキテクトの Yoshinori Sawada が担当しました。原文はこちらです。


著者について

Mesgana Gormley

Mesgana Gormley

Mesgana は Amazon Web Services (AWS) の Worldwide Public Sector (WWPS) 部門に所属するシニアデータベーススペシャリストソリューションアーキテクトで、Amazon RDS チームと連携しています。AWS のお客様にテクニカルガイダンスを提供し、リレーショナルデータベースワークロードの AWS への移行、設計、デプロイ、最適化を支援することに注力しています。仕事以外では、旅行や家族・友人との時間を楽しんでいます。

Sudhir Amin

Sudhir Amin

Sudhir は Amazon Web Services のシニアデータベーススペシャリストソリューションアーキテクトです。ニューヨークを拠点とし、さまざまな業種のエンタープライズのお客様にアーキテクチャガイダンスとテクニカルアシスタンスを提供し、クラウド導入を加速しています。スヌーカー、ボクシングや UFC などの格闘技の大ファンで、世界で最も壮大な動物を間近で見られる野生動物保護区のある国への旅行を楽しんでいます。

Barry Ooi

Barry Ooi

Barry は AWS のシニアデータベーススペシャリストソリューションアーキテクトです。お客様の AWS ジャーニーの一環として、クラウドネイティブサービスを使用したデータプラットフォームの設計、構築、実装を専門としています。関心分野はデータ分析と可視化です。