ブログ

AWS License Manager の新機能で SQL Server のライセンスを切り換えてみた

「AWS に自社システムを移行しよう!」と思い立つとき、システムが SQL Server を含んだシステムの場合、「SQL Server のライセンスはどうなるの?」という疑問が湧いてくるはずです。いくら調べても巷には “SAL” だの “SPLA” だのと抽象的なキーワードばかりが溢れ返っていますが、具体的なのは皆無です。「いや、だからどうすればいいねん!」という声が聞こえてきそうです。

こんなとき、License Manager の新機能、「ライセンスタイプの変換」が使えるかもしれません!

本ブログでは、巷に溢れ返っているライセンスの考え方についてはさらっと流し、中々情報が見つからない Microsoft SQL Server のライセンスにフォーカスして、私がオススメする “ライセンスの移行方法” をお伝えします!

  • AWS に移行したい
  • システムが SQL Server を含んでいる
  • SQL Server のライセンスはボリュームライセンスだ
  • SQL Server のライセンスは SA 付きだが、正直管理するのがめんどくさい
  • ライセンス管理から開放されたい

ひとつでも当てはまる方は、ぜひご覧ください。

AWS 上の Windows ライセンスの概要

AWS 上のライセンスってどうなってるん?

 例えば AWS にサーバーを新規構築するときは、ユーザが Windows Server のライセンスを個別に買うことはありません。なぜなら起動するイメージ(AMI と言います)にライセンスが含まれているからです(これをライセンス込みと言います)。それは SQL Server についても同じで、元々 SQL Server のライセンス込みのイメージからサーバーを起動するのが一般的です。

ライセンス料はどうなるん?

 ライセンス料はサーバーの月額費用に含まれるため、ユーザが意識する必要がありません。

ライセンスの裏側はどないなってるん?

 実はライセンス自体は AWS などのクラウド事業者が纏めて買っていて、それをユーザに提供しているのです(この形態を SPLA と言います)。これらはクラウド事業者が主体で管理するため、ユーザにとっては非常に楽です。

元々持っているライセンスは利用できないの?

 いえ、場合によっては利用できます。一般的に BYOL (Bring Your Own License) と言われる手法で、ライセンスの購入パターンによって決まります。

【利用できるパターン】

  • ライセンスが SA(ソフトウェア・アシュアランス)付き
  • 2019年 10月 1日より前に購入されたボリュームライセンス

【利用できないパターン】

  • 2019年 10月 1日より後に購入されたボリュームライセンス 

※詳しくは AWS 公式ドキュメント を参照ください

 SA 付きのライセンスであれば、例えば Microsoft 製品(SQL Server など)の場合は、Microsoft 社に申請を行い、承認されたら次に AWS へ申請をして、承認されたら晴れてサーバーを起動できます。

 BYOL の具体的な手順やフローについては、本ブログでは触れません。

AWS にサーバーを移行! SQL Server のライセンスはどうなる?

 AWS にサーバーを移行する場合のベストプラクティスとして、“6つのR” が挙げられますが、概念ではわかりにくいのでその一部を具体的に書くと、次のようになります。

パターン1

 AWS Application Migration Service (AWS MGN) や AWS Server Migration Service (AWS SMS) などの移行ツールで自動化された移行

パターン2

 AWS 側でサーバーを新規構築後、ミドルウェアやアプリケーションを移行

パターン3

 AWS RDS などのマネージド・サービスへ移行

 上記のどれを選択するのかは、プロジェクト要件(システムのバージョンアップなど)によって変わってきますが、現行システムをそのままクラウドに Rehost(リフト・アンド・シフトとも言う)したいということであれば、パターン1が最適と思います。

 さて、パターン1ではツールで現サーバーのイメージを復元するようなかたちになります。ではパターン1の場合、ライセンスってどうなるか知っている方はいらっしゃるでしょうか?

 私も当初は分からず、非常に困りました。特に困ったのが SQL Server のことで、調べても一切出てこないんですよね。

 答えは “移行後に BYOL かライセンス込みか切り替える” でした。

 移行時には SQL Server をライセンス込みにするか BYOL にするかを選択することはできません(OSは左記選択できます)。

 移行後、AWS 上のサーバーは属性として以下のような値を持つことになります。

<ライセンスタイプの表>
プラットフォーム詳細ライセンスタイプID
Windows Server ライセンス込みRunInstances:0002
Windows Server BYOLRunInstances:0800
Windows Server 及び SQL Server Standard ライセンス込みRunInstances:0006
Windows Server 及び SQL Server Enterprise ライセンス込みRunInstances:0102
Windows Server 及び SQL Server Web ライセンス込みRunInstances:0202
Windows Server ライセンス込み + SQL Server(全エディション)BYOLRunInstances:0002
Windows Server  及び  SQL Server(全エディション)BYOLRunInstances:0800

 移行直後は SQL Server は考慮されないため、上記表で言うと “Windows Server ライセンス込み” か “Windows Server BYOL” になります。

 そこで AWS License Manager の出番です。License Manager を用いて SQL Server のタイプ変換を行うことにより、ライセンス込みあるいは BYOL として SQL Server が利用可能になります。

 「そもそも対応したライセンスを持っていない」や「ライセンス管理はもうしたくない」という場合は、SQL Server のライセンス込みのタイプに変換してしまいましょう。

 「最初は BYOL で自社ライセンスを有効活用したい」という場合、そちらも可能です。その後、有効活用した後にライセンス込みに変換する選択肢もあります。

 前置きが長くなりました。ではやってみましょう!

AWS License Manager で SQL Server のライセンスを切り換え(今回の前提)

 それでは手順を公開しますが、その前に今回の前提をお伝えします。

 既にサーバーを移行しているものとし、「Windows Server ライセンス込み」の状態です。

 手順では「Windows Server ライセンス込み」から「Windows Server 及び SQL Server Enterprise ライセンス込み」に変換しています。

 他にも「Windows Server BYOL」→「Windows Server ライセンス込み」やその逆パターンも可能です。

※変換パターンによっては制限や注意点がありますので、以下の AWS 公式ドキュメントをご参照ください。
AWS License Manager ユーザーガイド | ライセンスタイプを変換する

制限事項

 現在の制限事項を以下に抜粋します。変わる場合がありますので、公式ドキュメントを必ずチェックするようにしてください。

(以下、抜粋)

  • Amazon EC2 インスタンスは、独自の仮想マシン(VM)イメージから起動する必要があります。
  • ライセンス込みの SQL Server は、専用ホストで実行できません。
  • SQL Server インスタンスに含まれるライセンスには、少なくとも 4 つの vCPUs が必要です。

必須条件

 以下の必須要件がありますが、手順の中でクリアされていくものばかりですので、参考程度にご確認ください。

(以下、抜粋)

  • あなたの AWS アカウントを License Manager にオンボーディングする必要があります。「AWS License Manager の開始方法」を参照してください。
  • ライセンスタイプを変換する前に、ターゲットインスタンスが停止状態になっている必要があります。ライセンス変換タスクが進行中の場合、ターゲットインスタンスを開始および停止できます。
  • ターゲットインスタンスは、AWS Systems Manager インベントリには、以下のアクセス許可が含まれます。

AWS License Manager で SQL Server のライセンスを切り換えてみた(今回の手順)

1.AWS License Manager を開いてみよう

作業の目的:
AWS License Manager を使える状態にするのが目的です。

※これが前述の「オンボーディング」になると思われます。

① ライセンスマネージャーのコンソールに入ります。権限やら何やら求められますが、とりあえずすべて承諾します。

URL:https://ap-northeast-1.console.aws.amazon.com/license-manager/

② コンソールに入れたら、一旦 License Manager での作業を終了し、次の「サーバー側の作業」に移ります。

2.サーバー側の作業

作業の目的:
AWS License Manager は AWS System Manager インベントリに収集された情報を利用しています。インベントリにはOS種別や SQL Server のバージョン情報などが集約されています。そのため、EC2 自身に AWS System Manager エージェントをインストールしたり、EC2 から AWS System Manager に情報を送信する権限を持たせるためのロールをアタッチする必要があります。

① 対象の EC2 の Windows にログインし、下記URLにアクセスすると System Manager  エージェントのインストーラーがダウンロードされます。

URL:https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe

② インストーラをダブルクリックするとウィザードが起動するので、「I agree 〜」にチェックを入れて[Install]をクリックしインストールします。

③ 次は AWS コンソール画面から以下のポリシーが含まれた EC2 用のロールを作成して EC2 にアタッチします。サーバー側はこれでひとまず準備完了です。

 ポリシー:AmazonSSMManagedInstanceCore

3.AWS System Manager の作業

作業の目的:
EC2 の情報を入れる器、System Manager のインベントリに関する設定を行います。これを行うことで EC2 から情報を受け取ることが可能になり、AWS License Manager が適切な情報を読み取ることが可能になって、ライセンスタイプの変換が可能になります。

※例えば SQL Server にはバージョンが色々ありますが、サーバーにどのバージョンが入っているかを License Manager が知る必要があります。

① AWS System Manager からインベントリを選択し「セットアップインベントリ」をクリックして必要事項を入力し、インベントリを作成します。
基本デフォルトでOKです。ターゲットだけ以下の画像のようになっていることを確認してください。

② AWS System Manager からフリートマネージャーを選択し、一覧に該当 EC2 が表示されるまで待ちます(初回利用時は「開始方法」ボタンが表示されるので押下して進めます)。

表示されれば完了です。

※一覧に載っているキャプチャを撮り忘れてしまいましたが、下記画像の画面で一覧に表示されるはずです

4.EC2 の作業

AWS License Manager 側でライセンスタイプ変換対象として認識させるために、 EC2 のコンソール画面にて対象 EC2 を停止します(終了ではないですよ!!)。

この時に、現ライセンスタイプを確認しておいてください。

5.AWS License Manager の作業

作業の目的:
ようやくライセンスタイプの変換作業が行えます。このステップで「Windows ライセンス込み」を「Windows 及び SQL Server ライセンス込み」に変換します。

① AWS License Manager コンソールから「ライセンスタイプの変換タスク」をクリックし、「ライセンスタイプの変換タスクを作成」をクリックします。

② 対象のインスタンスが表示されるので選択し、「次へ」をクリックします。

③ 変換後のライセンスを選択し「次へ」をクリックします。

※前述した <ライセンスタイプの表> を参照ください

④ 最終確認し、「変換を開始」をクリックします。

⑤ 変換タスクの状況が表示されます。「成功」と表示されるまで待ちます。

⑥ EC2 コンソール画面にて該当 EC2 のライセンスタイプが変換されているか確認します。

以上です。

公式ドキュメントによると、「Windows Server を自動的にアクティブ化し SQL Server のプロダクトキーは保持される」とのことですので、追加でプロダクトキーの変換が必要になってきます(ライセンス込み → BYOL の場合は KMS サーバーあたりの再設定が必要)。

変換方法は既存 SQL Server の再インストールが必要になってきますが、インストーラは AWS の SQL Server 込みの AMI イメージに含まれているインストーラを取得する必要がありますので、一旦イメージを起動するなどして取得しましょう。再インストール前にデータベースのバックアップの取得をすることをお忘れなく。

SQL Server の再インストールを伴い、かなり大変になってしまいますので、ライセンス変換を行うか、新規構築してデータ移行を行うかは迷うところではありますが、労力を比較してご選択いただけたらと思います。

※プロダクトキーに関する記載に不正確な情報があったため、一部内容を訂正しました。

元記事発行日: 2022年05月19日、最終更新日: 2024年02月28日