PROFILEUNITY、FLEXAPPを利用したWorkSpacesのアプリケーション管理のご紹介

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術4課の城です。
最近寒暖の差が激しく、体調を崩しやすい季節になりましたね。
かくいう私も先日、風邪をひいてしまい、5日間ほどめちゃめちゃ苦しんでいました。

さて本題に入りますが、私はサーバーワークスに入ってからAmazon WorkSpacesを構築する案件をいくつか対応しました。
すごく簡単にDaaS(Desktop as a Service)環境を構築できることに感動しましたが、継続して管理、運用していく上でいくつか課題があると思っています。
その課題を解決するうえで、Liquidware Labs社が提供しているツール、PROFILEUNITY、FLEXAPPを使ってみたので紹介いたします。
今回はどのように使えるのかのご紹介となりますので、設定手順等は省略している部分が多めになります。

1. WorkSpacesを管理、運用するうえでの課題

今回お話しする課題としてはWorkSpacesにインストールするアプリケーションの管理をどうすべきか、という点になります。
具体的な例をあげると、次のような点があるかと思います。

  • 部署毎に異なるアプリケーションを利用させたいが、どのように管理するか
  • アプリケーションのアップデート

異なるアプリケーションのセットがインストールされたイメージを用意する、もしくは、WorkSpacesのローンチ後に個別にアプリケーションのインストールを実施して対応されていることが多いのかなと思いますが、非常に手間がかかります。
また、アプリケーションのアップデートについてはユーザー任せになりがちになってしまっていることが多いのでは、と思います。

2. PROFILEUNITY、FLEXAPPとはどのようなツールなのか

PROFILEUNITYはユーザー環境を管理するツールとなります。
こちらはLiquidware Labs社が提供しているPROFILEUNITYの機能リストになりますが、様々な設定が可能です。
ユーザー環境のWorkSpaceへの移行を簡単にしたり、設定の管理を管理者が中央集権的に管理することが出来たりするような機能が備わっています。
また、FLEXAPPについては上述のPROFILEUNITYと組み合わせて利用しますが、アプリケーションの管理を容易にします。
例えば特定のグループのみに利用させるアプリケーションなどがある場合、FLEXAPP、PROFILEUNITYを利用すると管理者によるコンソール上での操作でそれを実現します。

なお、利用の前提条件としてActive Directoryを利用(Directory ServiceのMSADでは不可)していることが必要です。

PROFILEUNITY製品ページ: https://www.liquidware.com/products/profileunity
FLEXAPP製品ページ: https://www.liquidware.com/products/flexapp

以降の項にて、具体的にどのようなことが出来るのか、ご紹介いたします。

3. 具体例① ユーザーの所属グループごとに異なるアプリケーションのセットを利用させてみる

二つの部署で異なるアプリケーションのセットを用意してみました。

グループ インストールされるアプリケーション
sales Chrome
tech Chrome、Teraterm、VisualStudioCode

参考までにPROFILEUNITYコンソールは以下のようになります。

それぞれのグループ用の詳細設定画面です

今回は「testuser」というユーザーのグループをsalesからtechへ切り替えて、WorkSpacesにインストールされたアプリケーションを変更できるか確認します。

3.1 salesグループに属した状態でWorkSpacesにログインする

まずはsalesグループに所属した状態で、WorkSpacesにログインします。
testuserのグループは次の画像のように設定しています。

testuserでログインします。
AWSが提供しているバンドルにはChromeは含まれていませんが、Chromeがインストールされていることが確認できます。

ログオフします。

補足ですが、PROFILEUNITYでは各クライアントの設定情報やPortability設定されているデータを、ログオフの時に保存、ログオンの際に読み込みする為、設定変更の際にはログオフ、ログオン操作が必須となります。

3.2 グループをtechに変更

Active Directoryでユーザーの所属グループを変更します。

techグループに属した状態でWorkSpacesにログインする

次にtechフループに所属した状態で、WorkSpacesにログインします。

アプリケーションにChromeだけでなく、teraterm、VisualStudioCodeも追加されています。

所属グループにより、インストールされたアプリケーションを使い分けることが出来ました。

ログオフします。

4. 具体例② アプリケーションをアップデートしてみる

前項でインストールされているTeratermのバージョンは4.102ですが、4.104にアップデートしてみます。

4.1 FLEXAPPにてアプリケーションパッケージを作成する

パッケージを作成するアプリケーションのインストーラーをFLEXAPPサーバー上に用意します。
次にFLEXAPPのコンソールにてアプリケーションパッケージを作成します。

FLEXAPPのコンソールにて[作成]をクリックします。

今回はパッケージ名、VHDの場所を指定し、その他はデフォルト設定としました。

[開始]をクリックし、インストーラーを実行し、アプリケーションをインストールします。

インストールが完了したら、[終了]をクリックします。

「パッケージの作成のプロセスが正常に完了しました。」と表示されているのを確認し、[保存]をクリックします。

コンソールを確認すると、「teraterm-4104」が作成されていることが確認できます。

以上でパッケージ作成は完了です。

補足ですが、FLEXAPPのパッケージ作成プロセスではインストールを実際にサーバー上で実行します。
アプリケーション間の干渉を避けるため、事前にsnapshotの取得しておき、パッケージ作成後にボリュームを事前の状態にロールバックさせることが推奨されています。

4.2 ProfileUnituyにてアプリケーションパッケージを変更する

PROFILEUNITYのコンソールにてアプリケーションパッケージを変更します。
techグループの「teraterm」を削除し、「teraterm-4104」を追加して、保存をクリックします。

これだけだとまだ設定が反映されませんので、デプロイを実行します。
右上の[更新]ボタンをクリックします。

現在利用している構成の[構成のデプロイ]ボタンをクリックします。

ポップアップが表示されるので[デプロイ]をクリックします。

デプロイ完了です。

4.3 再度、WorkSpacesにログインし、Teratermのバージョンを確認する

ログインして確認すると、Teratermのバージョンが4.104に変更されています。

管理者側によるアプリケーションのアップデートが出来ました。

4.4 【おまけ】Teratermのバージョンをロールバックしてみる

PROFILEUNITYにてアプリケーションパッケージの変更を行い、元のバージョンにロールバックしてみます。
先ほどと逆の作業になりますので、画像は省略しますが、次の作業を実施していきます。

①ProfileUnituyにてtechグループの「teraterm-4104」を削除し、「teraterm」を追加
②構成のデプロイ

ログインしてみると、Teratermのバージョンが4.102にロールバックされていることが確認できます。

5. さいごに

今回はPROFILEUNITY、FLEXAPPの機能を一部ですが紹介いたしました。
WorkSpacesの運用における課題を解決できる強力なツールだと感じました。
また、ユーザープロファイルの移行などは、OSによらず、別の環境からAmazon WorkSpacesに移行するにあたって有用な機能ですので、別の記事にて紹介させていただく予定です。

どなたかの助けになれば幸いです。

AWS運用自動化サービス「Cloud Automator」