AWS License ManagerでMicrosoft リモートデスクトップサービスを利用する際に必要なインスタンスプロファイルについて

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

今回はAWS License ManagerでMicrosoft リモートデスクトップサービスを利用する際、Systems Managerなどのインスタンスプロファイルが必要かどうかを検証しました。

はじめに

CR課の喜多です。
2024年11月14日のアップデートにて、Microsoft リモートデスクトップサービス(以下RDS)のユーザーベースのサブスクリプションを利用可能になりました。

aws.amazon.com

アップデートの背景や、実際の構築手順は、以下のブログが詳しいので、ぜひご一読ください。

blog.serverworks.co.jp

以前私も以下のブログにて、Micorsoft Office製品がインストールされたEC2に、3人以上リモートデスクトップして作業できる環境を作りました。

blog.serverworks.co.jp

今回は、RDS単独(Office製品などがない環境)で利用しているEC2に、Systems Managerなどのインスタンスプロファイルが必要かどうか検証しました。

検証のきっかけ

Micorsoft Office製品がインストールされたEC2を構築する際は、以下の許可ポリシーがアタッチされたIAMインスタンスプロファイルが必須でした。

  • AmazonSSMManagedInstanceCore または AmazonSSMManagedEC2InstanceDefaultPolicy
  • AWSMarketplaceMeteringFullAccess

これは、EC2のドメインへの参加、OS の強化、付属製品へのアクセス監査などのために、Run Commandを利用しているため、と以前のブログで確認したのですが、RDS単独で利用しているEC2においてはどのような権限が必要か、ニーズよっては最小権限で構築したいというお客さまもいるのでは?ということで検証してみることにしました。

忙しい方向けの結論

結論を先に書きますとSystems Managerをはじめとするインスタンスプロファイルの適用は不要です。
以下に検証環境を構築していきます。

今回作成した構成

検証環境の構築

VPCなどの準備

EC2を立ち上げるためのVPC、サブネット、Internet Gatewayを準備ください。
今回はSSM無しで検証したかったので、インターネット接続可能なパブリックサブネットに踏み台サーバーを構築し、踏み台サーバー経由でインターネット接続不可のリモートデスクトップホストに接続する構成としました。

Active Directoryの準備

AWSのサブネットからドメイン参加できる環境とリモートデスクトップ接続するユーザーをご用意ください。
今回は同一サブネットにセルフマネージドなActive Directoryサーバを用意しました。

AWS Secrets Manager シークレットの登録

RDS license serverでユーザー管理を行うための管理ユーザーの認証情報を、事前にAWS Secrets Manager シークレットに登録する必要があります。
なお、この管理ユーザーは以下の権限が必要となります。

  • Active Directoryドメインの下にOUを作成できる
  • 作成されたOU内にインスタンスを追加できる
  • Active Directory ドメイン内のターミナルサーバーグループにコンピューターオブジェクトを追加できる
  • ライセンスサーバーレポートを作成するため、Active Directoryドメイン内のユーザーオブジェクトにターミナルサーバー ライセンスサーバーの読み取りと書き込みの制御を委任されている

また、シークレットの名称がlicense-manager-user-で始まる必要がある、キーの名称が指定されているなど、条件が細かいので、実際に登録される際には、一度以下リンクのAWSユーザーガイドを一読し、前提条件をご確認ください。
管理ユーザーの権限についてはMicrosoft Remote Desktop Servicesの項目に、シークレットの登録の前提条件についてはAdministrative credentials secretの項目に記載があります。

docs.aws.amazon.com

では、登録していきましょう。

新しいシークレットを保存する を選択

その他のシークレットのタイプ を選択し、管理ユーザーの情報を「username」「password」キーに入力

シークレットの名前は「license-manager-user-」で始まる必要があります

ローテーションの設定など、その他はデフォルトのままシークレットを作成

登録完了しました

AWS Marketplaceにてソフトウェアのサブスクライブ

AWSアカウントにサインインした状態で、AWS Marketplaceの以下の製品をサブスクライブします。

View purchase optionから利用規約に合意してサブスクライブ

License Managerで確認すると以下の開始方法が表示されます

AWS License ManagerにてActive Directoryを登録

AWS License ManagerにてActive Directoryを登録します。今回はセルフマネージドActive Directoryを登録しましたが、AWSマネージドActive Directoryでも手順は同様です。

Active Directory を登録をクリックして開始

ドメイン名およびADサーバのIPを指定

ライセンスを適用するRDP先のVPC、サブネットを指定 シークレットは先ほど登録したシークレットを指定

登録操作から10分程度で登録が完了します

AWS License ManagerにてRDSライセンスサーバーを設定

AWS License Manageの同じ画面から引き続き、ステップ 2: Active DirectoryのためにMicrosoft RDSライセンスサーバーを設定 を行います。

Microsoft RDS ライセンスサーバーを設定をクリックして開始

シークレットは先ほど登録したシークレットを指定

こちらも登録操作から10分程度で登録が完了します

AWS License Managerにてユーザーをサブスクライブ

AWS License Manageの同じ画面から引き続き、ステップ 3: ユーザーをサブスクライブ を行います。

ユーザーをサブスクライブをクリックして開始

リモートデスクトップを行うユーザーを入力

この画面は何もせずにサブスクライブをクリック この作業は次工程で実施します

サブスクライブから10分程度で登録が完了します

セッションホストのグループポリシーを編集

改めてこちらの作業を行っていきます。

詳細についてはドキュメントを表示 とありますがリンクが機能していません。こちらのAWSのユーザーガイドを指しているものと思われます。

docs.aws.amazon.com

この中のMicrosoft Learnのリンクを参考にセッションホストのポリシーを設定していきます。 learn.microsoft.com

以下、セッションホスト(リモートデスクトップ先のサーバ)にて作業を実施します。

ローカルグループポリシーエディターを起動

指定のリモートデスクトップライセンスサーバーを使用する を編集

使用するライセンスサーバーにライセンスサーバーエンドポイントを指定して有効化

ライセンスサーバーエンドポイントはこちらから確認が可能です

続いて、リモートデスクトップライセンスモードの設定を編集

ライセンスモードを接続ユーザー数にして有効化

結果

以上で環境構築は完了です。サブスクライブしたユーザーでリモートデスクトップ接続してみましょう。

できました!
あらためてインスタンスを確認しますと、IAMロールは以下の通り何も適用されていない状態です。

おわりに

AWS License ManagerでMicrosoft リモートデスクトップサービスを利用する際に必要なインスタンスプロファイルについて検証しました。
今リモートデスクトップ接続が必要なEC2環境をお持ちでしたら、特に追加の権限も必要なく、今の環境を大きく変えずに3 つ以上のユーザーセッションを同時に使用できるようになったのは改めてメリットだと感じます。

本記事がどなたかのお役に立てば幸いです。