イメージの作成と管理 - Amazon AppStream 2.0 をデプロイするためのベストプラクティス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

イメージの作成と管理

AppStream 2.0 でフリートまたは Image Builder を起動するときは、AppStream 2.0 ベースイメージのいずれかを選択する必要があります。その後、管理者はベースイメージに基づいて独自のアプリケーションや構成設定を追加できます。

イメージを構築する際には、アプリケーションが正しく安全に動作するようにするための重要な考慮事項があります。さらに、そのイメージをどのように管理するかについて、設計上の考慮事項があります。

AppStream 2.0 イメージの構築

新しいイメージを構築するときは、次の点を考慮することが重要です。

  • オペレーティングシステム

  • アプリケーション

  • ユーザープロファイル

  • セキュリティ

  • パフォーマンス

  • エージェントのバージョン

  • Image Assistant CLI

AppStream 2.0 イメージの構築

2021 年 11 月、AppStream 2.0 は Amazon Linux 2 のサポートを開始しました。今回の発表により、AppStream 2.0 は次の 4 つのプラットフォームタイプをサポートするようになりました。

  • Windows Server 2012 R2

  • Windows Server 2016

  • Windows Server 2019

  • Amazon Linux 2

アプリケーションの要件に基づいて特定のプラットフォームを選択しなければならない場合があります (例えば、アプリケーションに Windows が必要な場合、Amazon Linux 2 はオプションを選択することはできません)。アプリケーションの要件以外にも、以下の比較マトリクスを参照して、ユースケースと環境に最適なプラットフォームタイプを選択してください。

表 1 — プラットフォームの種類、どのようなときに使うか、料金

プラットフォームの種類

どのようなときに使うか

フリートの料金*

Windows Server (2012 R2、2016 または 2019)

アプリケーションは Windows でのみ実行できる (Amazon Linux 2 はサポートされていません)。ドメインをストリーミングインスタンスに参加させたい。AppStream 2.0 ストリーミングインスタンスで既存のグループポリシーを使用したい (Linux はグループポリシーに準拠していませんが、セッション開始時にセッションスクリプトを使用して設定を自動化できます)。デスクトップビューを使用し、ユーザーは Windows デスクトップエクスペリエンスを求めている。ステップバイステップのウィザードを備えた Image Assistant アプリケーションを使用して、アプリケーションカタログとイメージを作成すること希望している。現時点では、ターミナルコマンドを使用して Amazon Linux 2 イメージを作成する必要があります (詳細については、このチュートリアルを参照してください)。アプリケーション設定の永続化を使用したい。アプリケーション設定の永続化の有効化は、現在 Linux ベースのスタックではサポートされていません。

RDS SAL (Microsoft リモートデスクトップサービスサブスクライバーアクセスライセンス) 料金 (固有のユーザー 1 人につき 1 か月あたり 4.19 USD) ** に加えて、以下が加算されます。

  1. 常時オン、オンデマンドのフリートでは 1 時間あたり 0.10 USD

  2. Elastic フリートは 1 時間あたり 0.15 USD

Amazon Linux 2

低コストのストリーミングインスタンスを使用して、RDS SAL ライセンス料を回避したい。アプリケーションは Amazon Linux 2 と互換性がある

Linux インスタンスは Windows インスタンスに比べてコストが低くなります。Linux では、RDS SAL 料金はなく、以下の時間単位の料金を支払います。

  1. 常時オン、オンデマンドのフリートでは 1 時間あたり 0.084 USD

  2. Elastic フリートは 1 時間あたり 0.112 USD

* バージニア北部リージョンの stream.standard.medium に基づく

** 対象となるカスタマーが自身のライセンスを使う場合、AWS RDS SAL 料金は発生しません。詳細については、「AppStream 2.0 の料金表」ページを参照してください。教育機関のカスタマーも特典の対象となる場合があります。学校、大学、および特定の公共機関によっては、Microsoft RDS SAL ユーザー料金の対象となる場合があります。

アプリケーション

アプリケーションをインストールする前に、アプリケーションの依存関係やハードウェア要件などのアプリケーション要件を確認することが重要です。Image Builder インスタンスにアプリケーションを正常にインストールしたら、必ずユーザーを切り替え、テストユーザーのコンテキストでアプリケーションをテストしてください。

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

ユーザーがリアルタイムでアクセスできるアプリケーションのカタログを変更したい場合、動的アプリケーションフレームワークにより API オペレーションが提供されます。動的アプリケーションプロバイダーによって管理されるアプリケーションは、イメージ内に存在することも、Windows ファイル共有やアプリケーション仮想化テクノロジーなどからインスタンス外に存在することもあります。この機能では、Microsoft Active Directory ドメインに参加している AppStream 2.0 フリートが必要です。詳細については、「AppStream 2.0 での Active Directory の使用」を参照してください。

App Block

App Block は、ユーザーが使用するアプリケーションを起動するのに必要なセットアップスクリプトとアプリケーションファイルを表します。仮想ハードディスク (VHD) は Amazon S3 のどのオブジェクトでも可能です。ユーザーがアプリケーションにアクセスするには完全にダウンロードする必要があるため、このオブジェクトは 1.5 GB 未満にすることをお勧めします。

App Block の最適化

Windows ベースのフリートでは、アプリケーションを格納する VHDX ファイルを作成することをお勧めします。Linux ベースのフリートでは、イメージ (IMG) を作成することをお勧めします。これらの仮想ディスクは、アプリケーションファイルをホストするために、できるだけ小さく作成する必要があります。仮想ディスクは圧縮してサイズをさらに削減できます。セットアップスクリプトでは、マウントする前にディスクを解凍する必要があります。Windows PowerShell セットアップスクリプトの例には、解凍機能が含まれています。アーカイブ (zip) の展開とダウンロード速度の間にはトレードオフがあります。アプリケーションの起動時間を最短にするバランスを見つけるには、何度かテストの実施が必要な場合があります。

アプリケーションの更新

アプリケーションには、軽微な変更と大規模な変更が発生する場合があります。軽微な更新の場合は、App Block ファイルをホストする Amazon S3 バケットでバージョニングを有効にします。この設定により、管理者は App Block の設定を変更せずに、該当するアプリケーションの VHD オブジェクトのバージョンを変更することで、特定のアプリケーションの以前のバージョンにロールバックできます。大規模な更新では、更新された VHD に対して新しい App Block を作成します。これにより、管理者はアプリケーションの主要な変更をバージョン管理レベルではなく、App Block レベルで区別できるようになります。そのため、管理アプリケーションをより整理して管理できます。

ユーザープロファイルのカスタマイズ

Amazon AppStream 2.0 は、設計上、非永続的なアプリケーションおよびデスクトップソリューションです。ユーザーセッションが終了すると、システム変更とユーザー変更の両方も終了します。アプリケーション設定の永続化は、必要な場合にのみ有効にしてください。ログオンプロセスにオーバーヘッドが加わり、必要な S3 ストレージのコストに関する考慮事項が増える可能性があります。

アプリケーション設定の永続化が必要な状況では、AWS は、カスタムポリシーと S3 VPC ゲートウェイエンドポイントを使用して接続を保護することをお勧めします。アプリケーション設定全体のサイズを評価し、アプリケーション設定の永続化に保存される設定を最小限に抑えて、コストとパフォーマンスを最適化します。

ユーザープロファイルのカスタマイズは AppStream 2.0 Image Builder インスタンスで設定できます。これには、レジストリキーの追加と変更、ファイルの追加、その他のユーザー固有の設定が含まれます。AppStream 2.0 Image Assistant には、ユーザープロファイルを作成するオプションがあります。これにより、テンプレートユーザープロファイルがデフォルトのユーザープロファイルにコピーされます。イメージがフリートにデプロイされると、そのフリートからセッションをストリーミングするエンドユーザーのユーザープロファイルは、デフォルトのユーザープロファイルから作成されます。特にアプリケーション設定の永続化が有効になっている場合、ユーザープロファイルサイズの最小化を検討することが重要です。デフォルトでは、ユーザープロファイルの VHDx の最大サイズは 1 GB です。ストリーミングセッションが開始されるたびに、ユーザープロファイルの VHDx ファイルが S3 バケットからダウンロードされます。これにより、ストリーミングセッションの準備時間が長くなり、制限を超過するリスクが発生し、VHDx ファイルを使用したユーザープロファイルのマウントが失敗します。

1 GB を超えるユーザープロファイルが必要なユースケースについては、AWS では、プロファイルの保存に代替方法を使用することを推奨しています。例えば、Amazon FSx for Windows File Server などの共有ストレージで、ローミングプロファイルや FSLogix プロファイルコンテナを使用します。詳しくは、「Amazon FSx for Windows File Server と FSLogix を使用して Amazon AppStream 2.0 のアプリケーション設定の永続化を最適化する」を参照してください。

セキュリティ

開発者にはさまざまな考慮すべきセキュリティ対策があります。AppStream 管理者には、Windows オペレーティングシステムの更新プログラム、カスタマーのアプリケーション、それらの依存関係のインストールとメンテナンスを実施する責任があります。ベースイメージを最新の状態に保つためのその他のガイダンスについては、「AppStream 2.0 イメージを最新の状態に保つ」を参照して、ベースイメージを最新の状態に保つための追加のガイダンスを参照してください。

AppStream 2.0 では、デフォルトで、ユーザーまたはアプリケーションは、イメージアプリケーションカタログで指定されているプログラム以外にも、インスタンス上の任意のプログラムを起動できます。これは、アプリケーションがワークフローの一部として別のアプリケーションに依存しており、その依存アプリケーションをユーザーが直接起動できないようにしたい場合に便利です。例えば、アプリケーションはブラウザを起動してアプリケーションベンダーのウェブサイトからヘルプの説明を表示しますが、ユーザーにはブラウザを直接起動させたくない場合があります。状況によっては、ストリーミングインスタンスで起動できるアプリケーションを制御したい場合もあります。Microsoft AppLocker は、明示的な制御ポリシーを使用して、ユーザーが実行できるアプリケーションを有効または無効にするアプリケーション制御ソフトウェアです。

ウイルス対策ソフトウェアは、ストリーミングセッションや Image Builder インスタンスに悪影響を及ぼす可能性があります。AWS では、ウイルス対策ソフトウェアに、自動更新機能を使用しないことをお勧めします。Windows Defender について詳しくは、「ウイルス対策ソフトウェア」を参照してください。

パフォーマンス

新しいイメージを作成する前に、テストユーザーとしてアプリケーションをテストすることが重要です。テストユーザーとしてテストすることで、管理者以外のユーザーコンテキストでもアプリケーションを実行できることを確認できます。さらに、タスクマネージャーやパフォーマンスモニターなどの組み込みツールを使用して、アプリケーションのパフォーマンスとユーザーエクスペリエンスを確認します。CPU、メモリ、GPU メモリなどのリソース使用率をモニタリングするのがベストプラクティスです。CPU、メモリ、または GPU メモリのリソースに制約がある場合は、インスタンスタイプのアップグレードを検討してください。パフォーマンスを向上させるには:

  • ブラウザのポップアップウィンドウを無効にする

  • 拡張 IE セキュリティを無効にする

AppStream 2.0 エージェントのバージョン選択

新しいイメージを作成する場合、最新の AppStream 2.0 エージェントソフトウェアを使用するか、または更新しないかを選択できます。AppStream 2.0 エージェントソフトウェアには、バグの修正と機能拡張が含まれています。最新のソフトウェアでイメージを維持しましょう。このメカニズムについては、このドキュメントの「イメージ更新」セクションで確認してください。

[最新のエージェントを使用する] オプションを選択できます。このオプションでは、起動時に最新の AppStream 2.0 エージェントが常にインストールされます。ただし、予期しない変更がユーザーエクスペリエンスに影響を及ぼす可能性があり、エージェントを更新するとインスタンスの起動時間が長くなる可能性があります。ベースイメージを更新するには、イメージを再作成する必要があります。また、起動時間を最小限に抑えるには、更新したイメージを本番環境にロールアウトする前にテストすることも重要です。

Image Assistant Command Line Interface (CLI)

AppStream 2.0 のイメージを自動化またはプログラムで作成したい開発者は、Image Assistant CLI を使用してください。こでは、2019 年 7 月 26 日以降にリリースされた AppStream 2.0 エージェントソフトウェアを搭載した Image Builder でご利用いただけます。次の概要では、プログラムで AppStream 2.0 イメージを作成するプロセスについて説明します。

  1. アプリケーションインストールの自動化を使用して、イメージビルダーに必要なアプリケーションをインストールします。このインストールには、ユーザーが起動するアプリケーション、依存関係、およびバックグラウンドアプリケーションが含まれる場合があります。

  2. 最適化するファイルとフォルダーを決定します。

  3. 該当する場合は、Image Assistant add-application CLI オペレーションを使用して、AppStream 2.0 イメージのアプリケーションメタデータと最適化マニフェストを指定します。

  4. AppStream 2.0 イメージに追加のアプリケーションを指定するには、必要に応じてアプリケーションごとに手順 1~3 を繰り返します。

  5. 該当する場合は、Image Assistant update-default-profile CLI オペレーションを使用して、デフォルトの Windows プロファイルを上書きし、ユーザーのデフォルトのアプリケーションと Windows 設定を作成します。

  6. Image Assistant create-image CLI オペレーションを使用してイメージを作成します。

詳しくは、「Image Assistant CLI オペレーションを使用してプログラムで AppStream 2.0 イメージを作成する」を参照してください。