AppStream 2.0でTableau Desktopを動かしてみた
はじめに
好物はインフラとフロントエンドのかじわらゆたかです。
AppStream 2.0のImage Builderが利用可能になったのもあるため、そちらを用いてTableau Desktop環境を構築してみたいと思います。
Amazon AppStream 2.0 Image Builder が利用可能に
下準備
VPCと配置するサブネットを作成しておきます。 また、Image Builderに配置するEIPを作成しておきます。
Image Builder起動
- App Stream 2.0のQuick LinksからCustom Setupを指定します。
- Choose Imageでは選択できる項目は一つだけなので、そのままNextに遷移します
- Image Builderの設定をしていきます
- Name / Display Nameはわかりやすい名称にしておきます
- Instance Typeはstream.standard.largeを選択します
- VPC Subnetは下準備で作成したVPC Subnetを選択します
- 設定が完了後Reviewを押下します
- 設定した内容が問題なければそのままLaunchを押下します。
- Launch後Image一覧に遷移します。
最初はPendingなのでRunningになるまで待ちます。 自分がやった時は7分ほどかかりました。
- Runningになったら該当のイメージを押下して、Connectを選択します。
- Windowsサーバーへのログイン画面が表示されます。
Admin CommansからSend Ctrl + Alt + DELを選択
- ユーザー選択画面が表示されます。
ImageBuilderAdminを選択し、Admin Commands からLog me in を択肢することで自動でパスワードが入力されログインできます。
Image構築
EIPの付与
今回立ち上げたImage Builderはインターネットに対してアクセスが行えないため、インターネットにアクセスするためにははNAT Gatewayをたてるか、EIPを付与する必要があります。
今回はEIPを付与してみたいと思います。
なお、こちらの方法はAWSのTutrialに記載された内容になります。
Network Settings for Fleet and Image Builder Instances - Amazon AppStream 2.0
- 立ち上げたImage BuilderのIPアドレスを調べます。 これはやり方としてはWindowsでIPを調べるのと同じ方法になります。
コマンドプロンプトからipconfigで確認できます。
以下の例では10.0.200.243が割り当てられていることがわかります。
- 次にManagement Consoleから上記のInterfaceを探します。
EC2からNETWORK & SECURITYのNetwork Interfaceを選びます。
- 検索条件に調べたIPアドレスを入力するとうして、Image Builderのネットワークインターフェースを探します。
DescriptionにAppStream Network Interface. とあるのでそちらで探すのが容易かもしれません。
- 見つけたネットワークインターフェースにEIPを付与します。
割り当てるネットワークインタフェースを選択し、ActionからAssociate Address(アドレスの関連付け)を選択します。
下準備で作成しておいたEIPを割り当てます。
- EIPを付与したImage Builderからインターネットにアクセスできたことがわかります。
Tableau Desktop導入
インターネットにアクセスできるようになったのでTableau Desktopを入れてみたいと思います。
インターネットにアクセスできるため、インストーラーについてはTableauのサイトから取得してインストールを実施します。
こちらに付いてはAppStream固有の作業等は無かったため端折ります。
AppStreamへのアプリケーションの追加
前提として、Tableau Desktopをインストール済みの環境でTableau Desktopを公開することを目標とします
- Image Builder環境にあるImageAssistantを起動します。
- Add Applicationを選択し、Tableau Desktopを追加します。
- Image Builderにて、Testテストします。
Admin CommandsからSwitch Image Builder Testを選択し、ImageBuilderTestで実際に動かせるかの確認を行います。
Tableau Desktopが起動するかを確認しておきます。
- 実際に起動するかの確認をします。
設定したTableauを選択し、Launchを押下して起動することを確認します。
その後、正しく起動したのならLanuchを押下した時に表示されたダイアログのContinueを押下します。
Continueを押下すると先ほど押下できなかったNextが押下できるようになっているので、押下して次に進みます。
- イメージの名称を設定します。
これはApp Stream 2.0で起動するイメージの名となります。
- 内容を確認しImageを作成します。
表示されている内容で問題なければ、Disconnect and Create Imageを押下します。
書いてある通り、切断されイメージが作成されます。
このPendingがAvailableになるまで結構時間がかかりました。 私がやった際には13分ほどかかりました。
なお、Imageが作成後、Image BuilderのImageは削除して問題ありません。
Image立ち上げ
大瀧が以前やった方法でできるかなと思ったのですが、 Stackの作成中にFleetの設定は行わなくなった模様です。
その為、まずFleetを作成し、Fleetに割り当てる必要があります。
Fleetの作成
- Create FleetsからFleetの作成ウィザードを起動します。
- 任意の名前を入れてNextを押下します。
- イメージ選択で、先ほど作ったTalend Desktopのイメージがあるので、選択します。
- VPCやインスタンスタイプを選びます。
この箇所は大瀧の記事を参考にしてもらえればと思います。
また、VPCについては作成時とは異なるVPCを選ぶことが可能です。 なお、この際AppStreamからインターネットへアクセスする場合はNAT Gatewayが必要です。
- 設定内容を確認し、Fleetを作成します。
内容を確認し、Createを押下します。
料金についての警告が出るので問題なければI acknowledge that I have read the pricing details and want to continue.にチェックを入れて、Createを押下します。
なお、警告の内容については、App Stream 2.0料金にかかれているものとほぼ同一のものになります。 Amazon AppStream 2.0 の料金 – アマゾン ウェブ サービス (AWS)
押下後一覧をみるとFleetが作成されたことがわかります。
Stackの作成
Create Stackを押下するとStack作成ウィザードがでるので作成していきます。
その中でFleetが選べるので先ほど作成したFleetを選びます。
Nextを押下すると確認画面がでるので、内容を確認しCreateを押下します。
一覧に作成されたStackがあることがわかります。
Tableau Desktop 起動
作成したStackを選択し、ActionsからCreate streaming URLを選択します。
User idとSession Expiration(セッションの有効期限)を設定する画面でるので設定しGet URLを押下します。
URLをクリップボードに保存する画面がでるのでCopy Linkを押下します。
画面に出ているURLの後ろにパラメータが付与されたURLがクリップボードにコピーされます。
コピーされたURLをブラウザに貼り付けて実行するとアプリケーションをApp Stream 2.0の画面にTableau Desktopのアイコンが表示された形で出てきます。
Tableauのアイコンを押下することでTableau Desktopが起動します。
(下記はライセンス認証とTableauの表示言語を日本語に切り替えたものになります。)
まとめ
AppStream 2.0でTableau Desktopが動かせることが分かりました。
WorkSpacesとの使い分けやIMEを用いた日本語入力方法、AppStreamの認証等の課題がありますが、 Windows環境でしか動かないアプリを動かしたい、 ハイスペックなマシンで分析を行いたい といったケースには適用できそうです。
上記の課題の解決方法に関しては別途エントリーで紹介していきたいと思います。