AWS環境でMicrosoft Officeを利用する場合、ライセンスやディレクトリサービスの設定が必要になります。本記事では、EC2インスタンス上にOfficeをセットアップする手順を整理してまとめました。

前提条件

  • AWSアカウントを保持していること
  • Amazon VPC・サブネットが設定済みであること
  • VPCのDHCPオプションセットで「AmazonProvidedDNS」を利用していること(DNS解決とホスト名の設定が有効であること)
  • AWS Directory Service for Microsoft Active Directory を利用可能な状態にしておくこと
  • Office LTSC Professional Plus 2021 のライセンスを準備していること(MAKキーなど)
  • SSM Session Managerを利用できるIAMロールをEC2に付与すること
  • プライベートサブネット上のEC2へは、Session Manager経由で接続する構成にしていること

上記を踏まえると今回の構成は下記のようになります。(NatGatewayは設置していますが、検証程度なら必要ないと思います。)

また、今回同様の課題に取り組んだメンバーが前提条件のDHCPオプションセットとSSMに関する記事を投稿しているのでそちらも確認していただけると理解が深まると思います。

1. AWS Managed Microsoft AD のセットアップ

AWS Directory Service から Managed Microsoft AD を作成します。作成時には、VPCと2つ以上のサブネットを指定します。また、エディションは特に指定はありません。

2. License Manager の設定

次に、AWS License Managerの設定を実施します。その後、Directory Serviceと関連付けることで、ドメイン参加したEC2インスタンスにライセンスを適用可能にします。

左ペインの「設定」から「ユーザーベースのサブスクリプション」を選び、Office LTSC Professional Plus 2021のActive Directoryを登録を選択します。


先ほど作成したActive Directoryを選択し、ファイアウォールの項目でVPCとサブネット、セキュリティグループを選択します。


セキュリティーグループはADからの必要ポート TCP/UDP(88, 389, 636, 464, 53)とクライアントSGからの RPC (135, 49152–65535) を許可します。以下に対応しているポートをまとめました。

Active Directory に必要な通信ポート

ポート番号 プロトコル 用途
88 TCP / UDP Kerberos 認証
389 TCP / UDP LDAP ディレクトリサービス
636 TCP / UDP LDAPS (LDAP over SSL/TLS)
464 TCP / UDP Kerberos パスワード変更/リセット
53 TCP / UDP DNS 名前解決

クライアントからADへの必要通信ポート

ポート番号 プロトコル 用途
135 TCP RPC エンドポイントマッパー
49152–65535 TCP 動的 RPC ポート

設定後、数分待つとコンソールの表示が下記の画像のようになります。

作成されたVPC Endpointはサービス名にある「activation-license-manager」という部分から読み取れる通り、このエンドポイントがLicense Manager のアクティベーションサービスに対するものになります。

3. EC2インスタンスの起動

Officeを含む指定AMIを利用してEC2を起動します。

IAM RoleはAmazonSSMManagedInstanceCoreポリシーAWSMarketplaceMeteringFullAccessポリシーの権限を持つRoleを使用します。その他の設定はお好みで大丈夫です。

LMやADの設定に不備がある場合は起動したインスタンスが直ちに終了されるので見直しましょう。

4. EC2とDirectory Serviceの連携

起動したEC2をドメインに参加させます。これにより、ADユーザーでログインが可能になり、License Managerによる自動ライセンス適用が行われます。

左ペインの「ユーザーベースのサブスクリプション」から「ユーザーの関連付け」を選び、対象のインスタンスを選択した状態で画面右側の「ユーザーをサブスクライブして関連付ける」を押下します。

ユーザー名、必要ならドメインを入力して「ユーザーをサブスクライブして関連付ける」を押下

完了まで少し時間がかかります。

5. Officeライセンス認証確認

最後に、RDPでEC2に接続し、Officeアプリケーションを起動してライセンスが正しく認証されていることを確認します。

まとめ

今回、トラブルシューティングの一環でEC2上にOfficeをセットアップすることになり、実装に苦戦してしまいました。
実際に進める中で、事前の前提条件(DHCPオプションセットやSSM利用など)を整理しておくことの重要性を改めて確認することができたと思います。
本記事は自分の備忘録的な側面もあり、不出来な部分もありますが、同じ課題に直面する方の一助となれば幸いです。
最後まで読んでいただき、ありがとうございました!