0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AppStream 2.0 でマルチセッションを行う

Posted at

はじめに

2023 年 10 月ごろに、AppStream 2.0 で 1 個の仮想インスタンスを複数のユーザーが共有して利用できるマルチセッション機能が一般提供開始になりました。 複数ユーザーでインスタンスを共有でき、コスト効率化といったメリットがあります。

マルチセッションをどのように利用できるのか知見がなかったので、構築手順と共に細かな Tips を確認していきます。

Image Builder の作成

AppStream 2.0 マルチセッションで、イメージテンプレートをカスタマイズできるか確認をしていきます。

イメージをカスタマイズするために、Launch Image Builder を押します。

image-20250211112121382.png

Windows Server 2022 を選択します。

image-20250211113358458.png

VPC は適当に指定します。

  • NAT Gateway をひもづけている Private Subnet に配置する

image-20250211115653148.png

Launch を押します。

image-20250211113458305.png

Pending となっています。

image-20250211113504537.png

Image Builder に接続

作成した Image Builder が Running になったので、これをカスタマイズするために接続をします。

image-20250211115136196.png

Connect を押します。

image-20250211115147579.png

ログインするユーザーを選択可能です。Administrator を選択して、独自のカスタマイズをしていきます。

image-20250211115226844.png

Web Browser 上で Windows Server 2022 の画面が開かれました。

image-20250211115254360.png

なお、このときには、Windows OS 上で利用しているユーザーは、imagebuilderadmin ユーザーを利用しています。

Microsoft Windows [Version 10.0.20348.2762]
(c) Microsoft Corporation. All rights reserved.

C:\Users\ImageBuilderAdmin>whoami
ec2amaz-ofhgion\imagebuilderadmin

C:\Users\ImageBuilderAdmin>

Chrome のインストール

下記の URL からインストーラーをダウンロードして、Chrome をインストールします。興味が無ければ、読み飛ばして頂いて大丈夫です。

Google Chrome をインストールします。

image-20250211121045542.png

Google Chrome を Install している様子です。

image-20250211121131531.png

インストールされると、Desktop に Chrome の Icon が表示されました。

image-20250211121158469.png

Chrome を開くと、通常通りに利用が能です。

Don's sign in

image-20250211121223454.png

Set as Default

image-20250211121235150.png

Image Assistant で Image 作成

Image Assistant で Image を作成していきます。Desktop に Icon があり、これを利用します。

image-20250211123202130.png

Add App を押します。

image-20250211123220816.png

Chrome を選択します。

C:\Program Files\Google\Chrome\Application

image-20250211123247423.png

Save を押します。

image-20250211123302933.png

Next を押します。

image-20250211123316116.png

Next を押します。

image-20250211123331086.png

Next を押します。

image-20250211123533733.png

Image の名前などを入れて、Next を押します。

image-20250211123642260.png

Disconnect and Create Image を押します。

image-20250211123655749.png

Image Builder の Status が Snapshotting に変わっています。作成完了まで 35 分ほどかかる様子です。

image-20250211123718448.png

Status が Stopped になっています。

image-20250211140612725.png

Image Registry に登録されています。

image-20250211140645633.png

Fleet の作成

AppStream 2.0 で Fleet を作成していきます。

image-20250211140713447.png

On-Demand を選択します。

image-20250211140731765.png

重要な設定がこちらです。Multiple user sessions の選択肢を有効化します。これにより、マルチセッション機能が有効化できます。

  • Maximum sessions per instance を 2 と指定することで、1 個のインスタンスに、同時に 2 セッションまで接続できます。最大 50 まで指定可能ですが、50 で快適に利用できるかというと、要検証です。(多分重そう・・・。)
  • Stream view を Desktop とすることで、デスクトップをそのまま利用可能。

image-20250211141240769-1739250769787.png

Image の指定です。独自に作成した Image を指定します。

image-20250211141447240.png

Network の指定

  • Internet へのアクセスを有効化するために、Private Subnet で作成します。

image-20250211141714667.png

Create fleet を押します。

image-20250211141640284.png

Create を押します。

image-20250211141647897.png

Fleet が作成されました。

image-20250211141736922.png

インスタンスが立ち上がっている様子がわかります。

image-20250211142405505.png

Stack の作成

Create Stack を押します。

image-20250211142445918.png

作成した Fleet を選択します。

image-20250211142540432.png

データを永続的に保存してくれるホームフォルダを有効化 (デフォルトで有効化されている)

image-20250211142621722.png

これ以外はデフォルトのままです。

image-20250211142724485.png

Create Stack を押します。 

image-20250211142737065.png

User Pool で User を作成して接続確認

AppStream 2.0 の中にあるローカルの User Pool を作成して、接続確認をしていきます。

image-20250211154421871.png

Email などを入力します。

image-20250211154528432.png

作成した User を Stack に紐づけます。

image-20250211154601763.png

Send email notification to user を選択して、アクセス URL をユーザーにメールでお知らせします。

image-20250211154620252.png

次のようなメールが、登録したメールアドレスに自動送信されます。

image-20250211154718622.png

利用者側でブラウザにアクセスすることで、ログインが可能です。

image-20250211154835077.png

本パスワードを入力します。

image-20250211154846206.png

ログイン後に、AppStream 2.0 で設定した Desktop や Chrome が選択できる画面となります。

image-20250211154901152.png

Desktop を選択して、ブラウザ上でその環境にアクセスをします。

image-20250211154919196.png

1 ~ 2 分で接続が出来ました。Image Builder で、Chrome をカスタマイズしましたが、これがデスクトップに見えます。無事にマルチセッションで接続ができました。

image-20250211155045694.png

Tips : AppStream 2.0 上の Windows Server としての User

AppStream 2.0 のマルチセッションを利用して接続した場合は、OS 上のユーザー名はランダムな名前となっている。

Microsoft Windows [Version 10.0.20348.2762]
(c) Microsoft Corporation. All rights reserved.

D:\AS2-e7da73ada66b0f41>whoami
ec2amaz-g0r4enm\as2-e7da73ada66b0f41

D:\AS2-e7da73ada66b0f41>

なお、C ドライブ配下に、このインスタンス上で利用しているユーザーのフォルダが見える。

image-20250211161243028.png

Tips : キーボード入力を日本語に選択可能

画面上部の Preferences から、キーボード入力を日本語に選択可能。この設定を一度行うと、AppStream 2.0 側で覚えててくれており、次回接続時は設定しなくてもよい。

image-20250211155444589.png

これによって、Alt + 全角半角を押すことで日本語入力が可能

image-20250211155522665.png

Tips : Home Folder

This PC の中に、Home Folder が見える。これは、永続的な保存領域となっている。

image-20250211155905265.png

この中にファイルを入れる。

image-20250211155814166.png

ログオフして、再度アクセスしてみると、Home Folder はデータが保持されている。

image-20250211162220583.png

Tips : ローカルとリモートのファイル転送

My Files から、Home Folder などを対象に、手元のファイルのアップロードやダウンロードが可能。

image-20250211160005395.png

アップロードやダウンロードが可能

image-20250211160124706.png

Tips : 管理者権限は利用不可

AppStream 2.0 の利用ユーザー側で管理者権限は利用不可。

image-20250211155145526.png

Tips : クリップボードの転送

ローカルの PC と、AppStream 2.0 の間は、クリップボードの転送が可能。 (ただし、クリップボードを利用したファイル転送は不可)

Tips : Web Camera は現時点では利用不可

マイクは利用可能。

image-20250211160500526.png

Tips : AppStream 2.0 の Fleet 配下のインスタンスの状況が簡単に確認可能

image-20250211160657548.png

利用セッションと、利用インスタンス id が確認できる

  • EC2 の画面では、このインスタンスは確認できない

image-20250211160902034.png

対象のセッションを Terminate することが可能

image-20250211161030549.png

Tips : デスクトップのデータは非永続化

Desktop 上のデータは、非永続化されたデータとなります。

例えば、以下のように、テキストファイルをデスクトップに保存します。

image-20250211161405623.png

なお、切断するときは、Windows 上で Disconnect を押すのではなく、

image-20250211161431897.png

次のように、右上のアイコンから、Log out を選択します。

image-20250211161601384.png

Log out を押します。

image-20250211161610904.png

数分後、再度ログインを行う。

image-20250211161524774.png

再度、Desktop を選択

image-20250211161936295.png

デスクトップ上のファイルは消えている。

image-20250211162142385.png

Tips : AppStream 2.0 インスタンスの一時的なストレージの容量

AppStream 2.0 で提供されているインスタンスの一時的なストレージは、200 GB となっている。(EBS 相当の理解)

アプリケーションのデプロイを計画するときは、サービスのエンドポイントとクォータに注意してください。さらに、イメージを作成する前に、インストーラファイルとヘルパーファイルをクリーンアップして C ドライブの総容量を最適化してください。AppStream 2.0 インスタンスには 200 GB の固定サイズボリュームが 1 つあることに注意してください。固定サイズのボリュームを超えないようにするには、インストール後にディスク容量を最適化することがベストプラクティスです。

Windows Client からアクセス

以下の URL から、Windows や Mac で利用できる AppStream の Client をダウンロードできます。

image-20250211162324154.png

AppStream 2.0 をインストールするときの画面。ログを有効化。

image-20250211162435619.png

Finish

image-20250211162451324.png

メールで共有された URL を使って接続が可能。

image-20250211162515424.png

ログイン画面

image-20250211162541242.png

Desktop を選択

image-20250211162553784.png

接続ができた

image-20250211162943866.png

Windows Client で動作確認した機能メモ

  • Home Folder のアップロードダウンロード
  • キーボードの入力切替
  • ローカル PC と、AppStream 2.0 接続先との間の、クリップボードの共有
  • Multi-Session ではカメラは利用不可。マイクは OK。

検証でわかったこと

  • マルチセッション機能を利用できる OS の制限について

  • 1 インスタンスあたり、最大で 50 ユーザーの接続が上限

    • ただし、50 ユーザーで接続したときに快適に利用できるかというと、そうではない場合が考えれる。快適に利用するための、参考となる計算式は、こちらの ドキュメントで説明されている。
  • GPU についてもマルチセッションで複数ユーザーの接続をサポートしている。ただし、Service Quota について、上限緩和を気にする必要がある。g4dn や g5 はデフォルトで 0 になっているはずなので、適宜上限緩和の実施が必要。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?