[アップデート] AppStream 2.0 にネイティブデスクトップエクスペリエンスのサポートが追加されました

2020.08.20

しばたです。
先週AWSから以下のアップデートが通知されました。

本日より、Amazon AppStream 2.0 フリートのためにネイティブデスクトップエクスペリエンスを有効にすることが可能になりました。これまでの AppStream 2.0 ストリームセッションでは、起動済みアプリケーションのウィンドウのみが表示されていましたが、このローンチにより、フリートで Desktop View を有効にすることが可能になります。このビューは、AppStream 2.0 が提供する既存の非永続的な機能と共に、使い慣れたデスクトップのエクスペリエンスをユーザーに提供します。Desktop View は、新しいフリートの作成時、または停止されたフリートの更新時に有効化できます。

本記事ではこの内容について解説します。

ネイティブデスクトップエクスペリエンス?

そもそもこの「ネイティブデスクトップエクスペリエンス」とは何ぞや?という話ですが、平たく言ってしまうとAppStream 2.0でもWorkSpacesの様に公開されたデスクトップ環境を使える様になったという事です。
AppStream 2.0は従来アプリケーションストリーミングという形でリモートサーバー上の特定のアプリケーションのみを公開し利用するサービスですが、これに加えリモートサーバーのデスクトップ自体を利用可能になりました。

この設定はFleet単位で切り替えることが可能で、

  • 公開アプリケーション (従来の機能) = Application View
  • 公開デスクトップ (新機能) = Desktop View

という形でモード分けされる様になりました。
本記事では以後この機能をAppStream 2.0 Desktop Viewと表記します。

利用可能な環境

AppStream 2.0 Desktop Viewは本日時点ですべてのリージョンすべてのFleetで使うことができます。
ただし、前提条件として

  • 2020年2月19以降にリリースされたAppStream 2.0 Agentがインストールされているイメージであること

が求められます。
新規にFleetを作成する場合と既存Fleetの場合は停止された状態から設定を更新する際にこの機能が有効になります。

AppStream 2.0 Desktop View と WorkSpaces の違い

AppStream 2.0 Desktop ViewはWorkSpacesと極めて近い機能になります。
公式にWorkSpacesとの違いを解説しているドキュメントはありませんが、私がざっと試した限りでは以下の点が異なっていました。

利用可能OS

AppStream 2.0のイメージで利用可能なOSはWindows Server 2012 R2、Windows Server 2016、Windows Server 2019の3OSです。
ここだけ見るとWorkSpacesより選択肢がある様に見えますが、WorkSpacesとは異なりOffice込みのバンドルはありませんしLinuxバンドルもありません。

仮想マシン自体に対するアクセス権

WorkSpacesでは仮想マシン全体をユーザーに公開してデスクトップを利用可能にしており、設定によってはOSの管理者権限も与えることができます。
AppStream 2.0 Desktop Viewではデスクトップを公開するものの極力仮想マシン全体を見せない様な初期設定が施されており、また、OSの管理者権限も与えらえていません。
AppStream 2.0 Desktop Viewのデスクトップ環境はあくまでも限定的なものと考えておくのが良いでしょう。

  • ユーザーに仮想マシン全体を明け渡したい場合はWorkSpaces
  • 限定的で構わないのでデスクトップ環境が欲しい場合はAppStream 2.0 Desktop View

という使い分けをすると良さそうです。

仮想マシンの永続性とデータ保存

WorkSpacesではユーザーごとに仮想マシンが永続的に割り当てられ内部のデータも永続的に保存されます。
AppStream 2.0は仮想マシンの割り当てが永続せず特定の「ホームフォルダ」以外のデータは保存されません。

Active Directory連携

WorkSpacesはActive Directoryとの連携が必須ですがAppStream 2.0ではActive Directoryは必須ではありません。
加えてAppStream 2.0におけるActive Directory連携は基本的にはサーバー環境を整えるために使うものであり、WorkSpacesとは異なりドメインユーザーを直接的に利用するものではありません。

このため、

  • ドメインユーザーに仮想デスクトップを公開したい場合はWorkSpaces
  • Active Directoryが無い環境でも仮想デスクトップを使いたい場合はAppStream 2.0 Desktop View

といった使い分けになるかと思います。

ストリーミングゲートウェイに対するVPC Endpointサポート

AppStream 2.0ではVPC Endpoint経由でストリーミングゲートウェイにアクセスすることが可能になっておりインターネットを介さずに公開アプリケーションを利用することが可能です。
WorkSpacesは管理APIに対するVPC Endpointはあるものの認証ゲートウェイ・ストリーミングゲートウェイに対するVPC Endpointは無くクライアントからの利用はインターネットを介する必要があります。
このため閉じたネットワーク環境で公開デスクトップを使いたい場合はAppStream 2.0 Desktop Viewを検討すると良いでしょう。

やってみた

ここからはAppStream 2.0 Desktop Viewを実際に試してみます。

AppStream 2.0 Desktop ViewはFleetに対する設定ですのでマネジメントコンソールから適当なFleetを作成していきます。

イメージを作るまでの工程は割愛しますが、最新のAppStream 2.0 Agentがインストールされているものを使います。

Fleetの設定画面を確認すると画面下部に「Stream view」欄が新たに増えています。

この欄で「Application (従来の公開アプリケーション)」と「Desktop (ネイティブデスクトップエクスペリエンス)」を選択することができます。

今回はもちろん「Desktop」を選び以降の作業を進めていきます。

これでAppStream 2.0 Desktop Viewが有効なFleetができました。
その後のStackの作成やユーザーとの紐づけについては割愛します。

この設定でAppStream 2.0にログインすると、

従来の公開アプリケーションとは別に「Desktop」というアイコンが増えているのがわかります。

この「Desktop」を選択すると下図の様に仮想マシンのデスクトップ環境を利用することができます。

パッと見た感じはWorkSpacesと変わりませんね。
ここでExplorerを開くと「Home Folder」と「Temporary Files」しか表示されない様になっています。

ただし、あくまで非表示なだけでアドレスバーに直接C:\などのアドレスを入力するとドライブを参照することはできてしまいます。

あとこの「Home Folder」以外に保存したデータは次回ログイン時にはユーザーに割り当てられる仮想マシンが変わってしまうため消えてしまいますのでご注意ください。

注意事項

AppStream 2.0 Desktop Viewを有効にした場合でも公開アプリケーションを選ぶことができるのですが、この場合はデスクトップの背景が常に表示される様になってしまいます。

(公開アプリケーション pwsh を選んだ場合もデスクトップの背景が表示されてしまう)

最後に

ざっとこんな感じです。

AppStream 2.0 Desktop Viewは機能的にはWorkSpacesと極めて近いものの、AppStream 2.0とWorkSpacesのアーキテクチャの違いに起因しその利用用途やユースケースは大きく異なるでしょう。
要件に応じて適切なサービスを選ぶ様にすると良いと思います。