Microsoft SQL Server をライセンス持ち込みでインストールする手順

SQL Server をAWSで構築したEC2インスタンスへ、ライセンス持ち込みを利用してインストールしようとした際に掛かった手順を紹介します。

# 免責事項

:::note warn
本記事の内容はライセンスに対する記述の正確さを保証しません。
本記事の内容に誤りがあり、それによりいかなる不利益を被った場合にも、一切の責任を負えないことを予めご了承ください。
また、ライセンスに関する正式な判断が必要になる場合は必ず Microsoft および AWS に確認してください。
:::

# まず初めに

通常、AWS EC2インスタンスでSQL Server を利用する場合、豊富に存在するSQL Server 込みのAMI を使ってインスタンスを起動することが一番手っ取り早く簡単です。
適当に検索しただけでも「SQL Server」を含むAMIは以下の画像のように沢山あることが分かります。

![SQL Server_AMI.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755487/97cdb78c-8040-355d-1da2-7a43df7cee4c.png)

では何故AMIを利用せず、ライセンス持ち込みをするかというと、やんごとなき理由があり、SQL Server が含まれないAMIを利用する必要があったためです。（SQL Server 以上に優先度が高く、AMI以外での導入方法が限られるサービスがあった）

# 利用までの手順

ライセンス持ち込みでインストールするSQL Server の利用までの手順を簡単にリストアップすると以下のようになります。

1. ライセンス持ち込みが出来るSQL Serverを購入
2. 起動したEC2 インスタンスへインストール
3. ライセンスモビリティの為の権利確認フォームを作成し、MSに承認される

この手順はMicrosoftから出されている [ソフトウェアアシュアランスによるライセンス モビリティ](https://www.microsoft.com/ja-jp/licensing/licensing-programs/software-assurance-license-mobility) に記載されている手順を簡略化して記載したものです。

## 1. ライセンス持ち込みができるSQL Serverを購入

まず手始めに、ライセンス持ち込みの為の条件をクリアしているSQL Server製品を購入することから始めましょう。
販売元はどこでも問題ないですが、ここでは一つの例として大塚商会のページを参照する形で紹介します。
参考： [Microsoft(マイクロソフト)製品 ソフトウェアの購入方法](https://www.otsuka-shokai.co.jp/products/microsoft/licensing/purchase/)

このページではMicrosoft製品のライセンス提供形態に複数種類があることが紹介されていますが、その提供形態によってライセンスの持ち込みが可能かどうかが分かれるので、注意して購入してください。

| ライセンス提供形態 | 特徴 | AWSへの持ち込み |
|:-:|:-:|:-:|
| License(ライセンス) | 特定バージョンのみの新規で購入するためのライセンス。将来バージョンアップしても、バージョンアップの権利は含まれていない。 | できない |
| Software Assuarance(ソフトウェアアシュアランス/SA) | 有効期間内のアップブレード権となる。 | できる |
| サブスクリプションライセンス(クラウド) | Microsoft 365、Office 365、Azureなどのオンラインサービスにアクセスするために必要なライセンス。 | できない |

サブスクリプションライセンスにはオンラインサービスにアクセスするために必要なライセンスと記載されており、いかにもAWS EC2インスタンスへ持ち込むのにふさわしそうに見えますが、ここではソフトウェアアシュアランス（SA）を取得している事が前提条件となるため、購入する製品にソフトウェアアシュアランスが含まれていることを十分に確認してください。

## 2. 起動したEC2インスタンスへインストール

従来の手順で起動したEC2インスタンスへRDP接続し、購入の際に取得したインストーラでSQL Server をインストールします。
この手順はローカルマシン等でも同様なので、割愛させていただきます。
参考：[SQL Serverのインストールガイド](https://learn.microsoft.com/ja-jp/sql/database-engine/install-windows/install-sql-server?view=sql-server-ver16)

## 3. ライセンスモビリティの為の権利確認フォームを作成し、MSに承認される

ライセンスの展開後、Microsoftの [ボリュームライセンス ドキュメント検索サイト](https://www.microsoft.com/licensing/docs/view/Forms?lang=1) にて、所定のドキュメントをダウンロードしてください。
（「Language」で「Japanese」を選んだ後、[Resource Name]リスト から[Micorosft License Mobility through SA License Verification Form] を選択）
![Licensing_Form.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755487/e5ccdacf-fbf0-bda6-648a-d88e5908bedd.png)

「マイクロソフト ソフトウェア アシュアランスによるライセンス モビリティ および RDS User Client Access License も拡張された権利確認フォーム」と書かれたドキュメントがダウンロードできましたら、記載されている記入方法に従って必要事項を記入し、マイクロソフトへ提出してください。

必要事項としては、以下になります。
* 会社情報（名称のみ、日・英併記）
* 購入したライセンスの情報（契約番号やライセンス認証番号などと、ソフトウェアアシュアランスの満了日）
* 認定モビリティパートナーの情報（今回の場合はAWS）（名称・WebサイトのURL・電子メールアドレス、日・英併記）
* 展開する製品情報（エディション・数量）

必要事項を記入したら、確認フォームに記載されているマイクロソフト地域オペレーション センターへ電子メールで送付してください。
マイクロソフトにて権利確認フォームを確認された後、認定モビリティパートナーと送信元に確認電子メールが送信され、ライセンスが有効となります。

# 最後に

短い内容となりましたが、SQL Serverのライセンス持ち込みに関して書きました。
AMIを利用して構築することができればそれが一番ですが、様々な条件の下やむを得ない状況も発生するかと思います。
今回はSQL Server をSAを利用してBYOL(Bring Your Own License)しましたが、AWSには Amazon RDS for SQL Server というRDB管理サービスもありますので、柔軟に選択することができればよいかと思います。

# 参考サイト

https://www.microsoft.com/ja-jp/licensing/licensing-programs/software-assurance-license-mobility

https://www.otsuka-shokai.co.jp/products/microsoft/licensing/purchase/

https://learn.microsoft.com/ja-jp/sql/database-engine/install-windows/install-sql-server?view=sql-server-ver16

https://www.microsoft.com/licensing/docs/view/Forms?lang=1