レイヤーの作成と管理
レイヤーとは、オペレーティングシステム、プラットフォームツール、アプリ、またはユーザーのデータと設定用のソフトウェアを含む仮想ディスクです。
レイヤーを作成すると、アプライアンスは新しいレイヤーを仮想ディスクとしてハイパーバイザー環境に保存し、そのディスクをパッケージングマシンに接続します。
作成された各レイヤーは、仮想ディスクとしてリポジトリに保存されます。
レイヤーの種類
次の種類のレイヤーを使用できます。
-
ハイパーバイザーで作成し、レイヤー化されたイメージを公開するために使用するイメージテンプレートに含めるレイヤー。
-
イメージテンプレートで有効にし、それによって公開するレイヤー化されたイメージで有効にするレイヤー。
イメージテンプレートとレイヤー化されたイメージに含めるレイヤー
OS、プラットフォームツール、およびユーザーに提供したいアプリケーションのレイヤーを作成できます。
-
OSレイヤー: ISOからWindows OSをインストールするレイヤーです。互換性のあるすべてのプラットフォームレイヤーおよびアプリレイヤーで同じOSレイヤーを再利用できます。主要なWindowsバージョンごとに1つのOSレイヤーを作成することをお勧めします。たとえば、Windows 10用に1つ、Windows Server 2016用に1つです。後続のリリースごとにレイヤーの新しいバージョンを追加できます。たとえば、Windows 10バージョン1709のレイヤーがある場合、バージョン1809用に1つ、バージョン1903用に1つのバージョンを追加します。OSレイヤーを更新するときは、アプリレイヤーを更新する必要はありませんが、プラットフォームレイヤーは必ず更新してください。OSレイヤーの作成の詳細については、「OSレイヤーの作成」を参照してください。
-
プラットフォームレイヤー: 特定のオンプレミスまたはクラウド環境用のソフトウェアをインストールおよび構成するレイヤーです。インフラストラクチャソフトウェアをプラットフォームレイヤーに分離すると、複数のハイパーバイザーで同じOSレイヤーとアプリレイヤーを再利用できます。たとえば、複数のハイパーバイザーを使用している場合は、インフラストラクチャの各部分にプラットフォームレイヤーを作成できます。インフラストラクチャで次のいずれかのソフトウェアを使用している場合は、通常、それらをプラットフォームレイヤーにインストールします。
-
接続ブローカーソフトウェア
-
プロビジョニングソフトウェア
-
システムセンター コンフィギュレーションマネージャー (SCCM)
直感的ではないかもしれませんが、サポートする最初のハイパーバイザーのソフトウェアをOSレイヤーにインストールすることが重要です。複数のハイパーバイザーをサポートしている場合、追加のハイパーバイザー用に別のプラットフォームレイヤーを作成できます。追加のハイパーバイザー用のプラットフォームレイヤーには、プロビジョニング、接続ブローカー、およびSCCMソフトウェアとともに、ハイパーバイザーソフトウェアを含める必要があります。この追加のプラットフォームレイヤーを作成する際は、サポートする新しいハイパーバイザーのチェックボックスを必ず選択してください。これにより、App Layeringアプライアンスは元のハイパーバイザーファイルと設定をOSレイヤーから削除し、パフォーマンスに干渉しないようにします。OSレイヤーの作成の詳細については、プラットフォームレイヤーの作成を参照してください。 -
-
アプリレイヤー: アプリケーションをインストールするレイヤーです。通常、各レイヤーに1つのアプリをインストールすることをお勧めしますが、複数含めることもできます。メンテナンスを容易にするために、同じ更新スケジュールにあるアプリを含めます。アプリケーションが他のアプリを必要とする場合は、まず必要なアプリケーションのレイヤーを作成します。アプリレイヤーの作成の詳細については、アプリレイヤーの作成またはクローンを参照してください。特定のアプリケーションのレイヤー化に関するヒントについては、App Layeringレシピを参照してください。
レイヤーをエラスティックに配信する
レイヤー化されたイメージに含めるレイヤーの他に、イメージテンプレートの設定を通じて、それらにエラスティックレイヤーとユーザーレイヤーを有効にすることができます。
-
エラスティックレイヤー: 特定のユーザーに割り当てられ、ユーザーがログインしたときに配信されるアプリレイヤーです。エラスティックアプリレイヤーはベースイメージには含まれませんが、その上で配信されます。エラスティックアプリはユーザーのデスクトップに表示されます。重要:アプリレイヤーは、レイヤー化されたイメージの一部として、またはエラスティックレイヤーとしてユーザーに配信できます。Microsoft Officeなど、エラスティックレイヤーとして使用できないアプリケーションがいくつかあります。アプリケーションにこの制限があるかどうかを確認するには、こちらのApp Layeringレシピを確認してください。アプリに制限が指定されていない場合は、エラスティックレイヤーとして割り当てることができます。レイヤー化されたイメージでエラスティックレイヤーを有効にして割り当てる方法の詳細については、アプリレイヤーをエラスティックレイヤーとして展開するを参照してください。
-
ユーザーレイヤー: レイヤー化されたイメージでユーザーレイヤーを有効にすると、ユーザーのデータと設定、およびユーザー自身がインストールしたアプリケーションを永続化できます。有効にすると、ユーザーがイメージに初めてログオンしたときに、各ユーザーに対してユーザーレイヤーが作成されます。この機能を有効にするには、レイヤー化されたイメージを公開するために使用するイメージテンプレートで、ユーザーレイヤー設定を選択します。レイヤー化されたイメージでユーザーレイヤーを有効にする方法の詳細については、ユーザーレイヤーの展開およびイメージテンプレートの作成またはクローンを参照してください。完全なユーザーレイヤーを使用しているイメージにユーザーがログオンしている場合、ChromeやFirefoxなどのブラウザを含むアプリケーションレイヤーをユーザーに割り当てないでください。ブラウザは頻繁に更新されるため、ユーザーの書き込み可能レイヤーと起動可能イメージ上のリビジョンとの間でリビジョン競合が発生する可能性があります。ただし、セッションホストであるイメージにログオンしている場合は、それらのレイヤーをユーザーに割り当てることができます。
ローカルユーザーまたは管理者が必要なアプリケーション
OSレイヤーは、追加したローカルユーザーまたはグループを保持しますが、アプリレイヤー、プラットフォームレイヤー、およびユーザーレイヤーは保持しません。たとえば、アプリレイヤー、プラットフォームレイヤー、またはユーザーレイヤーにアプリケーションをインストールする際に追加または変更したユーザーとグループは永続化されません。次のいずれかを実行できます。
-
アプリケーションをインストールする前に、ローカルユーザーまたは管理者をOSレイヤーに追加します。
-
アプリケーションをOSレイヤーにインストールします。
レイヤーの整合性の概要
OS、アプリ、またはプラットフォームレイヤーを作成する場合、App Layering管理コンソールでレイヤー作成を開始し、ハイパーバイザー内の指定されたVMにソフトウェアをインストールします。ユーザーがデスクトップを開始するときにレイヤーが目的の状態になったら、マシンをシャットダウンしてレイヤーを確定します。
レイヤーを確定するためにシャットダウンすると、Windows
Ngen.exe 操作によって、シャットダウン前に完了する必要がある保留中のタスクに関するメッセージが表示されます。これらのジョブが完了するまで待つ必要がありますが、必要に応じて Ngen.exe 操作を早めることができます。Ngen.exe メッセージと操作を早める方法の詳細については、関連する各レイヤー記事に含まれています。
レイヤーの優先順位
レイヤーの優先順位は、Windowsファイルシステムとレジストリを作成する際のレイヤーの順序を定義します。レイヤーの優先順位は、次の場合に重要です。
-
レイヤー化されたイメージを公開する際の一部としてレイヤーを合成する場合。
-
ファイルおよびレジストリ設定のレイヤーを検索しています。
-
ユーザーのデスクトップにエラスティックレイヤーとユーザーレイヤーを配信しています。
App Layeringソフトウェアは、各レイヤーに優先順位を割り当て、最も低い優先順位から最も高い優先順位の順にレイヤーを適用します。
Windowsでは、最も優先順位の高いレイヤーが優先されます。ファイルまたはレジストリエントリが2つのレイヤーに存在する場合、Windowsは最も優先順位の高いレイヤーのファイルまたはレジストリエントリを使用します。
レイヤーの優先順位の決定方法
レイヤーの優先順位は、レイヤーの種類と、Appレイヤーの場合はレイヤーが作成された順序に基づいています。
ベースイメージ内のレイヤー
レイヤー化されたイメージの一部であるレイヤーは、Platform Layerが常に最後に、最も優先順位の高いレイヤーとして適用される順序で適用されます。
次の表に示すように、アプリレイヤーに割り当てられる優先順位は、レイヤーが作成された順序に基づいています。最新のアプリレイヤーは、古いレイヤーよりも高い優先順位が与えられます。
| 優先順位 | レイヤーの種類 |
|---|---|
| 高 | プラットフォームレイヤー |
| 最後に作成されたアプリレイヤー | |
| 中 | 作成日順のアプリレイヤー |
| 最初に作成されたアプリレイヤー | |
| 低 | OSレイヤー |
レイヤーがファイルまたはレジストリエントリを共有している場合、優先度の高いレイヤーのファイルまたはレジストリエントリが使用されます。
ベースイメージで有効化されたレイヤー
公開されたイメージが起動すると、レイヤーがレイヤー化されたイメージのイメージテンプレートで有効になっている場合、さらに多くのレイヤーを適用できます。
-
エラスティックレイヤー (エラスティックレイヤーとしてユーザーに割り当てられたアプリレイヤー)
-
ユーザーレイヤー
イメージにレイヤーをマージする場合、ユーザーレイヤーは常に最高の優先度を持ちます。次にエラスティックレイヤーが続き、ベースイメージ内のレイヤーが最後になります。
次の表に示すように、エラスティックレイヤーの優先度は元のアプリレイヤーの優先度と同じですが、ベースイメージに適用されます。エラスティックレイヤーの優先度は、レイヤーが公開されたイメージにアタッチされる順序には 依存しません。
| 優先度 | レイヤーの種類 |
|---|---|
| 高 | ユーザーレイヤー |
| エラスティックレイヤー - 最後に作成されたアプリレイヤー | |
| 中 | エラスティックレイヤー - 作成順のアプリレイヤー |
| エラスティックアプリ - 最初に作成されたアプリレイヤー | |
| 低 | レイヤー化されたイメージ - ベースイメージ内のすべてのレイヤー |
レイヤーの優先順位の競合
ほとんどのアプリレイヤーは機能しますが、特定の状況では、アプリケーションをインストールする順序がデスクトップ上で競合を引き起こす可能性があります。
あるアプリを別のアプリより先にインストールする必要がある場合、必要な順序でレイヤーを作成します。App Layeringソフトウェアは、同じ順序でレイヤーを適用します。
2つのレイヤーが競合し、それらがイメージに組み込まれる順序が原因であると疑われる場合、2つの選択肢があります。
-
最後にインストールしたいレイヤーを再作成し、正しい順序で組み込まれるようにします。
-
テクニカルサポートに支援を依頼してください。