【AWSにおけるSPLA利用制限への対応策】AWS License ManagerでMicrosoft Remote Desktop Services (RDS)をユーザーベースのサブスクリプション形式で購入できるようになった

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

これまでの背景

マイクロソフトは、2022年10月のライセンス変更により、特定のクラウドプロバイダーのデータセンターでのSPLAライセンスの使用を制限することを発表しました。 これにより、AWSなどのクラウド環境でのSPLAライセンスの利用が2025年9月30日までに制限されることとなります。 この情報は、AWSの公式FAQページ「AWS と Microsoft に関するよくある質問」にも記載されています。

aws.amazon.com

AWS では多くのお客様およびパートナーが、ライセンスに関して独自の SPLA を利用しています。AWS のお客様は、ソフトウェアサービスをサードパーティーに提供するシナリオにおいて独自の SPLA を使用できます。 ・・・(中略) ・・・ Microsoft の 2022 年 10 月のライセンス変更により、サービスプロバイダーは 2025 年 9 月 30 日までしか AWS 上で独自の SPLA を使用することができません。それ以降は、これらのお客様は、最新化するか、AWS ライセンス付き製品に移行する必要があります。

今までは4つの選択肢しかありませんでした。

  • SPLA の対象とならない製品に移行する
  • Listed Provider が直接ライセンス提供する Microsoft 製品やサービスへ移行する
  • Microsoft ライセンスを AWS へ BYOL する方式へ移行する
  • Microsoft の定める Listed Provider 以外のコンピューティングサービスへ移行する

これまでの対策方法について詳しくは下記の記事をご参照ください。

blog.serverworks.co.jp

簡単に説明しますと、EC2上に SPLA で導入した Microsoft Officeの場合、Microsoft Office ライセンス入り AMI からローンチする 手段(=EC2の再構築)があります。

Microsoft Office ライセンス入り AMIの構築について詳しくは下記の記事をご参照ください。

blog.serverworks.co.jp

aws.amazon.com

なお、他の対策としてはMS Office付きのAmazon WorkSpacesバンドルの利用 または オンデマンドで各WorkSpacesに追加でMS Officeをインストールするという方法もあります。

オンデマンドで各WorkSpacesに追加でMS Officeをインストールする方法について詳しくは下記の記事をご参照ください。

blog.serverworks.co.jp

未解決SPLA RDS SALの問題

上記に記載した対策方法がありますので、EC2上にあるSPLAの問題は解決できると思いますが、以下の問題についての対策方法が2024年11月14日までありませんでした。

  • RD ライセンスサーバーがなかったため、1つのEC2インスタンスに3人以上で接続できませんでした。
  • RDS SALは単体での購入不可でした(Microsoft Office Professional Plus / Visual Studioの購入セット)。

RDS SALを単体でサブスクリプション形式での購入が可能になった (2024年11月14日から)

2024年11月14日のアップデートにより、AWS License ManagerでMicrosoft Remote Desktop Services (RDS)の単体をユーザーベースのサブスクリプション形式で購入できるようになりました。

aws.amazon.com

AWS License ManagerがマネージドなRD ライセンスサーバーを提供するようになったため、3名以上での接続が可能になりました (GPOで利用者が指定可能)。

Win Remote Desktop Services SALのサブスクリプション料金は、1人あたり月額10 USDです。最新の情報については、サブスクリプションページ をご確認ください。

イメージ図

構築対象図

前提条件

  • RDS SALのみ利用する場合、セルフホストするMicrosoft ADもしくはAWS Managed Microsoft ADが必須
  • Microsoft Visual StudioやMicrosoft Officeを併用する場合、AWS Managed Microsoft ADが必須
  • VPCのDNS:エンドポイントが利用されるため、「DNS 解決」及び「DNS ホスト名」の有効化が必須
  • 対象OS:
    ■Windows Server 2016
    ■Windows Server 2019
    ■Windows Server 2022
    ■Windows Server 2025→まだサポートされていない
  • Secrets Managerが必須
  • AWSがMS RDライセンスサーバーを作成するため、AWS専用ADユーザーに以下の権限が必須
    ■Active Directory ドメイン内でのOU作成
    ■作成された OU 内でドメイン参加インスタンス (以下、コンピューター) の追加
    ■「Terminal servers group」グループへのコンピューターの追加
    ■ライセンスサーバーレポートを生成するために、「Active Directory ドメイン」と「Terminal Server license server」内のユーザーオブジェクトに対する委任された読み取り・書き込み

docs.aws.amazon.com

QA

■ Q1. 既存ADサーバーを使えますか?
■ A1. 使えます。

■ Q2. EC2の再構築が必要ですか?
■ A2. SPLA対象としてRDS SALのみの場合再構築は不要で、Microsoft Officeの場合MS Office付きのAMIから展開する必要があるため、EC2の再構築が必要です。

■ Q3. RDS SALライセンス料の他にも料金が発生しますか?
■ A3. AWS Secret Managerの料金が発生します。

料金詳細は以下の記事をご参照ください。 aws.amazon.com

※既存のAWS Managed AD / セルフマネージドAD (EC2)がない場合、AWS Managed AD / セルフマネージドAD (EC2 2台分〜)の追加料金も発生します。

環境構築

VPCのDNS設定の有効化

既存のVPCで「DNS 解決」及び「DNS ホスト名」が有効になっていることをご確認ください。

「DNS 解決」及び「DNS ホスト名」の有効化手順:

docs.aws.amazon.com

MS AD 構築

セルフマネージドMicrosoft AD (EC2) の場合:

blog.serverworks.co.jp

blog.serverworks.co.jp

blog.serverworks.co.jp

AWS Managed Microsoft ADの場合:

docs.aws.amazon.com

注意点:

blog.serverworks.co.jp

blog.serverworks.co.jp

AWS Secrets Managerのシークレット作成

[サービス] > [AWS Secrets Manager]を開きます。

以下の画面で、必要な権限を持っているAWS専用ADユーザーの認証情報(username / password)を入力します。

必要な権限についてはこの記事の「前提条件」の項目もしくは下記のAWSドキュメント (Microsoft Remote Desktop Servicesの項目) をご参照ください。権限設定手順は割愛しますので、設定方法については社内AD管理者にお問い合わせください。

docs.aws.amazon.com

下記の画面で、下記のAWSドキュメントの「Administrative credentials secret」項目に従い、「シークレットの名前」は「license-manager-user-」から始まる必要がありますのでご注意ください。

Important
To use the secret, License Manager depends on the exact key names that are specified, and a secret name that begins with the following prefix license-manager-user-. docs.aws.amazon.com

上記の手順通りシークレットを作成すると下記の結果が出ます。

対象シークレット内容を確認します。

AWS License Manager

この作業項目には30分程度の待機時間が発生します。

[サービス] > [AWS License Manager] > [ユーザーベースのサブスクリプション]を開きます。

[リモートデスクトップサービス (RDS)] > [AWS Marketplace でサブスクライブ]をクリックします。

一番下へスクロールし、[Subscribe]をクリックします。

下記のメッセージが表示されます。

「Set your account」をクリックすると、「ユーザーベースのサブスクリプション: 製品」 の画面が表示され、「Microsoft Remote Desktop Services (RDS)」の「Marketplace サブスクリプションのステータス」が「アクティブ」になります。

[AWS License Manager] > [設定: ユーザーベースのサブスクリプション]に戻ります。

[Active Directory を登録]をクリックします。

AWS マネジメントActive Directoryの場合

セルフマネジメント Active Directoryの場合

適切なVPC、サブネット、シークレット※1を選んだら[登録]をクリックします。

※1 シークレット用途:

Microsoft リモートデスクトップサービス (RDS) ライセンスサーバーの管理用の認証情報は、AWS Secrets Manager に保存されます。License Manager は、Microsoft RDS ライセンスサーバーエンドポイントをプロビジョニングするダウンロード可能なスクリプトを実行するために、関連付けられたシークレットを使用します。

必要なADユーザーの権限についてはこの記事の「前提条件」の項目もしくは下記の記事 (Microsoft Remote Desktop Servicesの項目) をご参照ください。

docs.aws.amazon.com

10分程度待機すると、「Active Directory のステータス」が「登録中」から「登録済み」に変わります。

私の理解では、この時点から、AWSが管理する環境内で、冗長構成のWindows Serverが作成され、RD Licensing Serverとして設定されます。このサーバーは、構築されたエンドポイント(Elastic Network Interface、以下ENI)を介して利用者のVPCに接続されます。

その後、[RDS ライセンスサーバーを設定]をクリックします。

「ライセンスサーバーエンドポイントのステータス」が「プロビジョニング中」から「プロビジョニング済み」に変わるまで15分〜程度かかります。

作業内容の確認及び項目解説

AWS License Manager

[ユーザーベースのサブスクリプション]を確認します。

Active Directory IDをクリックします。

下記の画面で以前登録したADを解除することができます。

ライセンスサーバーエンドポイント IDをクリックします。

ENI

上記のステップで構築されたENIには、下記のセキュリティグループが自動的に作成され、アタッチされます。

  • インバウンドルール
タイプ プロトコル ポート範囲 ソース
DNS (UDP) UDP 53 0.0.0.0/0
カスタム UDP UDP 389 0.0.0.0/0
LDAP TCP 389 0.0.0.0/0
SMB TCP 445 0.0.0.0/0
カスタム TCP TCP 135 0.0.0.0/0
カスタム TCP TCP 40000 - 65535 0.0.0.0/0
カスタム TCP TCP 88 0.0.0.0/0
カスタム TCP TCP 636 0.0.0.0/0
カスタム UDP UDP 123 0.0.0.0/0
カスタム TCP TCP 464 0.0.0.0/0
カスタム UDP UDP 445 0.0.0.0/0
カスタム UDP UDP 138 0.0.0.0/0
カスタム UDP UDP 464 0.0.0.0/0
カスタム UDP UDP 88 0.0.0.0/0
カスタム TCP TCP 3268 - 3269 0.0.0.0/0
DNS (TCP) TCP 53 0.0.0.0/0
カスタム TCP TCP 9389 0.0.0.0/0
カスタム TCP TCP 139 0.0.0.0/0

  • アウトバウンドルール
タイプ プロトコル ポート範囲 ソース
すべてのトラフィック すべて すべて 0.0.0.0/0

ユーザーのサブスクリプションの追加

ユーザーに対してMicrosoft Remote Desktop Services (RDS)をサブスクライブします。

対象ADユーザー名の情報を入力し、[次へ]をクリックします。

[進行中/サブスクライブ中]から[完了しました/サブスクライブ済み]に変わるまで待機します。処理時間は5分程度です。

下記の画面の通り、サブスクライブしたユーザー情報を確認することができます。

サブスクライブ状態になったら、下記のステータスになります。

Remote Desktop Session Host (RDSH) の設定

イメージ図

RD License Server (Remote Desktop Licensing) は上記のステップ(「AWS License Manager」の項目)で設定したので、残りは Remote Desktop Session Host (RDSH) のインストールと設定です。今回の目的は3人以上でRemote Desktop経由で同じサーバーに接続することなので(SPLA RDS SAL問題の解決方法)、Remote Desktop Servicesのフルインストール(Connection Broker, Remote Desktop Web Access, RDS Gateway, Virtualization Host > RemoteApp / VDI 機能)は不要です。

サービス名 説明 設定内容
Remote Desktop License AWS License Managerにて設定済み AWS License Managerの項目
Remote Desktop Session Host 今からインストールする 必須。RDSセッションの実行役割。ユーザーがリモートデスクトップに接続するために必要。
Remote Desktop Connection Broker RDSに関する集中管理をするため、スキップ 不要。集中管理が不要な場合は省略。
Remote Desktop Web Access RemoteApp / VDIのWEBポータルを提供するため、スキップ 不要。Webポータルが必要ない場合は省略。
Remote Desktop Gateway インターネット越しにRDP接続したい場合、使用するゲートウェイ及びリバプロキシサーバーのため、スキップ 不要。インターネット越しのRDP接続が不要な場合は省略。
Remote Desktop Virtualization Host VDI機能のため、スキップ 不要。VDIが必要ない場合は省略。

RDSHのインストール

Install-WindowsFeature -Name RDS-RD-Server –IncludeManagementTools

Get-WindowsFeature -Name RDS* | Where installed

Restart-Computer

再起動後確認すると「Installed」になっています。

グループポリシーでのライセンスサーバー及びモード指定

3人以上で接続できるようにするため、グループポリシー(以下、GPO)を設定する必要があります。

AWS Managed ADの場合、「LicenseManager Policy」というGPOが存在していますが、 セルフ管理ADの場合、オンプレミスのWindows Serverのように自分でGPOを設定する必要があります。

RDSH(Local GPO)もしくはADサーバー(GPO)のどちらかでGPOを設定する必要があります。AWS公式ページを確認したら、明示的な指定がなく、どちらの方法も記載されていますので、便利な方を選んで頂ければと思います。私の環境では、どちらも検証し、成功しました。

You must have created a license server in your environment. To create a license server, see Step 3: Configure RDS license server.

  1. The tool that you use to configure your GPO depends on where you run it from, as follows:

Central configuration from your domain controller Log into your Active Directory domain controller as an administrator, and open the Windows Group Policy Management Console.

Configure group policy on the session host Log into your License Server as an administrator, and open the Local Group Policy Editor. docs.aws.amazon.com

RDライセンスサーバーを指定する前に、RDライセンスサーバーの名前がIPアドレスに解決できるかを確認します。

PS C:\Users\Administrator.TEST> nslookup <Microsoft RDS ライセンスサーバーエンドポイント>

結果:

Server:  ip-XX-XXX-XX-233.ap-northeast-1.compute.internal
Address:  XXX.233

Non-authoritative answer:
Name:    XXX-XXX.license-manager-user-subscriptions-license-server.amazon.com
Address:  XX.XX.XX.121

PS C:\Users\Administrator.TEST>

エンドポイント(ENI)のIPが表示されたので、問題ありません。

変更前の状態ですとRD Licensing Diagnoserの画面は下記の通りになります。

lsdiag.msc

120日のトライアル期間が表示され、ライセンスが設定されていない状態のため、さまざまな警告が表示され、ライセンス数は0となっています。

ポリシー設定に当たって下記の情報を設定します。

  • 使用するライセンスサーバー:Microsoft RDS ライセンスサーバーエンドポイント

  • RD セッション ホストのライセンス モードを指定する:接続ユーザー数

  1. From the management console or policy editor, edit the group policy to specify the session hosts that connect through Microsoft RDS. You can find the endpoint address for your RDS License Server in the License Manager product details page, or with the list-license-server-endpoints command in the AWS CLI.
  2. Set the licensing mode for the Remote Desktop Session Host to Per User, and save. docs.aws.amazon.com

GPOの適用を早めるためにgpupdateしてlsdiagを実行します。

変更後の状態ですとRD Licensing Diagnoserの画面は下記の画面に変わります。

運用上のポイント

ユーザーのサブスクリプション管理

不要になったユーザーのサブスクリプションは適宜解除し、コストを最適化しましょう。定期的にユーザーリストを確認し、アクティブでないユーザーを削除することで無駄な費用を抑えることができます。

ADユーザーの権限管理

AWS専用のADユーザーには特定の権限が必要ですが、過剰な権限を与えないように注意が必要です。必要最小限の権限を付与し、セキュリティリスクを低減します。

ライセンスの適切な利用

マイクロソフトのライセンス規約に準拠していることを定期的に確認しましょう。特に、オンプレミス環境でSALを使用しない、AWS上でCALを使用しない/オンプレミス上でSALを使用しないなど、規約違反にならないよう注意が必要です。技術的にインストールできてしまいますので、ご注意ください。

まとめ

本記事では、これまで解決策がなかったSPLA RDS SALの問題と、その具体的な設定手順について詳しく解説しました。従来、AWS上ではRDライセンスサーバーが存在しなかったため、1つのEC2インスタンスに3人以上での同時接続が不可能であり、RDS SALも単体での購入ができないという制約がありました。

しかし、2024年11月14日から、AWS License Managerを使用してMicrosoft Remote Desktop Services (RDS)のサブスクリプションを単体で購入できるようになり、AWSがマネージドなRDライセンスサーバーを提供することで、この問題は解決されました。これにより、3名以上での同時接続が可能になり、ライセンスサーバーの構築や管理の手間も省けます。

AWS License Managerを用いたRDS SALの購入手順から、必要な前提条件の設定、AWS Secrets Managerでのシークレット作成、ユーザーのサブスクリプション追加、そしてRemote Desktop Session Host (RDSH) のインストールとグループポリシー設定まで、詳細な手順をステップバイステップで紹介しましたがいかがでしたでしょうか。

以上、御一読ありがとうございました。

本田 イーゴリ (記事一覧)

カスタマーサクセス部

・2024 Japan AWS Top Engineers (Security)
・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE

趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽