AppStream 2.0 が使いたい

この記事は2017年11月18日に書かれたものです。
現在は内容が古い可能性が高いのでご注意ください。

というか使っています。


具体的には下記のようなソリューションの一部として使っています。

文字列 + タイムコードのリストファイル → S3 → EC2 で動画に変換 → S3 → AppStream 2.0 (の Adobe Premiere Pro) で他の動画と結合・編集・エンコード (← ここ) → 動画配信サイトにアップロード

以前は某 S 社のおまけ付き VPS サービスを利用していましたが、Windows のリモートデスクトップライセンスの課金の仕組みが酷いなど料金について納得感がなく、GPU は利用できず、オブジェクトストレージは使い物にならず、Web のコンソールも使い辛く、またサポートもあまりにも役に立たない感じでしたので全て乗り換えました。

AppStream 2.0 は WorkSpaces などを使うよりも安く GPU 付きの環境を利用できるので良いぞ!とオススメしたいところなんですが、結構つらみがあって苦労しています。

0. 上限緩和申請
インスタンスファミリー毎に利用できる上限が決まっているのですが、Graphics-Desktop、Graphics-Pro はデフォルトの上限が “0” です!
Graphics-Design の stream.graphics-design.xlarge と Graphics-Desktop の stream.graphics-desktop.2xlarge はお値段同じで vCPU の数が違う (GPU が NVIDIA なので CUDA も使える) ので後者を使いたかったのですが、緩和申請が通らないと起動すらできませんでした・・・。
また、利用用途によっては申請がそのまま通らないこともあると思います。僕の場合は運よく Graphics-Desktop の利用が許可されました。
ちなみに、ImageBuilder と作成後のイメージ起動用のインスタンスの申請が別項目になっていますが、どちらか申請すると両方面倒見てもらえる感じでした。

1. アプリケーション以外のところ
利用開始にあたっては、初期イメージを元に ImageBuilder を起動して、リモートデスクトップ (Web ブラウザ) から必要なアプリケーションをインストールして、実行用のイメージを作ることになります。
結構戸惑うのが、ImageBuilder と実行環境の違いです。
一応 ImageBuilder でインストールユーザーと異なるユーザーでテストする事が出来るのですが、S3 がマウントされるフォルダとか、一時利用の作業用フォルダがマウントされないので、S3 連携込みで色々整理しようとすると一度作成後のイメージを起動する必要が出てしまいます。
その際の確認のため、Windows の Explorer は真っ先にアプリケーションに登録することをお勧めします。

2. 日本語対応
システムロケールの変更が反映できない (イメージ作成でリセットされる) ため、利用時に日本語はクリップボードを上手く使って入力してやる必要があります。時刻を気にするものがあると、そこも辛いかもしれません。

3. 準備時間
オンデマンドフリートインスタンスの準備にはとても時間がかかります。
イメージを用意するのも大変ですが、フリートに反映して開始してからインスタンスに接続可能になるまで 30 分弱かかります。
インスタンスに接続した後、アプリケーションを選んで利用できるようになるまで 2 分かかります。
利用中に他のアプリケーションを起動しようとした時も、結構時間がかかる印象があります。
富豪的に常時起動インスタンスで使えば時間は短くできると思いますが・・・。
オンデマンドだとフリートが開始した後は未接続でもちょっと課金されるので、僕は普段フリートを停止しています。

4. S3 連携
ここも大きなデータを出し入れしようとすると時間がかかります。
結構小刻みにデータの同期を取っているような印象です。また、あまりやり過ぎると妙なエラーを吐いて同期が停止してしばらく (30 分くらい?) 回復しません。
アプリケーションのプロファイル的なものを保存したい時は、終了時に S3 に書き出して次の利用時に読み込むなど一工夫必要なこともあるかもしれません (というかありました)。
Web ブラウザをアプリケーションに登録して、S3 Management Console 経由でやってしまうのもありなのかもしれません・・・。

(5. アプリケーションのライセンス認証問題)
これは AWS だけの問題ではないので微妙ですが、Adobe CC のライセンス管理的なところが大変です。
インスタンスの起動毎に認証しないといけませんし、管理アプリケーションを登録しておかないと解除ができません。
僕は面倒なので Adobe の Web サイトから登録解除していますがどっちにしても一手間あります (自動化できそうではありますが)。
もうちょっと Adobe さんと仲良くやって使いやすくする方法を用意してくれたら良いなと思いますが・・・。

色々書きましたが、細かいつらみはもっとあるかもしれません。
しかし、コスト的には他と比較してかなり優位性があるので、上手く使ってやる事ができれば小規模な個人利用でも割と美味しいサービスかなと思っています。
一緒に「AWS さんここを改善して!役目でしょ?!」と突っ込んでくれるお友達を募集しています。

シェアする

フォローする