Office on EC2
2024 年 11 月 14 日にアップデートがあり、AWS がリモートデスクトップを行うための RDS SAL を直接提供できるようになりました。これに関連して、AWS が提供する Office がインストール済みの EC2 インスタンス (Office on EC2) でも、リモートデスクトップの同時接続数が制限なしに緩和しました。いままで同時接続数が 2 までだったので、コスト面や利便性が向上した形です。
今回は、Office on EC2 の構築をしてみます。
制限事項
環境を構築してみて感じた制限事項を羅列します。日々のアップデートによって緩和する可能性があり、もしかしたら最新情報と異なる可能性があり、適宜確認してください。
-
AWS のマネージドサービスとして提供している Microsoft AD が必要
- 既に EC2 やオンプレミスなどで独自の Active Directory を動かしている場合は、Microsoft AD を新規に構築して、双方向の信頼関係を結ぶ必要がある。これにより、独自の Active Directory 上のユーザーが Office on EC2 のインスタンスにリモートデスクトップが可能になる。
-
Office on EC2 で提供している Windows Server の OS は、2024 年 12 月時点で以下の 3 種類
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
-
Microsoft Office のバージョンは、Microsoft Office LTSC Professional Plus 2021 のみ
- Word, Excel, PowerPoint, Outlook, Access, Publisher などがインストールされている
-
管理者権限は、Microsoft AD 上の admin ユーザーでのみ利用可能
- 一般ユーザーが管理者権限を取得すると、admin ユーザーの ID とパスワードの入力を求められる
- admin ユーザーでリモートデスクトップを行い、管理者権限が必要な作業を行うことも可能
-
Windows Server OS 内の言語は、デフォルトで英語になっているが、日本語言語パックのインストールが可能
-
環境の新規作成
-
- 既存の EC2 インスタンス上で Office を利用している場合、この既存の EC2 インスタンスに AWS から提供する SPLA ライセンスを適用することはできない。
- あくまで、AWS が提供する SPLA 用の AMI を利用して環境を新規作成していただく必要がある。
VPC の DNS 設定
VPC の設定で、DNS resolution や DNS hostnames の有効化が必要です。無効化になっている場合は、有効化します。
Secret Manager で ユーザー名とパスワードを作成
Active Directory 上で適切な権限をもったユーザー名とパスワードの文字列を Secret Manager 上に保存します。License Manager が Remote Desktop Service を管理するために、必要なクレデンシャル情報です。
username と password の欄に、Active Directory 上で作成されているユーザー名とパスワードを入力します。Microsoft AD を作成したときにデフォルトで存在している Admin ユーザーを利用します。
Secret の名前の指定は大事な条件があります。license-manager-user-
から始まる名前が必要なので、忘れずに指定します。
default のままにします。
Store を押して、作成します。
作成されました。
License Manager : RDS SAL の有効化
License Manager の画面から、RDS SAL のサブスクライブをしていきます。
View purchase options を押します。
Subscribe を押します。
License Manager の画面で、RDS が Active と変化したことを確認します。
License Manager : Office の有効化
同様に、Office も Marketplace 上で Subscribe をしていきます。
View purchase options を選択します。
Accept Terms で Subscribe 処理を行います。
Office Professional Plus が Active に変わりました。
License Manager : Microsoft AD と連携
User-bases subscription の画面で、Register Active Directory を押します。
AWS Managed Active Directory を選択し、Register を押します。Office を利用する環境なので、Self-managed Active Directory は選択しないで、AWS Managed Active Directory を選択します。
Registering となります。
10 分ほど待機すると、Registered に変わります。
License Manager : RDS License Server の設定
RDS License Manager の設定をしていきます。
事前に作成した Secret を選択します。
License Manager の Status が Provisioning となっています。
15 分ほど待機すると、Provisioned に変わりました。
License Manager : Office で AD の連携
同様に、Office 側も AD 連携を行います。
AD の選択や VPC を指定します。
Registering のステータスとなります。
一定時間後、Registered に変わります。
AD のグループポリシー設定
グループポリシーを設定し、License Server の接続先を指定します。Active Directory の Server Manager に Group Policy Management が無い場合はインストールをしていきます。
Group Policy Management を選択します。
インストール後、Group Policy Management を選択します。
AWS マネージドサービスである Managed AD の場合は、License Manager Policy という GPO が自動的に作成されています。
この GPO (Group Policy Objects) を、ドメインに適用するために Link の設定をします。Link an Existing GPO を選択します。
LicenseManager Policy を選択して、Add を押します。
LicenseManager Policy の内容を確認するため、Edit を押します。
以下の階層まで進んで、Edit を押します。
- Computer Configuration
- Administrative Templates: Policy definitions
- Windows Components
- Remote Desktop Services
- Remote Desktop Session Host
- Licensing
License Server の宛先が既に指定されていました。
こちらも設定済みです。
Office on EC2 のインスタンス作成
AWS Marketplace の画面を開き、以下の文字列を入れて Office on EC2 用の AMI を検索します。
Office LTSC Professional Plus 2021
View purchase options を選択します。
Continue to Configuration を押します。
Windows Server の OS Version を選択可能です。2022、2019、2016 から好きなものを選びます。
Tokyo Region を選択し、Continue to Launch を押します。
Launch through EC2 から Launch を押します。
EC2 Instance の構成画面に変わり、AMI が自動的に選択されています。
EC2 インスタンスに付与する IAM Role は重要です。Systems Manager と通信を許可する IAM Role を設定します。これを設定しないと構築に失敗します。次のように、EC2 を信頼するように Trust relationships も必要です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
次の Document の「Systems Manager マネージドインスタンスのインスタンスプロファイルを作成するには (コンソール)」の欄を参考に IAM Role を作成し、指定しましょう。
あとは適当に選択して、Launch Instance を選びます。
EC2 インスタンスを作成開始すると、License Manager 上にインスタンスが表示されます。
また、Systems Manager の Fleet Manager 上で作成した EC2 インスタンスが見えます。もしこれが見えてこなかったら、Systems Manager 周りで、何かしらの設定ミスがありそうなので、確認するとよさそうです。
該当の EC2 インスタンスで、Run Command の様子は確認が可能できます。AD の参加など必要な作業を行います。
Run Command が正常に終了したら、License Manager 上でも Active に変わります。
User の Subscribe
License Manager の画面から、User のサブスクライブと紐づけが必要です。
適当に AD 上のユーザーを指定します。
Associated になりました。
接続テスト
RDS で接続を行うと、以下の Office ソフトウェアがインストールされている環境となっています。
- Access
- Excel
- Outlook
- Powerpoint
- など
Excel のバージョンなども確認できます。
2 ユーザーを超える複数同時アクセス
同時に 2 ユーザーを超えてリモートデスクトップをしてみましょう。まずは Subscribe を追加します。
user001 ~ user005, admin の 6 ユーザー分のサブスクライブを行いました。
リモートデスクトップを行ってみると、期待通り 6 ユーザーで同時アクセスができました。
付録 : RSDH がインストール済み
Office on EC2 の AMI で起動した場合は、RSDH はインストール済みでした。
付録 : Subscribe していないユーザーでアクセス
Subscribe していないユーザーでリモートデスクトップを行うと、アクセスができません。user006 でやってみます。
Remote Desktop で接続します。
アクセスが出来ませんでした。
付録 : 管理者権限
一般ユーザーで管理者権限を必要としたときに、Microsoft AD 上の admin ユーザーを入力すれば利用可能。
なお、admin ユーザーで Remote Desktop して、管理者権限が必要な作業を行うと楽。もしくは、対象のユーザーを、AWS Delegated Administrators に参加させると、管理者権限が利用可能。
付録 : OS の日本語設定
OS のデフォルト言語が英語になっているので、日本語に設定可能。admin ユーザーでリモートデスクトップを行い、作業を実施するとやりやすい。
日本語を選択
Install
Installing
タイムゾーン設定。GUI からは設定できなかったので、bat ファイルを作成して管理者として実行。
@echo off
tzutil /s "Tokyo Standard Time"
その他設定は以下の URL を参考にしながら。
付録 : Excel の日本語設定
Excel などの Office は個別に言語設定が必要。Options を選択。
Install available
ダウンロード
ダウンロードした exe を実行
参考 URL
AWS Document
https://docs.aws.amazon.com/license-manager/latest/userguide/user-based-subscriptions.html