1
0

More than 1 year has passed since last update.

Amazon AppStream 2.0 の Workshop をやってみた

Last updated at Posted at 2022-02-05

はじめに

アプリケーションを作成して配信するときに、Web アプリケーションで提供する形式がよくとられます。一方、デスクトップにインストールする形式で使ってきたアプリケーションが有る場合、これをいきなり Web アプリケーションに実装変更していくのは、なかなか大変な作業です。

そこで、Amazon Appstream 2.0 を使うことで、いままでのデスクトップアプリケーションを活用しながら、遠隔のストリーミングによるアクセスを提供できます。ブラウザ、もしくは、AppStream 2.0 専用のクライアントアプリケーションを通じて、お客様へ提供できます。

今回は、Amazon Appstream 2.0 の Workshop をやってみた内容となっています。Workshop 自体は英語ですが、こちらに公開されています。

Image Builder

まず、Image Builder を作っていきます。Image Builder とは、Amazon EC2 インスタンスをベースに構成されており、ストリーミングしたいアプリケーションを含むカスタムイメージを独自に作成するために使用されます。Image Builder の環境にアクセスして、必要なアプリケーションの設定などを事前にイメージとして固めていくことができます。

それでは作成していきましょう。

Image Builder の作成

AppStream 2.0 の画面を開き、Get Started を選択します。

image-20220204223307860.png

Skip を押します

image-20220204223357637.png

Launch Image Builder を押します

image-20220204223443739.png

ベースとなるマシンイメージを選択します。今回は、Windows Server 2019 のマシンイメージを選択します。

image-20220204223746089.png

Next

image-20220204223753466.png

Image Builder の名前などを指定します

image-20220204223947362.png

Image Builder の Instance type を指定します

image-20220204224012967.png

Image Builder のストリーミングインスタンスが属するAmazon VPCとサブネットを選択します。これにより、インスタンス上で起動したアプリケーションが、Amazon VPC内のネットワークリソースに接続できるようになります。

image-20220204224428912.png

Launch を押します

image-20220204224446042.png

Image Builder の作成が開始されました。Running まで約15分ほどかかるので、待ちましょう。

image-20220204224511371.png

一定時間後、Running になりました。

image-20220204225810952.png

Image Builder に接続

作成した Image Builder の詳細画面で、Connect を押します

image-20220204225945108.png

Administrator を選択

image-20220204230322652.png

Windows のデスクトップ画面が立ち上がる

image-20220204230353554.png

動作確認用アプリケーションをインストール

次の 2 つの URL は、Chrome と Notepad ++ のダウンロードページです。動作確認用として、インストールしていきましょう。

Image Builder の中で、通常の Windows のようにインストールを進めていきます。

msi を実行して、インストールをしている様子

image-20220204231052169.png

Notepad++ をインストールしている様子

image-20220204231221691.png

言語設定

デフォルトでは、表示言語やキーボードの入力が英語のままなので、日本語に変更をしていきます。詳細は次のDocument に乗っています。

Switch User を押します。

image-20220205143836685.png

Template User を押します。

image-20220205143857823.png

設定のボタンをおす

image-20220205124714447.png

Time & Language を選択します

image-20220205124726103.png

Add Language

image-20220205124801941.png

Next

image-20220205124827001.png

Install

image-20220205124840977.png

Install がはじまる

image-20220205124901874.png

Install 完了後、Option を押す

image-20220205141911241.png

日本語を一番上の優先度にする

image-20220205144402854.png

キーボードの設定に移動する

image-20220205144503063.png

キーボードの詳細設定

image-20220205144531868.png

日本語にする

image-20220205144550791.png

再度ログイン後、日本語が入力できることを確認する

image-20220205144805379.png

スイッチユーザーで、Administrator に切り替える

image-20220205144851297.png

Administrator

image-20220205144905987.png

Image Assistant の設定

この時点で、2つのアプリケーションがインストールされ、設定されたImage Builderインスタンスが完成しています。これから、Image Assistant を使って、アプリケーションの公開設定を進めていきましょう。

アプリケーションの追加

このステップでは、ストリーミングに有効にするローカルにインストールされたアプリケーションを定義します。ここで定義する設定には、名前、表示名、起動する実行ファイル、表示するアイコンが含まれます。

デスクトップの Image Assistant Icon を開く

image-20220205095832675.png

AppStream 2.0 の Image Assistant が立ち上がります。Add App で、配信するためのアプリケーションを指定します。

image-20220205095952828.png

Chrome のプログラムを選択

image-20220205100320627.png

名前や Icon などを指定する画面が開かれます。このまま Save を押します。

image-20220205100413764.png

Chrome が追加されました。引き続き Add App で Notepad++ を追加していきます。

image-20220205100458424.png

選択します。

image-20220205100539270.png

同様に Save を押します。

image-20220205100617534.png

Next を押します。

image-20220205100653508.png

デフォルトのまま、Next を押します。

image-20220205100921478.png

アプリケーションの検証

これで、アプリケーションのインストールと設定が完了しました。このステップでは、Test User アカウントを使用して検証を行います。このアカウントは、昇格権限やローカル管理者権限を持たないローカルアカウントなので、アプリケーションが正しく起動することを検証します。

Switch User を押します。

image-20220205101120805.png

Test User を選択します。

image-20220205101204613.png

これで、通常のエンドユーザー権限を持つローカルユーザーで、イメージビルダーのインスタンスに接続されました。アプリケーションの検証を進めることができます。

Image Assistant の Icon をクリックします。

image-20220205101255261.png

Chrome をクリックします。

image-20220205101405477.png

すると、Chrome が正常に開きました。起動は問題ないので、このまま Chrome を閉じます。

image-20220205101457337.png

同様に、Notepad も起動します。

image-20220205101631367.png

こちらも正常に開けました。

image-20220205101642480.png

これで、昇格権限や管理者権限を持たないユーザーでも、アプリケーションを正常に起動できることが確認できました。

Switch User を選択して、Administrator に戻ります。

image-20220205102541285.png

Administrator を選択します。

image-20220205102608919.png

Test が完了したので、Next を押します。

image-20220205102736922.png

アプリケーションの起動方法を設定

このステップでは、アプリケーションのストリーム起動時のパフォーマンスが最適になるよう、最終的な起動方法を調整していきます。

ここでいう「最適化」とは、アプリケーションの起動方法を見直し、エンドユーザーがストリーミング再生する際に、できるだけ早く利用可能な状態になるよう、ストリーミングサービスに最適なチューニングを指示する裏方のプロセスを指します。

Launch を選択します。

image-20220205102949205.png

AppStream 2.0は、リストにある最初のアプリケーションを自動的に起動します。アプリケーションが完全に起動したら、必要な入力を行い、アプリケーションの初回実行を確認してください。例えば、Google Chromeの場合、完全に起動する前に設定のインポートを求められることがありますが、これらの設定をスキップすることができます。

image-20220205103201989.png

正常に Chrome が立ち上がり検索できる状態となっているので、Continue を押して次のアプリケーションを開きます。

image-20220205103302066.png

Notepad が起動されます。必要に応じて、設定を入れておきます。

image-20220205104908558.png

このまま Continue を押します。

image-20220205104936748.png

イメージ名の設定

このステップでは、Image Name を指定して、作成を進めていきます。

image-20220205105454211.png

Image の作成

リモートセッションから切断され、Image 作成処理が開始されます。

image-20220205105647068.png

リモートセッションは直ちに切断され、ブラウザに[Lost Connectivity]ウィンドウが表示されたままになります。イメージの作成が開始され、イメージの作成中は再接続できないので、そのブラウザウィンドウを閉じます。

image-20220205105713173.png

Image Registory に、作成した Image が登録されます。Pending となっており、作成完了まで 15 分ほど掛かります。

image-20220205105844188.png

Status が Available に変わりました。

image-20220205111750720.png

なお、Image Builder は自動的に停止状態になっている。

image-20220205111827282.png

Fleet の作成

AppStream 2.0のフリートは、アプリケーションストリーミングインフラのハードウェアおよびスケーリング構成です。プロビジョニングにより、使用するインスタンスの種類、エンドユーザーに提供するインスタンス数、スケールアップ(およびスケールダウン)のポリシーを設定することができます。

Create Fleet

image-20220205112008957.png

On-Demand タイプを選択

image-20220205113907386.png

名前などを入れる

image-20220205114101938.png

instance type を選択します。最大セッション時間はデフォルトのままにしておきます。

image-20220205114158153.png

Fleet capacity で、最小・最大インスタンス数を指定できます。

image-20220205114259169.png

提供する AppStream 2.0 の画面を、アプリケーションだけなのか、Desktop も含めて配信するのかを指定します。今回は、Application を選びます。

image-20220205114403546.png

スケーリングポリシーを指定できます。

  • 残りキャパシティに応じたスケールや、スケジュールに応じたスケールが可能

image-20220205114514889.png

Next を押します。

image-20220205114554278.png

前の手順で作成した Image を指定します。

image-20220205114615104.png

アプリケーションを動かすインスタンスが稼働する VPC や Subnet, Security Group などを指定します。

image-20220205114814106.png

Create を押します。

image-20220205114844917.png

Fleet が作成されました。

Stack の作成

AppStream 2.0スタックは、フリート、ユーザーアクセスポリシー、ストレージ構成で構成されます。

Stackの作成

フリートへのアクセスを制御するためのスタックを設定および作成します。

Create Stack

image-20220205115407136.png

名前や、対象の Fleet を選択します。

image-20220205120346772.png

VPC Endpoint や、埋め込み用の入力欄がありますが、このまま Next を押します。

image-20220205120413508.png

Enable home folders を有効化します。

これにより、エンドユーザーは、Amazon Simple Storage Service(S3)によってバックアップされた、セッション間のファイルを保存するための永続的な場所を得ることができます。

image-20220205120529538.png

デフォルトの設定のまま Next を押します。クリップボードの有効化や、ファイル転送の有効化などをカスタマイズ可能です。

image-20220205120752503.png

Create Stack

image-20220205120829015.png

Stack が作成されました。

image-20220205120852486.png

Streaming URL の作成

Stack が作成され、エンドユーザーがアクセスできるストリーミング環境の準備が出来ました。アクセスするには、Streaming URL が必要なので、作成をしていきます。

image-20220205121055098.png

Get URL を選択します。

image-20220205121128322.png

Streaming URL が生成されました。

https://appstream2.ap-northeast-1.aws.amazon.com/authenticate?parameters=eyJ0eXBlIjoiRU5EX1VTRVIiLCJleHBpcmVzIjoiMTY0NDAzNDI5MiIsImF3c0FjY291bnRJZCI6IjM3Mjk1Mjc1MjU4MCIsInVzZXJJZCI6IkxhYlVzZXIiLCJjYXRhbG9nU291cmNlIjoic3RhY2svV29ya3Nob3AtU3RhY2siLCJmbGVldFJlZiI6ImZsZWV0L1dvcmtzaG9wLUZsZWV0IiwiYXBwbGljYXRpb25JZCI6IiIsInVzZXJDb250ZXh0IjoiIiwibWF4VXNlckR1cmF0aW9uSW5TZWNzIjoiNTc2MDAifQ%3D%3D&signature=GkNUPwojDxy62Vdl41FN7kPKI6pFwqIaxOwe8XT4dDw%3D

image-20220205121153270.png

ブラウザで動作確認

ゲストユーザーで Chrome を立ち上げアクセスすると、特に認証は聞かれずアクセスできました。Chrome を選択してみましょう。

image-20220205121315076.png

On-demand モードなので、約2分ほど起動を待機します。

image-20220205121349818.png

Chrome だけ立ち上がりました。

image-20220205122206304.png

日本語で入力し、Chrome を使った検索が出来ました。

image-20220205152627368.png

AppStream 2.0 Client をインストール

前提条件などが記載されています。

次の URL から、Client をインストールします。インストールするタイプの Client は、Windows のみ存在します。

image-20220205122930091.png

Next

image-20220205123103313.png

Client 側のロギングを有効化します。

image-20220205123138889.png

Finish を押します。

image-20220205123207381.png

AppStream 2.0 の Client で動作確認

AppStream 2.0 の Client を立ち上げ、Streaming URL を入力して Connect を押します。

image-20220205123247723.png

Chrome を選択します。

image-20220205123335346.png

待ち時間が発生します。

image-20220205123348404.png

AppStream 2.0 の画面でも、日本語入力が出来ました。

image-20220205153248702.png

UserPool によるアクセス管理

AppStream 2.0 には、UserPool という概念があります (Cognito の UserPool とは別物です)。UserPool を使うことで、AppStream 2.0 としてのローカルなユーザーを作成し、ID 管理が出来ます。

User pool の画面に移動し、Create User を押します。

image-20220205155814280.png

メールアドレスや名前を入れて、Create を押します。

image-20220205155907920.png

作成されました。

image-20220205155930107.png

作成したユーザーに、Stack を紐づけます。

image-20220205160746619.png

紐づける Stack を選んで、Assign Stack を選択します。

image-20220205160802630.png

ユーザー作成時に指定したメールアドレスに、案内のメールが届きます。アクセス先のURLと、一時的なパスワードが記載されています。

image-20220205160506995.png

ブラウザで動作確認

リンクにアクセスすると、ログインを求められます。送られた一時的なパスワードをつかって、ログインを行います。

image-20220205160616029.png

新しいパスワードを設定します。

image-20220205160648364.png

ログインできたので、Chrome のアイコンを選択します。

image-20220205160912726.png

通常通り、Chrome が立ち上がって検索できます。

image-20220205161130799.png

AppStream 2.0 の Client で動作確認

メールで送付された URL を、AppStream 2.0 のクライアントに入れて、Connect を押します。

image-20220205161233323.png

Mail と Password の入力が求められます。

image-20220205161249378.png

はい、AppStream 2.0 の Client でも正常に動作します。

image-20220205161325680.png

付録 : Instance が不足しているとき

次のようにエラーが表示される

image-20220205122554225.png

参考URL

Workshop の URL
https://catalog.us-east-1.prod.workshops.aws/v2/workshops/e324c13e-2ded-4da2-ad9c-f685305156ac/en-US/

1
0
0

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
1
0