Amazon AppStream2.0を使ってみた

2017.12.27

こんにちは。池田です。暴風雪に見舞われている中、年越しに向けた買い置きミッションをこなしてきたのですが一夜明けると快晴でした。

はじめに

2013年にリリースされていたAppStreamですが、2016年にAppStream2.0へバージョンアップされています。 2017年のre:Inventでは【レポート】教育現場で使われるAmazon WorkSpacesとAmazon AppStream 2.0 #reinvent #WPS207にあるように、教育現場での使われ方が紹介されており興味が湧きましたので、やってみたことをご紹介しようと思います。

なお、初めてAppStream2.0を利用するにあたり下記の記事を参考にしました。 ・【速報】Amazon AppStreamがデスクトップアプリケーション配信サービスになって帰ってきた #reinvent「AWS Black Belt Tech Webinar 2014 – Amazon AppStream」レポートAppStream 2.0でTableau Desktopを動かしてみた 操作手順や内容が少し変更されているようでしたので、なるべく細かくご紹介しようと思います。

もくじ

オリジナルイメージ作成

デスクトップアプリケーションを配信するためのイメージは既にいくつも用意されているのですが、今回はオリジナルのイメージを作成してみることにしました。

Image Builderの起動

マネジメントコンソールにて[サービス]から[AppStream2.0]を選択し、表示されたメニューから[Images]を選び[Image Builder]タブを開き[Launch Image Builder]をクリックします。

イメージタイプの選択

Choose Imageではたくさんの選択肢が表示されますので、利用目的に適したイメージタイプを選択します。今回は以下のベースイメージを選択して画面右下の[Next]で先に進みました。

イメージの詳細設定

[Name]欄は任意の名前で良いのでわかりやすい名前にしました。 Instance Typeは[General Purpose]が一般的な用途なのでデフォルト値のままとし、mediumインスタンスを選択しました。

ネットワーク設定

以下のようにしました。 今回はVPCやSubnetなど他の検証で作成済みだったものを流用していますが、実際は目的に応じて用意する必要があります。

設定内容の確認

ネットワーク設定項目を決めて右下の[review]ボタンをクリックすると、全体の確認画面が表示されます。問題がなければ右下の[Launch]をクリックします。

作成直後は下記画像のように[Pending]のステータスとなっていますので、しばらく待つ必要があります。

ユーザの準備

オリジナルイメージが使えるようになるまでの間に、サービス利用ユーザを用意しておきます。

新規ユーザの作成

画面左のメニューから[User Pool]を選択し[Create User]でユーザの登録が行えます。

ユーザを作成すると、登録したメールアドレスへ確認メールが送信されます。 確認メールには仮パスワードとログイン画面へのリンクが記載されていますが、ログインは後からします。

配信環境の作成

イメージのLaunchから10分ほど経過して[Images]画面に戻ると、先ほど作成したイメージのステータスが[Running]となっていました。

配信サーバへのログイン

[Connect]ボタンをクリックしてユーザへ提供するアプリケーション環境を用意します。 環境を整えるためAdministratorユーザでログインします。

少し待つとWindows Server2012R2のデスクトップ画面が表示されます。

配信アプリケーションの準備

Firefoxが標準で利用できますので、これを使ってアプリケーションのダウンロードを行います。 今回はsshクライアントとエディタをインストールしました。 ついでに、OSを日本語化しておきました。

Image Assistantの起動

インストールした各アプリケーションを配信アプリケーションとして利用できるようにします。 デスクトップに配置されている[Image Assistant]を起動すると[Add Applications to Image]ウインドウが表示されます。 [+Add Application]をクリックし、配信したいアプリケーションを選択します。このとき初期値などが必要なものは設定しておきます。

アプリケーションの登録が済んだら右下の[Next]で次のステップへ進みます。

配信環境のテスト

Administratorからテストユーザへ変更し、アプリケーションの起動などに問題がなければ[Next]をクリックして進みます。 [Launch]ボタンをクリックして起動させます。

登録した各アプリケーションの起動が終わったら作成中のイメージに名前をつけ[Next]で進みます。

内容を確認したら右下の[Disconnect and Create Image]をクリックします。 Administratorログインのセッションが切断されますので、AppStream2.0のマネジメントコンソールへ戻ります。

Image Builderのステータスが[Snapshotting]となっていますので、しばらく待ちます。

Fleetの作成

Image Builderでスナップショットが作成されたらステータスが[Stopped]となりますのでスタートしておきます。

続いてFleetを作成します。

Fleetインスタンスの準備

Step 2: Choose an Imageにて、先ほど作成したイメージが表示されていますので、選択して次の手順へ進みます。

インスタンスタイプはmediumを選択し、他の値はデフォルトのままで次へ進むことにしました。

Fleet用のネットワーク設定を行い、次の画面で設定内容を確認します。問題がなければ画面右下の[Create]ボタンをクリックします。

課金に関する注意が表示されます。今回はテストということで短時間で削除する前提なので承諾して先に進みます。

Fleetが作成されました。

Stackの作成

画面左メニューより[Stacks]を選択し[Create Stack]をクリックすると、Stack detailsウインドウが表示されます。 スタックの名前や使用するFleetなどを登録します。

Stackの初期設定

Enable Home Foldersは目的に応じて設定します。

Review画面で表示された内容に問題がなければ[Create]ボタンをクリックします。

Fleetのアサイン

Stack一覧に戻り、作成したStackにFleetを設定します。

先ほど作成しておいたFleetを選択して[Associate]をクリックします。

ユーザのアサイン

User Pool一覧へ移動し、Fleetに続いてこのStackを利用できるユーザを設定します。

アサインに成功すると、いよいよそのユーザでStackへログインできるようになります。

実際に利用してみる

今回はStackを作成したユーザとは異なるChromeユーザを使用します。 Stackへの招待メール本文に記載されているリンクをコピーしてアクセスします。

用意したアプリケーションが表示され、無事に操作もできました。

まとめ

今回はAppStream2.0を使って、Windows用アプリケーションを2つ配信する環境を作成してみました。 あらかじめ用意されているサンプルでは他にもいくつかのアプリケーション実行環境が用意されたものもありました。

たしかに、教育機関などでは活用のし甲斐があるサービスだと感じました。ほかに、企業などでのユースケースとして社内認定試験用として、問題閲覧と回答環境を用意する場面などもイメージできました。 利用するアプリケーションのライセンスに注意を払う必要はありますが、工夫次第で色々と活用の場面があるサービスだと実感しました。 本記事を作成している2017年12月現在ではiOSアプリのFirefoxやChromeには非対応とのことでしたが、今後スマートフォンやタブレット向けブラウザへも対応されていくと、活用シーンはますます広がりそうですね。