AWS JAPAN APN ブログ

【APN Ambassadors ブログシリーズ第四弾】Amazon WorkSpaces と Amazon AppStream 2.0 の ユースケースに関する考察

パートナーソリューションアーキテクトの大林です。
本記事は、「Japan APN Ambassador」 の方々に、AWS JAPAN APN ブログ にて技術情報をお届けいただく【APN Ambassadors ブログシリーズ】の第四弾となります。今回は、APN Ambassador である株式会社サーバーワークス 城 航太 様より、寄稿いただきました。
本記事は、2020 年 11 月 30 日時点の内容となります。最新の情報につきましては、AWS 公式ドキュメントを参照ください。

 



サーバーワークスの城と申します。

多くの会社が在宅勤務を導入するにあたり、Amazon WorkSpaces を利用されるケースが目立ってきました。
Amazon Web Services(AWS)には同じくエンドユーザーコンピューティングのカテゴリに属する似たサービスとして Amazon AppStream 2.0 というサービスも提供されています。
特にネイティブデスクトップエクスペリエンス(Desktop View)を利用する場合、同じデスクトップ配信機能を持ったサービスとなり、使い分けが思い浮かばない方も多くいるのではないでしょうか。
今回の記事では、Amazon WorkSpaces と AppStream 2.0 Desktop View にフォーカスして、いかに使い分けると利用者にとってメリットがあるかを解説していきます。

AppStream 2.0 の歴史

AppStream 2.0 はもともとアプリケーション配信を目的としたサービスで、仮想デスクトップ(デスクトップ配信)を目的とした Amazon WorkSpaces とはユースケースが明確に異なるサービスでした。
より高いハードウェア性能を必要とするアプリケーション、例えば 3D-CAD や動画編集アプリなどを動かす環境として利用されるケース、Windows 環境で動くアプリケーションを端末側の OS に依らずブラウザ経由でアクセスさせるケースなどが主でした。
2020 年 8 月に AppStream 2.0 のネイティブデスクトップエクスペリエンス(Desktop View)がサポートされ、デスクトップ配信の機能も加わったことで Amazon WorkSpaces との差がぐんと縮まったように思えます。
前述の歴史をたどり、現在では「アプリケーションおよびデスクトップストリーミングサービス」として紹介されるサービスとなっています。

Amazon AppStream 2.0

永続型の Amazon WorkSpaces と非永続型の AppStream 2.0

永続型である Amazon WorkSpaces とは異なり、AppStream 2.0 は非永続型のサービスです。
永続型のサービスでは、ユーザーがログインするコンピューターが永続的に保持され、ログオフした後に再度ログインした場合も同一のコンピューターに接続されます。
Amazon WorkSpaces は永続型のサービスですので、リビルドやリストアを行わない限り、同じコンピューターに接続されます。

非永続型のサービスでは、ユーザーがログインするコンピューターがログインしている間のみ保持され、ログオフした後は削除されます。
そのため、再度ログインする際は、前回とは違うコンピューターに接続されます。
AppStream 2.0 は非永続型のサービスになりますので、接続するたびに新しくイメージから作成されたコンピューターに接続されます。

より具体的なところでは次の点で違いがあります。
①OSやアプリケーションの管理
②ユーザープロファイル、ユーザーデータの取り扱い

①OSのパッチやアプリケーションの管理

Amazon WorkSpaces においては OS のパッチやアプリケーションの管理についてはいくつか選択肢があります。

  • 管理者側でイメージを更新し、Amazon WorkSpacesをリビルドする
  • AWS のメンテナンスウィンドウや Windows Server Update Service、アプリケーション配布のサービスを利用する
  • ユーザーが更新を行う

Amazon WorkSpaces ではユーザーにローカル管理者権限の付与を選択することができるため、自由度の高い仮想デスクトップとして利用でき、用途が広いと言えます。

AppStream 2.0 においては、都度イメージからコンピューターが作成されるため、イメージで管理する方法の一択となり、ユーザーにローカル管理者権限を与えることはできません。
Amazon WorkSpaces とは反対にユーザーからすれば自由度が低く見えますが、管理面から見ると、イメージで一元管理することができ、よりセキュアに、より統一された環境をユーザーに提供することができます。

②ユーザープロファイル、ユーザーデータの取り扱い

Amazon WorkSpaces は永続型であるため、ユーザープロファイルやユーザーデータはローカルに保存していても、次回利用時にはそのまま同じ環境として利用することができます。

AppStream 2.0 は非永続型となり、ログインごとに都度、別のコンピューターにログインすることとなるため、ユーザープロファイルやユーザーデータを維持する必要がある場合、どのように実現するかを考える必要があります。
AppStream 2.0 では永続的なアプリケーション設定、永続的なストレージといった機能が提供されていますので、こちらで利用する、もしくは Active Directory と連携し、移動プロファイルやフォルダリダイレクトといった機能で実現するなどの選択肢があります。
また、AppStream 2.0 は Amazon WorkSpaces とは異なり、AppStream 2.0 側からローカル端末のファイルへのアクセス可否についてもコントロールすることができるので、合わせて利用方法を検討するとよいでしょう。

性能の高いインスタンスの利用

サーバーワークスで実装させていただいたユースケースでは短時間だけ、強力な性能を持ったインスタンスでアプリケーションを利用したいユースケースがありました。

AppStream 2.0 においては、より高いハードウェア性能を必要とするアプリケーション配信に向け、性能の高いインスタンスを提供しています。
現在提供されている最上位としては stream.graphics-pro.16xlarge(vCPU:64、メモリ:488GiBメモリ、GPU メモリ:32GiB)が提供されているので、アプリケーションが必要とする性能に合わせて検討するとよいでしょう。

次の図は過去に構築した例となります。
CAD、画像解析のシステムにおいて、このような構成が利用されることは多いでしょう。

アプリケーションで利用するデータについては、図のように外部のストレージサービスを利用することもできますが、ユーザーの利用端末から直接データをアップロードして利用する形をとることも可能です。

Windows 10 の利用や Amazon Linux 2 ベースの OS のサポート

Amazon WorkSpacesにおいては Windows 10 の BYOL(Bring Your Own License)をサポートしていますが、AppStream 2.0 ではサポートされておらず、利用できる OS は Windows Server 2016、Windows Server 2019 となっています。 また、Amazon WorkSpaces でサポートされている Amazon Linux 2 ベースの OS も AppStream 2.0 では利用できません。

コスト面での比較

Amazon WorkSpaces と AppStream 2.0 の同等、もしくは AppStream 2.0 が少し勝るスペックで利用料を比較してみます。
※2020 年 11 月 30 日現在の東京リージョンの料金です。

Amazon WorkSpaces(ルートボリューム80GB、ユーザーボリューム10GB) AppStream
コンピューティングタイプ スペック AlwaysOn AutoStop インスタンスタイプ スペック RDS SAL
月額固定($/月)
時間料金($/時間)
月額固定($/月) 月額固定($/月) 時間料金($/時間)
バリュー 1 vCPU、2 GB メモリ 34 10 0.30 stream.standard.small 1 vCPU、2 GB メモリ 4.19 0.09
スタンダード 2 vCPU、4 GB メモリ 45 10 0.4 stream.standard.medium 2 vCPU、4 GB メモリ 4.19 0.12
パフォーマンス 2 vCPU、8 GB メモリ 59 10 0.61 stream.standard.large 2 vCPU、8 GB メモリ 4.19 0.24
パワー 4 vCPU、16 GB メモリ 108 10 0.89 stream.memory.xlarge 4 vCPU、30.5 GB メモリ 4.19 0.6
パワープロ 8 vCPU、32 GB メモリ 161 10 1.84 stream.memory.2xlarge 8 vCPU、61 GB メモリ 4.19 1.2
グラフィックス 8 vCPU、15 GiB メモリ、1 GPU、4 GiB ビデオメモリ 951 30 2.41 stream.graphics-design.2xlarge 8 vCPU、30.5 GiB メモリ、1 GPU、4 GiB ビデオメモリ 4.19 1.2
グラフィックスプロ 16 vCPU、122 GiB メモリ、1 GPU、8 GiB ビデオメモリ 1283 85 14.93 stream.graphics-pro.4xlarge 16 vCPU、122 GiB メモリ、1 GPU、8 GiB ビデオメモリ 4.19 2.46

次のグラフはあくまで参考のための例となりますが、下記の条件で月の利用時間を変動させた場合の試算となります。

  • 総ユーザー数 1,000 人
  • Amazon WorkSpaces はコンピューティングタイプがパフォーマンス、ルートボリューム 80GB、ユーザーボリューム 10GB
  • AppStream 2.0 はインスタンスタイプが stream.standard.large
  • AppStream 2.0 のバッファキャパシティーを 10% とする
    ※バッファキャパシティとは時間当たりの想定利用インスタンス数に対するバッファのことを指します。

ただし、実際の利用を想定しての Amazon WorkSpaces、AppStream 2.0 の比較を行う際は、ディスクの利用の仕方や量、Office アプリケーションのライセンス費用等、総コストで比較を行う必要がある点には注意してください。
実際の AppStream 2.0 利用シーンに合わせて試算を行えるよう、simple pricing tool が提供されていますのでこちらを利用するのもよいでしょう。
また、2020 年 11 月 30 日現在、AppStream 2.0 において、AWS から Office ライセンスは提供されておりません。

Amazon WorkSpaces から AppStream 2.0 への移行を想定したコストシュミレーション事例

利用用途、方法によっては AppStream 2.0 に置き換えることでコスト最適化できるケースがあります。 サーバーワークスでは Amazon WorkSpaces をご利用のお客様で、お客様のネットワークに対する踏み台としての利用など、比較的容易に転換できそうなケースでは AppStream 2.0 へ置き換えた場合どのようになるか、コストシュミレーションを実施しています。
Amazon WorkSpaces の CloudWatch メトリクスの中でユーザーが接続しているかどうかを示す、UserConnected メトリクスや Amazon WorkSpaces Cost Optimizer のレポートを利用し、既存の利用パターンを分析、AppStream 2.0 に置き換えた場合のコストシュミレーション事例をあげてみます。

約 1,000 ユーザーが利用、コンピューティングタイプは VALUE、STANDARD、PERFORMANCE、実行モードは AlwaysOn、AutoStop を併用している環境の事例です。
UserConnected メトリクスを見てみると、平日は 7 時から 9 時頃にかけて接続数が増加していき 350 ユーザー程度の同時接続がピーク、平日夜間や祝休日については最大 15 ユーザー程度が接続しているという利用分析ができ、時間当たりの接続ユーザー数を割り出すことができます。

WorkSpacesの利用パターン(月間)

WorkSpacesの利用パターン(平日)

このグラフからはどのコンピューティングタイプがどのくらい利用しているかまでは読み取れませんが、各コンピューティングタイプの Amazon WorkSpaces 総台数の割合で対応する Fleet Type 毎の時間当たりの接続ユーザー数を割り出し、試算した結果が次の表です。

AppStream 2.0
Fleet Type 総利用時間/月 バッファ時間/月 Always-On Amazon WorkSpaces との差額 On-Demand Amazon WorkSpaces との差額
standard.small 54,581 5,597 $9,605.46 -$3,119.54 $9,096.16 -$3,628.84
standard.medium 33,286 3,793 $5,903.45 -$3,915.75 $5,558.25 -$4,260.95
standard.large 8,250 1,238 $2,637.44 -$581.28 $2,376.14 -$842.58
Total 96,117 10,628 $18,146.35 -$7,616.57 $17,030.55 -$8,732.37

 

Amazon WorkSpaces
Compute Type 台数 台数割合 総利用時間/月 AlwaysOn AutoStop 総額
台数 月額固定($/月) 台数 利用時間/月 月額固定($/月) 時間料金($/時間)
VALUE 569 0.5679 48,255 288 $9,792.00 281 410 $2,810.00 $123.00 $12,725.00
STANDARD 347 0.3463 32,634 178 $8,010.00 169 298 $1,690.00 $119.20 $9,819.20
PERFORMANCE 86 0.0858 8,209 45 $2,655.00 41 252 $410.00 $153.72 $3,218.72
Total 1,002 1.0000 89,098 511 $20,457.00 491 960 $4,910.00 $395.92 $25,762.92

割合で時間当たりの接続ユーザー数を試算しているため、利用パターンから大きく外れていないかを検証する必要があります。
Amazon WorkSpaces Cost Optimizer から得た各コンピューティングタイプの月間総利用時間と AppStream 2.0 のコスト試算で得られる月の総利用時間の比較を検証に利用することができます。
AppStream 2.0 の総利用時間の方が大きく、かつ、大きく外れていなければ、利用パターンとしては問題ないでしょう。

結果として、このケースでは AppStream 2.0 の AlwaysOn に置き換えた場合、$7,600 の月額コストの抑制ができることが分かります。

それぞれに適したユースケース

まず、確実に Amazon WorkSpaces が推奨されるケースとしては Windows 10 環境を利用する必要がある場合があげられます。
企業によってはクライアント OS でしか動作保証のないアプリケーションなどが存在するケースは多いでしょう。

AppStream 2.0 Desktop View を選定するケースですが、ローカル端末も業務利用し、かつ、より高いハードウェア性能を必要とするアプリケーションにおいては AppStream 2.0 を利用するというケースが考えられます。
3D-CAD、3D モデリング、動画編集といったアプリケーションの利用が該当するでしょう。

よりセキュアに運用したい、アプリケーションを一元管理したい、ユーザーに自由度を持たせたくないといったケースにおいてはローカル端末とはデータ連携せず、AppStream 2.0 のみに完結して利用するというケースもあるでしょう。
例えば、個人情報などの機密情報を取り扱う、セキュリティレベルの高いシステムでの利用です。
大学や高校など、教育機関での利用にも向いているでしょう。

また、コストを抑えるといった点で AppStream 2.0 の検討をすることもあるかと思います。
ただし、クライアント PC とほぼ同じように利用できる永続型の Amazon WorkSpaces とは違い、非永続型の AppStream 2.0 においては癖があるように感じるユーザーは多いかと思いますので見極めが必要です。

まとめ

Amazon WorkSpaces、AppStream 2.0 の双方に言えることですが、導入前に実利用に耐えうるのか、業務要件を満たすことができるのかの検討、検証が推奨されます。
それぞれ特徴があり、それを理解したうえで利用に適しているかどうか、導入することで価値を生み出すことができるかといった点を考慮し、導入検討をすることが重要でしょう。
ただ、AWS を使うメリットでもある、スモールスタートができ、早く失敗することができることを活かし、こんなユースケースはどうだろう?と思われるところがあれば、是非、ご利用してみていただけると幸いです。



 

以上が、APN Ambassador である株式会社サーバーワークス 城 航太 様より、寄稿いただいた内容となります。城様、ありがとうございました!第五弾もご期待いただければと思います。