LoginSignup
25
22

More than 5 years have passed since last update.

Amazon AppStreamのサンプルを動かしてみた

Posted at

今回の内容

最近一般公開された、話題のAmazon AppStreamのサンプルを動かしてみました。
Amazon AppStreamの概要と、サンプルの動かし方を記載します。

公式ドキュメントがどうにも読みにくくて結構苦労しました。
もし何か間違っていることあったらご指摘ください。

あと、サンプルを動かし終わった後は、EC2を落とすことを絶対に忘れないようにしましょう。

Amazon AppStreamとはなにか

Amazon AppStreamは、スマホなどの端末から受け取った情報を元に、サーバー側でゲームの映像などを処理して、処理した結果をストリーミングでモバイルに返すことが出来るサービスです。

サーバー側でゲーム映像のレンダリングなどの重い処理をやっておき、その結果だけを返す事により、貧弱な端末でも高度なアプリケーションを動かすことが出来ます。

構成は、大きく3つに別れ、下記のようになっています。

appstream_flow_1.png

◯スマホなどのデバイス上で動くアプリ
デバイスのタッチや文字入力などサーバーに送信、結果をもらって表示する。
Mac、Windows、iOS、Androidなどで動作。

◯AWS上でアプリを処理するサーバー
実際にゲームなどを処理するサーバー。
デバイスのタッチや文字入力などを受け取り、映像のレンダリングなどをして、結果をアプリに返す。
これはEC2インスタンス上のWindows 2008 R2環境上で動作する。

◯AWS上で動く認証サーバー
デバイスを認証して、アプリを処理するサーバーとつなげるための認証処理を行うサーバー。
これをなくす、Stand Alone Modeというのもあるが、本番稼働の場合は推奨されていない。

サンプルは、認証サーバーを省いたStand Alone Modeで動かせるらしいので、起動までをやってみます。

サーバー側をStand Aloneモードで構成する

CloudFormationというサーバー環境設定自動化サービスによって、AppStreamのサンプルを動かす環境が作れるように用意されています。
今回はその手順にしたがっています。

参考:
http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-getting-started.html

Key Pairの作成

まずは今回のサーバー用のKey Pairを作成します。
「US East (N. Virginia)」のリージョンにて、
EC2のページを開き、「Key Pairs」の項目にて
「Create Key Pair」を押下。

「AppStreamKeyPair」
という名前で、作ったキーを保存しておきます。

CloudFormationでサーバー構成

サーバー側をStandAloneモードにて作成します。

「US East (N. Virginia)」のリージョンにて、CloudFormationのページに移り、「Create New Stack」を押下。

「Create A New Stack」のページにて、各項目を入力

[Name]
・StreamingHost

[Source]
・Provide an S3 URL to templateをチェック
https://s3.amazonaws.com/appstream-public/AppStreamDeveloper.template

「Next Step」を押下

「Specify Parameters」のページにて、各項目を入力

[ApplicationPresignedS3Url]
https://s3.amazonaws.com/appstream-public/XStxDirectXServerInstaller_1.3.exe (自動で入っている)

[AppStreamSDKVersion]
・1.3 (自動で入っている)

[KeyPairName]
・AppStreamKeyPair (前手順で作ったKey Pairsの名前を入れる)

[LauncherPath]
・C:\app\XStxDirectXServer\XStxDirectXServer.exe (自動で入っている)

[MicrosoftVirtualAudioDrivers]
・yes

[NvidiaGRIDdrivers]
・yes

「Next Step」を押下

「Options」ページではそのまま「Next Step」

「Review」ページでもそのまま「Next Step」

作成途中では「CREATE_IN_PROGRESS」になっているので、これが「CREATE_COMPLETE」になるまで待つ。

EC2ページに、今回ので作成したインスタンスが起動しているはずなので、
これのPublic IPをメモ。

クライアント起動

クライアントサンプル用意

クライアントのサンプルは、下記ページのSDKの中に入っています。
http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-downloads.html

現時点では、下記が最新でした。これをダウンロードします。
https://s3.amazonaws.com/appstream-sdk/AppStreamSDK_1.3.0.17.zip

クライアントサンプル起動

上記でダウンロードしたファイルを解凍して、「precompiled_samples」の中身を起動します。
私の環境はMacなので、下記を使いました。
AppStreamSDK_1.3.0.17/precompiled_samples/osx/build/AppStreamSample/AppStream.app

起動後、「AppStream Stand-Alone Mode」にチェックをいれて、用意したサーバーのPublic IPかPublic DNSを入力します。
そして「Connect」押下。

client2.jpg

動いた!
下記ページに書いてあるように、AとかDとかで動かせます。
http://docs.aws.amazon.com/appstream/latest/developerguide/appstream-build-app-sample.html

client3.jpg

なんでしょう・・・。正直な感想をいうと・・・、ちょっとしょぼい。

そしてすぐ動かなくなって落ちる!
さらにその後サーバー再起動するまで繋げなくなる!
・・・なんでしょう。この微妙な気持ちは・・・。

とりあえず、
EC2は絶対に落とし忘れないようにしましょう。

感想

とりあえずサンプル起動までしてみましたが、非常に公式ドキュメントがわかりづらく、サンプルが残念なこともあり、まだまともに使える段階にはない気がしました。

あと、サーバー側はDirectXとかを使うみたいですが、やったこと無いのでちょっとプログラムイメージがつかなかったです。

また、個人で試すには結構金がかかるので、しばらくは様子見かなと。
サービス自体は面白いので、また後ほどチャレンジしたいです。

25
22
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
22