AppStream 2.0でTableau Desktopを動かしてみた

eyecatch-app-stream-2-0

はじめに

好物はインフラとフロントエンドのかじわらゆたかです。

AppStream 2.0のImage Builderが利用可能になったのもあるため、そちらを用いてTableau Desktop環境を構築してみたいと思います。

Amazon AppStream 2.0 Image Builder が利用可能に

下準備

VPCと配置するサブネットを作成しておきます。 また、Image Builderに配置するEIPを作成しておきます。

Image Builder起動

  1. App Stream 2.0のQuick LinksからCustom Setupを指定します。

    20170322_01

    20170322_02

  2. Choose Imageでは選択できる項目は一つだけなので、そのままNextに遷移します

    20170322_03

  3. Image Builderの設定をしていきます

    • Name / Display Nameはわかりやすい名称にしておきます
    • Instance Typeはstream.standard.largeを選択します
    • VPC Subnetは下準備で作成したVPC Subnetを選択します
    • 設定が完了後Reviewを押下します

    20170322_04

  4. 設定した内容が問題なければそのままLaunchを押下します。

    20170322_05

  5. Launch後Image一覧に遷移します。

    最初はPendingなのでRunningになるまで待ちます。 自分がやった時は7分ほどかかりました。

    20170322_06_trim

    20170322_07_trim

  6. Runningになったら該当のイメージを押下して、Connectを選択します。

    20170322_08

  7. Windowsサーバーへのログイン画面が表示されます。

    Admin CommansからSend Ctrl + Alt + DELを選択

    20170322_09

  8. ユーザー選択画面が表示されます。

    ImageBuilderAdminを選択し、Admin Commands からLog me in を択肢することで自動でパスワードが入力されログインできます。

    20170322_10

    20170322_11

Image構築

EIPの付与

今回立ち上げたImage Builderはインターネットに対してアクセスが行えないため、インターネットにアクセスするためにははNAT Gatewayをたてるか、EIPを付与する必要があります。

今回はEIPを付与してみたいと思います。

なお、こちらの方法はAWSのTutrialに記載された内容になります。

Network Settings for Fleet and Image Builder Instances - Amazon AppStream 2.0

  1. 立ち上げたImage BuilderのIPアドレスを調べます。 これはやり方としてはWindowsでIPを調べるのと同じ方法になります。

    コマンドプロンプトからipconfigで確認できます。

    以下の例では10.0.200.243が割り当てられていることがわかります。

    20170322_12

  2. 次にManagement Consoleから上記のInterfaceを探します。

    EC2からNETWORK & SECURITYのNetwork Interfaceを選びます。

    20170322_13

  3. 検索条件に調べたIPアドレスを入力するとうして、Image Builderのネットワークインターフェースを探します。

    DescriptionにAppStream Network Interface. とあるのでそちらで探すのが容易かもしれません。

    20170322_14

  4. 見つけたネットワークインターフェースにEIPを付与します。

    割り当てるネットワークインタフェースを選択し、ActionからAssociate Address(アドレスの関連付け)を選択します。

    20170322_15

    下準備で作成しておいたEIPを割り当てます。

    20170322_16

  5. EIPを付与したImage Builderからインターネットにアクセスできたことがわかります。

    20170322_17

Tableau Desktop導入

インターネットにアクセスできるようになったのでTableau Desktopを入れてみたいと思います。

インターネットにアクセスできるため、インストーラーについてはTableauのサイトから取得してインストールを実施します。

こちらに付いてはAppStream固有の作業等は無かったため端折ります。

AppStreamへのアプリケーションの追加

前提として、Tableau Desktopをインストール済みの環境でTableau Desktopを公開することを目標とします

  1. Image Builder環境にあるImageAssistantを起動します。

    20170322_18

  2. Add Applicationを選択し、Tableau Desktopを追加します。

    20170322_19

    20170322_20

  3. Image Builderにて、Testテストします。

    Admin CommandsからSwitch Image Builder Testを選択し、ImageBuilderTestで実際に動かせるかの確認を行います。

    20170322_21

    Tableau Desktopが起動するかを確認しておきます。

  4. 実際に起動するかの確認をします。

    設定したTableauを選択し、Launchを押下して起動することを確認します。

    20170322_22

    その後、正しく起動したのならLanuchを押下した時に表示されたダイアログのContinueを押下します。

    20170322_23

    Continueを押下すると先ほど押下できなかったNextが押下できるようになっているので、押下して次に進みます。

    20170322_24

  5. イメージの名称を設定します。

    これはApp Stream 2.0で起動するイメージの名となります。

    20170322_25

  6. 内容を確認しImageを作成します。

    20170322_26

    表示されている内容で問題なければ、Disconnect and Create Imageを押下します。

    書いてある通り、切断されイメージが作成されます。

    20170322_27

    このPendingがAvailableになるまで結構時間がかkリマした。 私がやった際には13分ほどかかりました。

    なお、Imageが作成後、Image BuilderのImageは削除して問題ありません。

Image立ち上げ

大瀧が以前やった方法でできるかなと思ったのですが、 Stackの作成中にFleetの設定は行わなくなった模様です。

その為、まずFleetを作成し、Fleetに割り当てる必要があります。

Fleetの作成

  1. Create FleetsからFleetの作成ウィザードを起動します。

    20170322_28

  2. 任意の名前を入れてNextを押下します。

    20170322_29

  3. イメージ選択で、先ほど作ったTalend Desktopのイメージがあるので、選択します。

    20170322_30

  4. VPCやインスタンスタイプを選びます。

    この箇所は大瀧の記事を参考にしてもらえればと思います。

    Amazon AppStream 2.0でアプリケーションを配信する #reinvent

    また、VPCについては作成時とは異なるVPCを選ぶことが可能です。 なお、この際AppStreamからインターネットへアクセスする場合はNAT Gatewayが必要です。

  5. 設定内容を確認し、Fleetを作成します。

    20170322_31

    内容を確認し、Createを押下します。

    20170322_32

    料金についての警告が出るので問題なければI acknowledge that I have read the pricing details and want to continue.にチェックを入れて、Createを押下します。

    なお、警告の内容については、App Stream 2.0料金にかかれているものとほぼ同一のものになります。 Amazon AppStream 2.0 の料金 – アマゾン ウェブ サービス (AWS)

    押下後一覧をみるとFleetが作成されたことがわかります。

    20170322_33

Stackの作成

Create Stackを押下するとStack作成ウィザードがでるので作成していきます。

その中でFleetが選べるので先ほど作成したFleetを選びます。

20170322_34

Nextを押下すると確認画面がでるので、内容を確認しCreateを押下します。

20170322_35

一覧に作成されたStackがあることがわかります。

20170322_36

Tableau Desktop 起動

作成したStackを選択し、ActionsからCreate streaming URLを選択します。

20170322_37

User idとSession Expiration(セッションの有効期限)を設定する画面でるので設定しGet URLを押下します。

20170322_38

URLをクリップボードに保存する画面がでるのでCopy Linkを押下します。

20170322_39

画面に出ているURLの後ろにパラメータが付与されたURLがクリップボードにコピーされます。

コピーされたURLをブラウザに貼り付けて実行するとアプリケーションをApp Stream 2.0の画面にTableau Desktopのアイコンが表示された形で出てきます。

20170322_40

Tableauのアイコンを押下することでTableau Desktopが起動します。

(下記はライセンス認証とTableauの表示言語を日本語に切り替えたものになります。)

20170322_41

まとめ

AppStream 2.0でTableau Desktopが動かせることが分かりました。

WorkSpacesとの使い分けやIMEを用いた日本語入力方法、AppStreamの認証等の課題がありますが、
Windows環境でしか動かないアプリを動かしたい、 ハイスペックなマシンで分析を行いたい
といったケースには適用できそうです。

上記の課題の解決方法に関しては別途エントリーで紹介していきたいと思います。