App Layering

レイヤー

レイヤーとは、オペレーティングシステム、プラットフォームツール、アプリ、またはユーザーのデータと設定用のソフトウェアを含む仮想ディスクです。

レイヤーを作成すると、アプライアンスは新しいレイヤーをハイパーバイザー環境に仮想ディスクとして保存し、そのディスクをパッケージングマシンにアタッチします。

作成された各レイヤーは、仮想ディスクとしてリポジトリに保存されます。

レイヤーの種類

次の種類のレイヤーを使用できます。

  • ハイパーバイザーで作成し、レイヤー化されたイメージの公開に使用するイメージテンプレートに含めるレイヤー
  • イメージテンプレート、したがって公開するレイヤー化されたイメージで有効にするレイヤー

イメージテンプレートとレイヤー化されたイメージに含めるレイヤー

OS、プラットフォームツール、およびユーザーに配信するアプリケーション用のレイヤーを作成できます。

  • OSレイヤー: ISOからWindows OSをインストールするレイヤーです。同じOSレイヤーを、互換性のあるすべてのプラットフォームレイヤーおよびアプリレイヤーで再利用できます。Windows 10用とWindows Server 2016用のように、主要なWindowsバージョンごとに1つのOSレイヤーのみを作成することをお勧めします。後続のリリースごとにレイヤーの新しいバージョンを追加できます。たとえば、Windows 10バージョン1709のレイヤーがある場合、バージョン1809用とバージョン1903用のバージョンを追加します。OSレイヤーを更新しても、アプリレイヤーを更新する必要はありませんが、プラットフォームレイヤーは必ず更新してください。OSレイヤーの作成について詳しくは、「OSレイヤーの作成」を参照してください。

  • プラットフォームレイヤー: 特定のオンプレミスまたはクラウド環境用のソフトウェアをインストールおよび構成するレイヤーです。インフラストラクチャソフトウェアをプラットフォームレイヤーに分離すると、同じOSレイヤーとアプリレイヤーを複数のハイパーバイザーで再利用できます。たとえば、複数のハイパーバイザーを使用している場合は、インフラストラクチャの各部分にプラットフォームレイヤーを作成できます。

    インフラストラクチャで次のいずれかのソフトウェアを使用している場合は、通常、それらをプラットフォームレイヤーにインストールします。

    • 接続ブローカーソフトウェア
    • プロビジョニングソフトウェア
    • System Center Configuration Manager (SCCM)

    直感的ではないかもしれませんが、最初にサポートするハイパーバイザーのソフトウェアをOSレイヤーにインストールすることが重要です。

    複数のハイパーバイザーをサポートしている場合は、追加のハイパーバイザー用に別のプラットフォームレイヤーを作成できます。追加のハイパーバイザー用のプラットフォームレイヤーには、ハイパーバイザーソフトウェアと、プロビジョニング、接続ブローカー、およびSCCMソフトウェアを含める必要があります。この追加のプラットフォームレイヤーを作成するときは、サポートする新しいハイパーバイザーのチェックボックスを必ずオンにしてください。これにより、App LayeringアプライアンスはOSレイヤーから元のハイパーバイザーファイルと設定を削除し、パフォーマンスに干渉しないようにします。

    OSレイヤーの作成について詳しくは、「プラットフォームレイヤーの作成」を参照してください。

  • アプリレイヤー: アプリケーションをインストールするレイヤーです。通常、各レイヤーに1つのアプリをインストールすることをお勧めしますが、複数含めることもできます。メンテナンスを容易にするために、同じ更新スケジュールにあるアプリを含めます。アプリケーションが他のアプリを必要とする場合は、まず必要なアプリケーションのレイヤーを作成します。アプリレイヤーの作成について詳しくは、「アプリレイヤーの作成またはクローン」を参照してください。特定のアプリケーションのレイヤー化に関するヒントについては、「App Layeringレシピ」を参照してください。

レイヤー化されたイメージで有効にできるレイヤー

レイヤー化されたイメージに含めるレイヤーの他に、イメージテンプレートの設定を通じて、エラスティックレイヤーとユーザーレイヤーを有効にできます。

  • エラスティックレイヤー: 特定のユーザーに割り当てられ、ユーザーがログインしたときに配信されるアプリレイヤーです。エラスティックアプリレイヤーはベースイメージには含まれませんが、その上で配信されます。エラスティックアプリはユーザーのデスクトップに表示されます。

    重要:

    アプリレイヤーは、レイヤー化されたイメージの一部として、またはエラスティックレイヤーとしてユーザーに配信できます。

    Microsoft Officeなど、エラスティックレイヤーとして使用できないアプリケーションがいくつかあります。アプリケーションにこの制限があるかどうかを確認するには、App LayeringレシピApp Layeringフォーラムで、アプリケーションのレイヤー化に関する注意事項を確認してください。アプリに制限が指定されていない場合は、エラスティックレイヤーとして割り当てることができます。レイヤー化されたイメージでエラスティックレイヤーを有効にして割り当てることについて詳しくは、「アプリレイヤーをエラスティックレイヤーとして展開」を参照してください。

  • ユーザーレイヤー: レイヤー化されたイメージでユーザーレイヤーを有効にすると、ユーザーのデータと設定、およびユーザー自身がインストールするアプリケーションを永続化できます。有効にすると、ユーザーがイメージに初めてログオンしたときに、各ユーザーに対してユーザーレイヤーが作成されます。この機能を有効にするには、レイヤー化されたイメージの公開に使用するイメージテンプレートでユーザーレイヤー設定を選択します。レイヤー化されたイメージでエラスティックレイヤーを有効にすることについて詳しくは、「ユーザーレイヤーの展開」および「イメージテンプレートの作成またはクローン」を参照してください。

    ChromeやFirefoxなどのブラウザーを含むアプリケーションレイヤーを、完全なユーザーレイヤーを使用しているイメージにログインしているユーザーに割り当てないでください。ブラウザーは頻繁に更新されるため、ユーザーの書き込み可能レイヤーと起動可能イメージのリビジョンとの間でリビジョン競合が発生する可能性があります。ただし、セッションホストであるイメージにログインしているユーザーには、これらのレイヤーを割り当てることができます。

ローカルユーザーまたは管理者が必要なアプリケーション

OSレイヤーは追加したローカルユーザーまたはグループを保持しますが、アプリレイヤー、プラットフォームレイヤー、およびユーザーレイヤーは保持しません。たとえば、アプリレイヤー、プラットフォームレイヤー、またはユーザーレイヤーにアプリケーションをインストールする際に追加または変更したユーザーとグループは永続化しません。次のいずれかの方法を使用できます。

  • アプリケーションをインストールする前に、ローカルユーザーまたは管理者をOSレイヤーに追加する。
  • アプリケーションをOSレイヤーにインストールする。

レイヤーの整合性の概要

OS、アプリ、またはプラットフォームレイヤーを作成するときは、App Layering管理コンソールでレイヤーの作成を開始し、ハイパーバイザーの指定されたVMにソフトウェアをインストールします。ユーザーがデスクトップを開始したときにレイヤーが目的の状態になったら、マシンをシャットダウンしてレイヤーを確定します。

レイヤーをシャットダウンして確定すると、WindowsのNgen.exe操作により、シャットダウン前に完了する必要がある保留中のタスクに関するメッセージが表示されます。これらのジョブが完了するまで待つ必要がありますが、必要に応じてNgen.exe操作を迅速化できます。Ngen.exeメッセージと操作の迅速化方法の詳細については、関連する各レイヤー化の記事に含まれています。

レイヤーの優先順位

レイヤーの優先順位は、Windowsファイルシステムとレジストリを作成する際のレイヤーの順序を定義します。レイヤーの優先順位は、次の場合に重要です。

  • レイヤー化されたイメージを公開する際の一部としてのレイヤーの合成
  • ファイルとレジストリ設定のレイヤー検索
  • エラスティックレイヤーとユーザーレイヤーをユーザーのデスクトップに配信

App Layeringソフトウェアは各レイヤーに優先順位を割り当て、最も低い優先順位から最も高い優先順位へと順にレイヤーを適用します。

Windowsでは、最も優先順位の高いレイヤーが優先されます。ファイルまたはレジストリエントリが2つのレイヤーに存在する場合、Windowsは最も優先順位の高いレイヤーのファイルまたはレジストリエントリを使用します。

レイヤーの優先順位の決定方法

レイヤーの優先順位は、レイヤータイプと、アプリレイヤーの場合はレイヤーが作成された順序に基づいています。

ベースイメージ内のレイヤー

レイヤー化されたイメージの一部であるレイヤーは順に適用され、プラットフォームレイヤーは常に最後に、最も高い優先順位のレイヤーとして適用されます。

次の表に示すように、アプリレイヤーに割り当てられる優先順位は、レイヤーが作成された順序に基づいています。最新のアプリレイヤーには、古いレイヤーよりも高い優先順位が与えられます。

優先順位 レイヤータイプ
プラットフォームレイヤー
  最後に作成されたアプリレイヤー
作成日順のアプリレイヤー
  最初に作成されたアプリレイヤー
OSレイヤー

レイヤーに共通のファイルまたはレジストリエントリがある場合、優先順位の高いレイヤーのファイルまたはレジストリエントリが使用されます。

ベースイメージで有効になっているレイヤー

公開されたイメージが起動すると、レイヤー化されたイメージのイメージテンプレートでレイヤーが有効になっている場合、さらに多くのレイヤーが適用されることがあります。

  • エラスティックレイヤー(エラスティックレイヤーとしてユーザーに割り当てられたアプリレイヤー)
  • ユーザーレイヤー

イメージにレイヤーをマージする場合、ユーザーレイヤーは常に最も高い優先順位です。次にエラスティックレイヤー、最後にベースイメージ内のレイヤーが適用されます。

次の表に示すように、エラスティックレイヤーの優先順位は元のアプリレイヤーの優先順位と同じですが、ベースイメージに適用されます。エラスティックレイヤーの優先順位は、レイヤーが公開されたイメージにアタッチされる順序には依存しません

優先順位 レイヤータイプ
ユーザーレイヤー
  エラスティックレイヤー - 最後に作成されたアプリレイヤー
エラスティックレイヤー - 作成順のアプリレイヤー
  エラスティックアプリ - 最初に作成されたアプリレイヤー
レイヤー化されたイメージ - ベースイメージ内のすべてのレイヤー

レイヤーの優先順位の競合

ほとんどのアプリレイヤーは機能しますが、状況によっては、アプリケーションをインストールする順序がデスクトップで競合を引き起こす可能性があります。

あるアプリが別のアプリの前にインストールされる必要がある場合は、必要な順序でレイヤーを作成します。App Layeringソフトウェアは、同じ順序でレイヤーを適用します。

2つのレイヤーが競合し、それがイメージに組み込まれる順序が原因であると疑われる場合は、次の2つの選択肢があります。

  • 最後にインストールしたいレイヤーを再作成し、正しい順序で組み込まれるようにする。
  • テクニカルサポートに支援を依頼する。
レイヤー