Image Assistant CLI オペレーションを使用してプログラムで AppStream 2.0 イメージを作成する - Amazon AppStream 2.0

Image Assistant CLI オペレーションを使用してプログラムで AppStream 2.0 イメージを作成する

Amazon AppStream 2.0 イメージを作成するには、Image Builder に接続し、Image Assistant のグラフィカルユーザーインターフェイス (GUI) またはコマンドラインインターフェイス (CLI) のオペレーションを使用します。Image Assistant CLI オペレーションは、Image Assistant GUI と同様の機能を提供します。これらのオペレーションでは、次の操作をプログラムで実行できます。

  • イメージに含まれているアプリケーションを管理する。

  • デフォルトのアプリケーション設定を保存、更新、リセットする。

  • AppStream 2.0 動的アプリケーションフレームワークを有効または無効にします。

  • タグを指定する。

  • イメージを作成する。

これらのオペレーションを使用して、AppStream 2.0 イメージ作成を継続的な統合またはデプロイソフトウェア開発プロセスに統合できます。

Image Assistant CLI オペレーションを使用するには、任意のコマンドラインシェルをイメージビルダーで使用します。たとえば、Windows コマンドプロンプトや PowerShell を使用できます。

注記

Image Builder は、2019 年 7 月 26 日以降にリリースされたバージョンの AppStream 2.0 エージェントを使用する必要があります。イメージビルダーがない場合は、作成する必要があります。詳細については、「」を参照してくださいImage Builder を起動し、ストリーミングアプリケーションをインストールして設定する

Image Assistant CLI 操作を使用したデフォルトのアプリケーション設定と Windows 設定の作成

ユーザーがアプリケーションをすぐに使い始められるように、デフォルトのアプリケーションおよび Windows 設定を作成できます。これらの設定を作成すると、AppStream 2.0 により、Windows のデフォルトユーザープロファイルが構成したプロファイルに置き換えられます。次に、この Windows デフォルトユーザープロファイルを使用して、フリートインスタンスにユーザーの初期設定が作成されます。Image Assistant CLI オペレーション、アプリケーションインストーラ、またはオートメーションを使用してこれらの設定を作成する場合は、Windows デフォルトユーザープロファイルを直接変更する必要があります。

Windowsのデフォルトユーザープロファイルを別の Windows ユーザーのプロファイルで上書きするには、Image Assistant update-default-profile CLI オペレーションを使用することもできます。

デフォルトのアプリケーションおよび Windows の設定を設定する方法の詳細については、デフォルトのアプリケーションおよび Windows 設定とアプリケーション起動パフォーマンスCreating Default Application and Windows Settings for Your AppStream 2.0 Users を参照してください。

Image Assistant CLI オペレーションによるアプリケーションの起動パフォーマンスの最適化

AppStream 2.0 では、ユーザーのストリーミングセッションに合わせてアプリケーションの起動パフォーマンスを最適化できます。Image Assistant CLI オペレーションを使用してこれを行う場合、アプリケーションの起動に最適化するファイルを指定できます。アプリケーション最適化マニフェストにファイルを追加すると、新しいフリートインスタンスでアプリケーションを初めて起動するのにかかる時間が短縮されます。ただし、これにより、ユーザーがフリートインスタンスを利用できるようになるまでの時間が長くなります。最適化マニフェストは、アプリケーションごとの行区切りテキストファイルです。

注記

Image Assistant CLI オペレーションと Image Assistant GUI の両方を使用してアプリケーション最適化マニフェストをオンボードすると、マニフェストが結合されます。

以下は、アプリケーション最適化マニフェストファイルの例です。

C:\Program Files (x86)\Notepad++\autoCompletion C:\Program Files (x86)\Notepad++\localization C:\Program Files (x86)\Notepad++\plugins C:\Program Files (x86)\Notepad++\themes C:\Program Files (x86)\Notepad++\updater C:\Program Files (x86)\Notepad++\userDefineLangs C:\Program Files (x86)\Notepad++\change.log C:\Program Files (x86)\Notepad++\config.xml C:\Program Files (x86)\Notepad++\contextMenu.xml C:\Program Files (x86)\Notepad++\doLocalConf.xml C:\Program Files (x86)\Notepad++\functionList.xml C:\Program Files (x86)\Notepad++\langs.model.xml C:\Program Files (x86)\Notepad++\license.txt C:\Program Files (x86)\Notepad++\notepad++.exe C:\Program Files (x86)\Notepad++\readme.txt C:\Program Files (x86)\Notepad++\SciLexer.dll C:\Program Files (x86)\Notepad++\shortcuts.xml C:\Program Files (x86)\Notepad++\stylers.model.xml

詳細については、デフォルトのアプリケーションおよび Windows 設定とアプリケーション起動パフォーマンスで「アプリケーションの起動パフォーマンスの最適化」を参照してください。

AppStream 2.0 イメージをプログラムで作成するプロセスの概要

Image Assistant CLI オペレーションをアプリケーションのインストール自動化で使用して、完全にプログラムによる AppStream 2.0 イメージ作成ワークフローを作成できます。アプリケーションのインストールの自動化が完了した後、イメージが作成される前に、Image Assistant CLI オペレーションを使用して以下を指定します。

  • ユーザーが起動できる実行可能ファイル

  • アプリケーション用の最適化マニフェスト

  • その他の AppStream 2.0 イメージメタデータ

次の概要では、プログラムで 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 オペレーションを使用してイメージを作成します。

AppStream 2.0 イメージを作成および管理するための Image Assistant CLI オペレーション

このセクションでは、AppStream 2.0 イメージの作成と管理に使用できる Image Assistant CLI オペレーションについて説明します。

Windows Image Builder では、C:\Program Files\Amazon\Photon\ConsoleImageBuilder\Image-Assistant.exe にコマンドラインインターフェイスが含まれる実行可能ファイルがあります。便宜上、この実行可能ファイルは Windows PATH 変数に含まれています。これにより、実行可能ファイルへの絶対パスを指定せずに Image Assistant CLI オペレーションを呼び出すことができます。これらのオペレーションを呼び出すには、image-assistant.exe コマンドを入力します。

Linux Image Builder では、/usr/local/appstream/image-assistant/AppStreamImageAssistant に Image Assistant ツールがあり、シンボリックリンクは /bin/appstreamImageAsistant にあります。

help オペレーション

すべての Image Assistant CLI オペレーションのリストを取得します。リスト内の各オペレーションについて、説明と使用構文が提供されます。特定のオペレーションのヘルプを表示するには、オペレーションの名前を入力し、--help パラメータを指定します。次に例を示します。

add-application --help

概要

help

出力

利用可能なオペレーションのリストとその機能の説明を標準出力します。

add-application オペレーション

AppStream 2.0 ユーザーのアプリケーションリストにアプリケーションを追加します。このリストのアプリケーションは、アプリケーションカタログに含まれています。アプリケーションカタログは、ユーザーが AppStream 2.0 ストリーミングセッションにサインインするときに表示されます。

注記

アプリケーションの設定を変更する必要がある場合は、そのアプリケーションを削除した上で、新たな設定のアプリケーションを追加します。

概要

add-application --name <value> --absolute-app-path <value> [--display-name <value>] [--absolute-icon-path <value>] [--working-directory <value>] [--launch-parameters <""-escaped value>] [--absolute-manifest-path <value>]

オプション

--name (文字列)

アプリケーションの一意の名前。最大長は 256 文字です。最大 50 個のアプリケーションを追加できます。空白文字を使用することはできません。

--absolute-app-path (文字列)

アプリケーションの実行可能ファイル、バッチファイル、またはスクリプトへの絶対パス。有効なファイルのパスを指定する必要があります。

--display-name (文字列)

アプリケーションカタログに表示されるアプリケーションの名前。表示名を指定しない場合、AppStream 2.0 は実行可能ファイル名から派生した名前を作成します。名前は、ファイル拡張子なしで、スペースの代わりにアンダースコアを使用して作成されます。最大長は 256 文字です。

--absolute-icon-path (文字列)

アプリケーションのアイコンへの絶対パスです。パスは、.jpg、.png、または .bmp のいずれかのタイプの有効なアイコンファイルを指している必要があります。最大サイズは、256 px x 256 px です。パスを指定しない場合、実行可能ファイルのデフォルトアイコンが使用可能であれば使用されます。実行可能ファイル用のデフォルトのアイコンがない場合、デフォルトの AppStream 2.0 アプリケーションアイコンが使用されます。

--working-directory (文字列)

アプリケーション起動時のアプリケーションの最初の作業ディレクトリ。

--absolute-manifest-path (文字列)

改行で区切られた新しいテキストファイルへのパス。このファイルは、ユーザーがフリートインスタンスをストリーミングできるようにする前に最適化するファイルの絶対パスを指定します。有効なテキストファイルのパスを指定する必要があります。

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success"} アプリケーションが正常に追加されました。
1 {"status": 1, "message": "Name is not unique"} オペレーションを完了するには、管理者権限が必要です。
1 {"status": 1, "message": "Unable to add more than 50 apps to the catalog."} AppStream 2.0 アプリケーションカタログに追加できるアプリケーションの最大数は 50 であるため、アプリケーションを追加できませんでした。
1 {"status": 1, "message": "Name is not unique"} その名前のアプリケーションは AppStream 2.0 アプリケーションカタログに既に存在しています。
1 {"status": 1, "message": "File not found (absolute-app-path)"} absolute-app-path で指定されたファイルが見つかりませんでした。
1 {"status": 1, "message": "Unsupported file extension"} Absolute-app-path パラメーターは、.exe および .bat のファイルタイプのみをサポートしています。
1 {"status": 1, "message": "Directory not found (working-directory)" working-directory に指定されたディレクトリが見つかりませんでした。
1 {"status": 1, "message": "Optimization-manifest not found: <filename>"} optimization-manifest で指定されたファイルが見つかりませんでした。
1 {"status": 1, "message": "File not found: <filename>"} 最適化マニフェスト内で指定されたファイルが見つかりませんでした。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support センター」を参照してください。

remove-application オペレーション

AppStream 2.0 イメージのアプリケーションリストからアプリケーションを削除します。アプリケーションはアンインストールまたは変更されませんが、ユーザーはこのアプリケーションを AppStream 2.0 アプリケーションカタログから起動できなくなります。

概要

remove-application --name <value>

オプション

--name (文字列)

削除するアプリケーションの一意の識別子。

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success"} アプリケーションが正常に削除されました。
1 {"status": 1, "message": "Name is not unique"} オペレーションを完了するには、管理者権限が必要です。
1 {"status": 0, "message": "Success"} 指定されたアプリケーションが AppStream 2.0 アプリケーションカタログで見つかりませんでした。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support サポートセンター」を参照してください。

list-applications オペレーション

アプリケーションカタログで指定されているすべてのアプリケーションを一覧表示します。

概要

list-applications

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success", "applications": [ {..app1.. }, { ..app2.. }]} AppStream 2.0 アプリケーションカタログ内のアプリケーションのリスト。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support サポートセンター」を参照してください。

update-default-profile オペレーション

指定された Windows ユーザーのプロファイルをWindows のデフォルトのユーザープロファイルにコピーします。ストリームする新しいユーザーは、この指定されたプロファイルの設定を継承します。

注記

Linux Image Assistant CLI ツールでは、この操作はサポートされていません。

概要

update-default-profile [--profile <value>]

オプション

--profile (文字列)

Windows プロファイルが Windowsのデフォルトのユーザープロファイルにコピーされるユーザーの名前。名前には次の形式を使用します。

"<domain>\<username>"

イメージビルダーが Microsoft Active Directory ドメインに結合されていない場合は、ドメインの代わりにピリオド「.」を入力します。ユーザーを指定しない場合、AppStream 2.0 テンプレートのユーザーアカウントが使用されます。

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success"} ユーザー設定はデフォルトの Windows プロファイルに正常にコピーされました。
1 {"status": 1, "message": "Name is not unique"} オペレーションを完了するには、管理者権限が必要です。
1 {"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"} ファイルまたはフォルダーが使用できないため、ユーザー設定をコピーできませんでした。
1 {"status": 1, "message": "Cannot copy a domain user when not joined to a domain""} Microsoft Active Directory ドメインユーザーは指定されましたが、イメージビルダーが Active Directory ドメインに結合されていません。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support サポートセンター」を参照してください。

reset-user-profile オペレーション

指定されたユーザーの Windows ユーザープロファイルを削除します。

注記

Linux Image Assistant CLI ツールでは、この操作はサポートされていません。

概要

reset-user-profile [--profile <value>]

オプション

--profile (文字列)

Windows プロファイルが削除される Windows ユーザーの名前。名前には次の形式を使用します。

"<domain>\<username>"

イメージビルダーが Microsoft Active Directory ドメインに結合されていない場合は、ドメインの代わりにピリオド「.」を入力します。

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success"} 指定されたユーザー設定の削除が完了しました。
1 {"status": 1, "message": "Name is not unique"} オペレーションを完了するには、管理者権限が必要です。
1 {"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"} ファイルまたはフォルダーが使用できないため、ユーザー設定をリセットできませんでした。
1 {"status": 1, "message": "Cannot copy a domain user when not joined to a domain""} Microsoft Active Directory ドメインユーザーは指定されましたが、イメージビルダーが Active Directory ドメインに結合されていません。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support サポートセンター」を参照してください。

create-image オペレーション

イメージ作成ワークフローを開始し、AppStream 2.0 フリートに使用できる AppStream 2.0 イメージを作成します。

概要

create-image --name <value> [--description <value>] [--display-name <value>] [--enable-dynamic-app-catalog] | [--no-enable-dynamic-app-catalog] [--use-latest-agent-version] | [--no-use-latest-agent-version] [--tags <value>] [--dry-run]

オプション

--name (文字列)

AppStream 2.0 イメージの名前。この名前は、Amazon Web Services アカウント内、および AWS リージョン内で一意である必要があります。最大長は 100 文字です。使用できる文字は次のとおりです。

a~z、A~Z、0~9、アンダースコア (_)、ハイフン (-)、ピリオド (.)

イメージ名は、「aws」、「appstream」、「amazon」のいずれのプレフィックスでも始めることはできません。これらのプレフィックスは AWS 用に予約されています。

--description (文字列)

イメージの説明を表示します。最大長は 256 文字です。

--display-name (文字列)

イメージの名前を表示します。最大長は 256 文字です。

--enable-dynamic-app-catalog | --no-enable-dynamic-app-catalog

AppStream 2.0 動的アプリケーションフレームワークのサポートを有効または無効にします。パラメータを指定しない場合、動的アプリケーションフレームワークのサポートは有効化されません。

動的アプリケーションフレームワークは、動的アプリケーションプロバイダーの構築に使用できる AppStream 2.0 ストリーミングインスタンス内のオペレーションを提供します。動的アプリケーションプロバイダーは、提供されているオペレーションを使用して、ユーザーがリアルタイムでアクセスできるアプリケーションのカタログを変更できます。詳細については、「」を参照してくださいAppStream 2.0 動的アプリケーションフレームワークを使用して動的アプリケーションプロバイダーを構築する

--use-latest-agent-version | --no-use-latest-agent-version

現在インストールされている AppStream 2.0 エージェントのバージョンにイメージを固定するか、常に最新のエージェントバージョンを使用するかを指定します。どちらのパラメーターも指定しない場合、イメージは現在インストールされている AppStream 2.0 エージェントのバージョンに固定されます。詳細については、「」を参照してくださいAppStream 2.0 エージェントのバージョンを管理する

--tags (文字列)

イメージに関連付けるタグ。タグはキーと値のペアで構成されます。次の形式を使用します。

--tags "mykey" "myval" "mykey2" "myval2"

タグの詳細については、「Amazon AppStream 2.0 リソースにタグを付ける」を参照してください。

--dry-run (文字列)

イメージを作成せずに検証を実行します。このコマンドを使用して、作成する前にイメージに問題があるかどうかを確認します。

メッセージ出力

終了コード 標準出力に出力されるメッセージ 説明
0 {"status": 0, "message": "Success"} イメージを作成するワークフローが正常に開始されました。
1 {"status": 1, "message": "Name is not unique"} オペレーションを完了するには、管理者権限が必要です。
1 {"status": 1, "message": "An image with the given name already exists"} 指定された名前を使用しているイメージは、Amazon Web Services アカウントに既に存在しています。
1 {"status": 1, "message": "Invalid value (tags)"} 指定されたタグは有効ではありません。
255 {"status": 255, "message": <error message>} 予期しないエラーが発生しました。リクエストを再試行してください。エラーが解決しない場合は、AWS Support にお問い合わせください。詳細については、「AWS Support サポートセンター」を参照してください。