[レポート]ワークショップ「Optimize application streaming costs with Amazon AppStream 2.0」に参加して Amazon AppStream 2.0 について学んできた #AWSreInvent

2023.11.30

AWS 事業本部 コンサルティング部の有福です。

AWS re:Invent 2023 においてワークショップ「Optimize application streaming costs with Amazon AppStream 2.0」に参加してきたのでレポートします。

セッション概要

Whether configured as an application streaming service or an all-inclusive virtual desktop service, Amazon AppStream 2.0 gives you the flexibility to support a wide range of user requirements while minimizing operating costs. This workshop includes hands-on practice setting up various fleet types and fine-tuning instance settings to optimize end user experience and control cost.

(和訳)Amazon AppStream 2.0は、アプリケーションストリーミングサービスとして構成しても、包括的な仮想デスクトップサービスとして構成しても、運用コストを最小限に抑えながら、幅広いユーザー要件を柔軟にサポートします。本ワークショップでは、エンドユーザーエクスペリエンスを最適化し、コストをコントロールするために、様々なフリートタイプの設定とインスタンス設定の微調整を実習します。

セッションでの学び

  • AppStream 2.0 に関する概要

  • AppStream 2.0 のストリーミングアプリケーション・フリートの作成方法

  • ストリーミングアプリケーションをエンドユーザーが使用した時の挙動

  • フリートタイプの違い

Amazon AppStream 2.0 について

Amazon AppStream 2.0 は、デスクトップアプリケーションに即座にアクセスできるようにするフルマネージド型のアプリケーションストリーミングサービスです。

AppStream 2.0 では、アプリケーションをホストして実行するために必要な AWS リソースを管理し、自動的にスケーリングを行うとともに、ユーザーにオンデマンドのアクセスを提供します。

ストリーミングアプリケーションは、AppStream 2.0 が提供する基本イメージから起動したデスクトップ環境でインストールを行い、その状態をスナップショット化したものをもとに起動することになるため、既存のアプリケーションのリファクタリングを行うことなく簡単に追加が可能です。

また、ストリーミングアプリケーションはエンドユーザーのブラウザにストリーミングされ、アプリケーションそのものは AWS のコンピューティングリソース上で実行されるため、データがユーザーのデバイスに保存されることはなく、常に高性能でセキュアなユーザーエクスペリエンスを実現可能です。

セッション内容

Overview of Amazon AppStreams 2.0

  • AppStream 2.0 の利点
    • フルマネージド

    • アプリケーションのリファクタリングが不要

    • オンデマンドでスケール

    • 柔軟なインスタンスタイプ

    • ブランディング適用(外観のカスタマイズ)が可能

    • 従量課金

Balancing cost and exprience

  • フリートタイプ

    • 常時起動

    • オンデマンド

    • Elastic

  • セッション数

    • シングルセッション

    • マルチセッション

  • スケーリングポリシーによるストリーミングインスタンスの最適化

  • インスタンスファミリー

    • 汎用

    • コンピューティング最適化

    • メモリ最適化

    • Graphics

  • ロケーションの選択

  • その他の方法

    • Fleet consolidation

    • Streaming Performance

    • Management

Review of workshop lab environment

  • ハンズオン環境についての説明

Do the lab

  • ハンズオンの実施

Module 1: Create image

  • イメージビルダー(AppStream が提供する基本イメージ)から起動したインスタンスに管理者ユーザーとしてブラウザ上でログインし、同インスタンスにストリーミング用アプリケーションを手動でインストール

  • イメージビルダーインスタンスにデフォルトでインストールされている「Image Assistant」アプリを起動し、上記でインストールしたアプリケーションをストリーミングアプリケーションとして追加

  • Image Assistant でユーザー切り替えを行い、テストユーザーとしてストリーミングアプリケーションが正常に起動するかを検証

  • ストリーミングアプリケーションの起動パフォーマンスの最適化を設定

    • (例)初回起動時に表示されるダイアログをスキップした後の状態を登録することで、エンドユーザーにはダイアログを表示させないようにする
  • Image Assistant でイメージ名などの構成情報を入力し、イメージ作成を実行

Module 2: Elastic fleet

  • Elastic フリート用のアプリケーションパッケージであるアプリブロックビルダーを作成

  • 上記で作成したアプリブロックビルダーを割り当てたアプリブロック(ストリーミングアプリケーションの起動に必要なファイル・バイナリなどをS3上に保存した仮想ハードディスク)を作成

  • アプリブロック作成後に起動したアプリブロックビルダーインスタンス上でアプリケーションの追加インストールを行い、 Image Assistant でその変更を記録

  • アプリブロックからストリーミングアプリケーションを起動するための起動設定を定義したアプリケーションを作成

  • フリートタイプが「Elatic」のフリートを作成し、同フリートに紐付いたスタックを作成

    • フリートの設定でスケーリングポリシーを設定

Module 3: Always on fleet

  • フリートタイプが「Always on」のフリートを作成し、同フリートに紐付いたスタックを作成
    • フリートの設定でスケーリングポリシーを設定
  • マルチセッションを有効にした「Always on」フリートを別途作成

Module 4: User experience

  • 各タイプのフリートへそれぞれエンドユーザーとしてアクセスし、ストリーミングアプリケーションの起動時間の違いを確認

    • オンデマンドフリートは接続の数分後に起動

  • 常時接続フリートは接続の直後に起動

  • Elastic フリートは接続の数秒後に起動

  • マルチセッションフリートに対して複数エンドユーザーとしてアクセス
    • それぞれでストリーミングアプリケーションを起動できることを確認

    • フリートのセッション情報でセッションごとに使用しているインスタンスを確認

Recap and wrap-up

ワークショップ全体の振り返りとまとめ

まとめ

これまで AppStream 2.0 に触れる機会がなかったため、本セッションに参加してみました。

似たようなサービスである Amazon Workspaces がデストップ環境のストリーミングサービスであるのに対して、AppStream 2.0 についてはデスクトップアプリケーションのみのストリーミングにも対応している点で大きく異なることを確認できました。

AppStream 2.0 ではユーザーが特定のアプリケーション以外の操作をできないように制限することができるため、不用意な操作によって環境設定が書き換えられるリスクを抑えられます。

また、予め初期設定を済ませた状態でアプリケーションが起動するような設定を行えるなど、ユーザーエクスペリエンスの観点でも AppStream 2.0 メリットは大きいと考えます。