エンタープライズ向けの FSLogix

Backup
ファイル
Azure NetApp Files
Private Link
Storage

この記事では、大企業向けの Microsoft FSLogix プロファイル コンテナー ソリューションの設計、サイズ設定、実装についての詳細な情報を提供すると共に、運用環境でのパフォーマンスの問題を回避する方法についても説明します。 この記事は、エンタープライズ規模の Azure Virtual Desktop に関する記事を拡張したものです。

FSLogix は、非永続的な Windows コンピューティング環境を強化、有効化、簡素化するソリューションのセットです。 FSLogix ソリューションは、パブリック クラウドとプライベート クラウド両方の仮想環境に適しています。 これらのソリューションは物理デバイスを使用して、より移植性の高いコンピューティング セッションを作成するために使用することもできます。

FSLogix と、Azure 上のデスクトップ仮想化ソリューションとしての Azure Virtual Desktop を組み合わせる場合は、「Azure Virtual Desktop の FSLogix プロファイル コンテナーのストレージ オプション」で説明されているように、Azure Files または Azure NetApp Files にプロファイルを格納します。 これにより、ゼロ インフラストラクチャを必要とする別の Azure プラットフォーム サービスを利用し、ストレージ環境の管理を簡素化することができます。

FSLogix のフィルター ドライバーのアーキテクチャ

ユーザーがリモート環境にサインインおよびサインアウトするときは、一般に、ネットワークとの間でプロファイルが双方向にコピーされます。 多くの場合、ユーザー プロファイルは大きい場合があるため、サインインとサインアウトの時間が許容できなくなる可能性があります。 FSLogix コンテナーを使用すると、ユーザー プロファイルはネットワーク上の場所にリダイレクトされます。 プロファイルは VHDx ファイルに配置されて、実行時にマウントされます。 ネットワーク上のプロファイルをマウントして使用すると、ファイルのコピーが行われるソリューションに関連する遅延が解消されます。

次のアーキテクチャの概念図では、オペレーティング システム内での FSLogix の動作が示されています。 Windows サービス エージェントを VDI イメージにインストールする必要があります。 インストールが完了すると、2 つのフィルター ドライバーがオペレーティング システムに組み込まれます。 その後、適切なレジストリ (または ADMX) エントリを設定して、VHDx コンテナーをファイル システムや SMB 共有の場所 (下の図に示すように Azure Storage) に配置することができます。

FSLogix の概念アーキテクチャ

プロファイル コンテナーと Office コンテナー

FSLogix の プロファイル コンテナーOffice コンテナーは、"ローミング" ユーザー プロファイルを Azure Virtual Desktop に格納するために Microsoft によって提供されるソリューションです。

Office コンテナーは、プロファイル コンテナーのサブセットです。 Office コンテナーのすべての利点はプロファイル コンテナーでも利用できますが、一緒に使用すると便利な場合があります。 構成プロセスを完全に理解しておくことが重要です (特に一緒に使用する場合)。

プロファイル コンテナーは、完全なユーザー プロファイルをリダイレクトするために使用されます。 プロファイル コンテナーは、仮想デスクトップなどの非永続的な仮想環境で使用されます。 プロファイル コンテナーを使用すると、除外されているデータを除くユーザー プロファイル全体がキャプチャされます。

プロファイル コンテナーと Office コンテナーを一緒に使用する理由はいくつかあります。 詳細については、「プロファイル コンテナーと Office コンテナーの比較」を参照してください。

複数のプロファイルの接続

同時接続または複数接続とは、複数のホストまたは同じホストに存在する複数のセッションに、同じプロファイルを使用して同時に接続されているユーザーのことです。 これを "マルチセッション" という用語と混同しないでください。マルチセッションとは、複数のユーザーによる同時接続がサポートされているオペレーティング システムのことです。

注意

Azure Virtual Desktop では、同時接続や複数接続は推奨されません。 ベスト プラクティスは、セッションごとに (ホスト プールとして) 異なるプロファイルの場所を作成することです。

複数接続のデプロイに関する次の制限事項に注意してください。

  • Microsoft OneDrive では、プロファイル ローミング テクノロジを使用した複数の接続環境はサポートされていません。
  • 複数のプロファイル接続で OneDrive を使用すると、データが失われる可能性があります。
  • Microsoft Outlook では、複数の接続のサポートが制限されています。
  • 予想される結果をエンド ユーザーに伝える必要があります。 "読み取り専用コンテナー" を使用すると、適切なコンテキストのないユーザーのデータが失われる可能性がある特有のエクスペリエンスになります。 詳細については、「プロファイル コンテナーと Office コンテナーでの同時接続」を参照してください。

パフォーマンス要件

プロファイル全体のサイズに関する FSLogix の制限またはクォータは、ユーザー プロファイルの VHDx ファイルに使用されるストレージの種類と、VHD/VHDx 形式のサイズ制限に依存します。

ネットワーク帯域幅については、使用の種類に応じて、ユーザーごとに 5 から 30 MbPS を計画することをお勧めします。

さらに、次の表では、FSLogix プロファイルで各ユーザーをサポートするために必要なリソースの数を示します。 要件は、ユーザー、アプリケーション、各プロファイルでのアクティビティによって大きく異なる場合があるため、実際の使用量はここに記載されている内容と大きく異なる可能性があります。 表では、1 人のユーザーの例が使用されています。 これを使用して、環境内のユーザーの合計数の要件を見積もってください。 たとえば、100 ユーザーに対して約 1,000 IOPS (1 秒あたりの入力および出力操作数) が必要な場合、短時間に多数のユーザーがログインして "ログイン ストーム" が発生するときは、サインイン時とサインアウト時に約 5,000 IOPS が必要になります。

リソース 要件
安定状態での IOPS 10
サインイン時とサインアウト時の IOPS 50

FSLogix プロファイル コンテナー用のストレージ オプション

Azure には、FSLogix プロファイル コンテナーの格納に利用できるさまざまなストレージ ソリューションが用意されています。 ほとんどのお客様のシナリオに対し、Azure Files または Azure NetApp Files に FSLogix プロファイル コンテナーを格納することをお勧めします。 記事「Azure Virtual Desktop の FSLogix プロファイル コンテナーのストレージ オプション」では、Azure Virtual Desktop の FSLogix ユーザー プロファイル コンテナーに対して Azure で提供されているさまざまなマネージド ストレージ ソリューションが比較されています。

FSLogix および Azure Virtual Desktop と共に記憶域スペース ダイレクト (S2D) もサポートされています。 これは自己管理型のストレージ ソリューションであり、この記事の対象にはなっていません。 お客様は、Azure Virtual Desktop の管理を簡素化しながら、Azure Files または Azure NetApp Files の価値を最大限に引き出すことができます。

ベスト プラクティス

次に、FSLogix プロファイル コンテナーの一般的なベスト プラクティスを示します。

  • 最適なパフォーマンスを得るには、ストレージ ソリューションと FSLogix プロファイル コンテナーを同じデータセンターの場所に置く必要があります。
  • パフォーマンスのボトルネックを回避するため、プロファイル コンテナー用の VHD(X) ファイルは、ウイルス対策のスキャンから除外します。
  • 2 つのアクティブなセッションを使用して、ホスト プールごとに個別のプロファイル コンテナーを使用することをお勧めします。

Azure Files のベスト プラクティス

次の一覧では、Azure Files を使用するときに注意すべき重要な事柄について説明します。

  • Azure Files のストレージ アカウント名を、15 文字より長くすることはできません。
  • Azure Files のアクセス許可を、「Requirements - Profile Containers」 (要件 - プロファイル コンテナー) に記載されているアクセス許可と一致させる必要があります。
  • マスター イメージが含まれるストレージ アカウントを、プロビジョニング対象の仮想マシン (VM) と同じリージョンおよびサブスクリプションに置く必要があります。
  • Azure Storage の Private Link を使用すると、データ アクセスをより安全にできるだけでなく、セッション ホストからストレージ アカウントへのネットワーク待機時間を短縮できます。 これは、ExpressRoute 接続を使用するハイブリッド シナリオにも役立ちます。
  • Azure Files Premium 共有に領域を事前プロビジョニングして、ユーザー用の IOPs に前もって対応できます。 これにより、初期のユーザー ログイン中により多くの IOPs を使用できます。
  • Azure Files Premium レベルに組み込まれているバースト メカニズムを使用すると、セッションの最初の 60 分間だけ IOPs を 3 倍にできます。
  • Azure Files 同期を使用すると、既存のプロファイル コンテナーを Azure Files に簡単にレプリケートできます。
  • FSLogix のグループごとの設定 ObjectSpecific を使用すると、異なる Azure Files ストレージ アカウントをフィルター処理して、より多くのユーザーに対応することができます。 ストレージ アカウントあたりの IOPs の上限は、それらをスタックできないという意味ではありません。 これは、個人用ホスト プールとプールされたホスト プール両方のシナリオに適用されます。 次のアーキテクチャ図では、詳細が説明されています。
  • 複数のストレージ アカウントを 1 つの Azure 仮想ネットワーク (VNet) で使用できます。 たとえば、AD グループを使用して、異なるネットワーク共有を環境内の特定のユーザー グループに割り当てることができます。

Files のシナリオ

次の表では、AVD 環境をさらに最適化する方法を示します。 ファイル共有ソリューションを微調整するために、Azure Files のパフォーマンス目標 (StandardPremium) および 価格についての詳細情報が提供されています。

ワークロード 推奨レベル
データ エントリ 同時アクティブ ユーザーが 200 より少ない場合: Standard
同時アクティブ ユーザーが 200 より多い場合: Premium
Medium カジュアル ユーザー、LoB アプリ Premium ファイル共有
ヘビー ソフトウェア エンジニア、コンテンツ作成 Premium ファイル共有
Power CAD、3D、機械学習 Premium ファイル共有

Azure NetApp Files のベスト プラクティス

Azure NetApp Files は、FSLogix プロファイルと Azure Virtual Desktop 向けの優れたマネージド ストレージ ソリューションであることが実証されています。 低待機時間と高 IOPs 量は、大規模な企業にとって優れた組み合わせです。

現在、アクティブな VNet あたり最大 1,000 の IP 接続が可能です。 これらは、共有に対する VNet 上で VM ごとに開かれる接続です。つまり、この制限は、セッションごとではなく VM ごとに適用されます。 これには、VNET ピアリングも含まれます。 以下のサブセクションは、環境を事前に設計するのに役立ちます。 詳細については、Azure Virtual Desktop での Azure NetApp Files 利用のメリットに関する記事を参照してください。

プール シナリオ

D32as_v4 VM 向けの vCPU あたりの AVD Windows 10 マルチセッション ユーザーの推奨サイズ設定を、軽量または中量のワークロードに基づいて計算する場合、次の図に示すように、1,000 IP の制限に近づく前に、1,000 の仮想マシンで 12 万以上のユーザーに対応できます。

NetApp Files のプール シナリオ

個人シナリオ

ユーザーは特定のデスクトップ ポッドにマップされます。 各ポッドの仮想マシンは 1,000 弱であるため、管理 VNet から IP アドレスを伝達するための余地が残されます。 Azure NetApp Files では、シングルセッション ホスト プールあたり 900 を超える個人デスクトップを簡単に処理できます。 仮想マシンの実際の数は、1,000 から、ハブ VNet にある管理ホストの数を差し引いた値になります。

NetApp Files の個人シナリオ

ストレージのアクセス許可

次の NTFS アクセス許可を使用することをお勧めします。 適切で安全な使用のためには、プロファイルの作成と使用を許可する一方で、他のユーザーのプロファイルに対するアクセスは許可しないユーザー アクセス許可を作成する必要があります。 プロファイル コンテナーのストレージ アクセス許可については、記事「プロファイル コンテナーと Office コンテナーで使用するストレージ アクセス許可を構成する」も参照してください。

ユーザー アカウント フォルダー アクセス許可
ユーザー このフォルダーのみ 変更
作成者/所有者 サブフォルダーとファイルのみ 変更
管理者 (オプション) このフォルダー、サブフォルダー、ファイル フル コントロール

ストレージの除外

ネイティブ プロファイル フォルダーの場所は FSLogix プロファイル コンテナー内に保持することをお勧めします。 ただし、一部のシナリオでは、一時データやキャッシュ データなどのフォルダーを除外するとより効率的な場合があります。 以下のセクションでは、一般的な FSLogix の除外について説明します。

Teams の除外

Teams のキャッシュ フォルダー %appdata%\Microsoft\Teams から次のものを除外します。 これらの項目を除外すると、ユーザーのキャッシュ サイズを縮小して、非永続的なセットアップをさらに最適化するのに役立ちます。

  • メディア スタック フォルダー
  • meeting-addin\Cache (%appdata%\Microsoft\Teams\meeting-addin\Cache)

FSLogix プロファイル コンテナー内で上記の Teams 固有の除外を構成する方法については、FSLogix の除外に関するドキュメントをご覧ください。

ウイルス対策の除外

FSLogix プロファイル コンテナーの仮想ハード ドライブで、次のウイルス対策の除外を構成してください。 セキュリティ チームと共に次の情報を確認します。

  • 除外するファイル:

    • %ProgramFiles%\FSLogix\Apps\frxdrv.sys
    • %ProgramFiles%\FSLogix\Apps\frxdrvvt.sys
    • %ProgramFiles%\FSLogix\Apps\frxccd.sys
    • %TEMP%\*.VHD
    • %TEMP%\*.VHDX
    • %Windir%\TEMP\*.VHD
    • %Windir%\TEMP\*.VHDX
    • \\storageaccount.file.core.windows.net\share\*.VHD
    • \\storageaccount.file.core.windows.net\share\*.VHDX
    • %ProgramData%\FSLogix\Cache\*.VHD (追加 - クラウド キャッシュを使用する場合のみ)
    • %ProgramData%\FSLogix\Cache\*.VHDX (追加 - クラウド キャッシュを使用する場合のみ)
    • %ProgramData%\FSLogix\Proxy\*.VHD (追加 - クラウド キャッシュを使用する場合のみ)
    • %ProgramData%\FSLogix\Proxy\*.VHDX (追加 - クラウド キャッシュを使用する場合のみ)
  • 除外するプロセス:

    • %ProgramFiles%\FSLogix\Apps\frxccd.exe
    • %ProgramFiles%\FSLogix\Apps\frxccds.exe
    • %ProgramFiles%\FSLogix\Apps\frxsvc.exe

PowerShell を使用して Microsoft Defender の除外を追加する

以下の PowerShell スクリプトを使用して、Microsoft Defender の除外を追加することができます。

  # Defender Exclusions for FSLogix
  $Cloudcache = $false             # Set for true if using cloud cache
  $StorageAcct = "
  storageacct"  # Storage Account Name

  $filelist = `
  "%ProgramFiles%\FSLogix\Apps\frxdrv.sys", `
  "%ProgramFiles%\FSLogix\Apps\frxdrvvt.sys", `
  "%ProgramFiles%\FSLogix\Apps\frxccd.sys", `
  "%TEMP%\*.VHD", `
  "%TEMP%\*.VHDX", `
  "%Windir%\TEMP\*.VHD", `
  "%Windir%\TEMP\*.VHDX", `
  "\\$Storageacct.file.core.windows.net\share\*.VHD", `
  "\\$Storageacct.file.core.windows.net\share\*.VHDX"

  $processlist = `
  "%ProgramFiles%\FSLogix\Apps\frxccd.exe", `
  "%ProgramFiles%\FSLogix\Apps\frxccds.exe", `
  "%ProgramFiles%\FSLogix\Apps\frxsvc.exe"

  Foreach($item in $filelist){
      Add-MpPreference -ExclusionPath $item}
  Foreach($item in $processlist){
      Add-MpPreference -ExclusionProcess $item}

  If ($Cloudcache){
      Add-MpPreference -ExclusionPath "%ProgramData%\FSLogix\Cache\*.VHD"
      Add-MpPreference -ExclusionPath "%ProgramData%\FSLogix\Cache\*.VHDX"
      Add-MpPreference -ExclusionPath "%ProgramData%\FSLogix\Proxy\*.VHD"
      Add-MpPreference -ExclusionPath "%ProgramData%\FSLogix\Proxy\*.VHDX"}

クラウド キャッシュの使用

クラウド キャッシュは、FSLogix に対するアドオンです。 最初の読み取り後の後は、ローカル キャッシュを使用して、リダイレクトされたプロファイル コンテナーまたは Office コンテナーからのすべての読み取りが処理されます。 また、クラウド キャッシュを使用すると、複数のリモートの場所を使用でき、それらはすべてユーザー セッションの間に継続的に更新され、真のリアルタイム プロファイル レプリケーションが作成されます。 クラウド キャッシュを使用すると、ローカル キャッシュで多くのプロファイル操作を処理できるため、リモート プロファイル コンテナーへの接続の短時間の喪失からユーザーを保護することができます。 プロバイダーで障害が発生した場合は、クラウド キャッシュによりビジネス継続性が提供されます。

ローカル キャッシュ ファイルによりほとんどの IO 要求が処理されるため、ローカル キャッシュ ファイルのパフォーマンスによってユーザー エクスペリエンスが決まります。 このファイルに使用されるストレージは、高いパフォーマンスと高可用性を備えていることが重要です。 ローカル キャッシュ ファイルに使用されるすべてのストレージは、物理的に接続されたストレージであるか、または物理的に接続された高パフォーマンスのストレージと同等かそれを超える信頼性とパフォーマンスの特性を備えている必要があります。

クラウド キャッシュは、プロファイル コンテナーを使用するときにビジネス継続性のために考慮できる多くのオプションの 1 つにすぎません。 クラウド キャッシュではユーザー プロファイルのリアルタイムの複製が提供されており、クラウド キャッシュ プロバイダーへの接続が失われると能動的にフェールオーバーされます。

クラウド キャッシュを実装するときは、いくつかの考慮事項があります。 次のようになります。

  • リアルタイムでプロファイルの高可用性を提供する必要があります。
  • ローカル キャッシュの読み書きを処理することで、リモート クラウド キャッシュ プロバイダーに対する接続の短時間の問題から、ユーザーを隔離する必要があります。
  • REST API により Azure ページ BLOB ストレージを使用できるようにする必要があります。
  • 複数 geo 環境を構成するときに、有効なプロファイル ツールになる可能性があります。
  • ローカル キャッシュをサポートするには、高パフォーマンスで高可用性のホスト接続 (または同等の) ストレージが必要です。
  • ホスト上で実行され、プロセッサ、メモリ、ネットワーク、ストレージ リソースを利用します。
  • 高可用性のためのソリューションとして使用する場合、クラウド キャッシュには、ローカル キャッシュ ファイルに加えて、ユーザー プロファイルの複数の完全コピーが必要です。

リソースの使用量のため、FSLogix プロファイル コンテナーに対しては別のバックアップおよびディザスター リカバリー ソリューションを検討する方がコスト効率が高くなる可能性があります。 クラウド キャッシュは、一般に、そのいずれかの機能によってリアルタイムのプロファイルの高可用性のような他では得られない価値が提供される場合に使用します。 別の形式のバックアップを使用して環境を適切に処理できる場合、多くの場合、クラウド キャッシュより経済的です。

ビジネス継続性とディザスター リカバリー (BCDR)

エンタープライズ アーキテクチャでは、ユーザー プロファイルに回復性を持たせるのが一般的です。 可能な限り効率的になるように FSLogix プロファイル ソリューションを構成するには、移動するデータの量を最小限に抑える必要があります。

  • 効率的な FSLogix プロファイル ソリューションを作成するための最初の手順は、OneDrive フォルダーのバックアップを使用して、ドキュメントベース プロファイル フォルダーを OneDrive に配置することです。 これにより、組み込みの OneDrive 機能を利用してユーザーのドキュメントを保護できます。

  • 個別にレプリケート、アーカイブ、復元する必要があるデータの量を減らすために、Office キャッシュ データを O365 ディスクに分割する必要もあります。 これは、多くの場合、使用されるプロファイル データ容量の大部分がキャッシュ データによって構成されるためです。 O365 ディスクにはキャッシュ データのみが含まれており、そのソースはクラウドに安全に格納されているので、このデータに回復性を持たせる必要はありません。 ドキュメントとキャッシュがプロファイル ディスクから分離されたら、この容量の小さいディスクに対してレプリケーション アーカイブと復元ポリシーを適用する必要があります。

  • Azure Files には、ストレージ アカウントの冗長性計画で構成されている他のリージョンにストレージ アカウントをフェールオーバーするレプリケーション オプションが用意されています。 これは、geo 冗長ストレージ (GRS) を使用する Standard ストレージ アカウントの種類に対してのみサポートされています。 他に使用できるオプションとしては、AzCopy や、RoboCopy などの他のファイル コピー メカニズムがあります。

  • Azure NetApp Files では、リージョン間のレプリケーションが提供されています。 この機能を使用すると、Azure バックボーンを介して、FSLogix ファイル共有を別のリージョンにレプリケートできます。

バックアップと復元

Windows プロファイルを定期的にバックアップすることは、状況によっては有益な場合があります。 ユーザーが誤ってデータを削除して復元が必要なシナリオや、マルウェアの感染によりプロファイルやデータが破損するようなシナリオは、データを Azure に安全に保存する指標となります。

Azure Files Premium レベルは、Azure Backup と統合されており、FSLogix と共にサポートされています。 Azure NetApp Files では、FSLogix プロファイル コンテナーのコピーを作成するための同様のスナップショット メカニズムが提供されています。

メンテナンス

この記事で既に説明したように、FSLogix プロファイル コンテナーは仮想ディスクと連携して動作します。 仮想ハード ディスクは、VHD または VHDx ファイル形式です。このツールでは、両方ともサポートされています。 既定では、作成されるディスクは "固定" 形式ではなく、"動的拡張" 形式になります。 これにより、ディスクのサイズが仮想ディスク内の実際のファイルより大きくなる場合があります。 そのため、スケジュールに従って仮想ハード ディスクを圧縮した後でメンテナンスを行うのが一般的です (たとえば 1 か月ごと)。 これは、プロファイルの量を減らすことができるスクリプトを使用することで可能です。 このスクリプトは、エンタープライズ規模で動作し、可能な限り短時間で数千のディスクのサイズを縮小するように設計できます。 環境内の任意のマシンから実行できます。 ディスクがホストされているファイル サーバーから実行する必要はありません。 Hyper-V の役割がインストールされている必要はありません。

このツールはマルチスレッドであり、スクリプトを実行したマシン上の複数の CPU コアが利用されます。 マシンで使用可能なコアのスレッド数の 2 倍より多くの回数実行することは推奨されません。 また、スレッドの数を使用して、ストレージの負荷を調整することもできます。

ツールはこちらからダウンロードしてください。

注意

このスクリプトは、Microsoft の製品グループではサポートされていません。 コミュニティでサポートされます。 このスクリプトでは、固定ファイル形式のサイズの縮小はサポートされていません。

エンタープライズ向けの設定のベスト プラクティス

デスクトップ仮想化環境のユーザーは、一般に、既定の設定 (Enabled、VHDLocations など) に加えて、次の設定を使用します。

設定 理由
DeleteLocalProfileWhenVHDShouldApply 1 この設定では、既存のローカル プロファイルでログインするときのエラーが回避されます。 既に存在する場合、最初にプロファイルが削除されます。
SizeInMBs 30000 新しく作成される VHD(X) のサイズを MB 単位で指定します。 既定値は 30,000 MB つまり 30 GB です。
VolumeType VHDx PowerShell とメンテナンスのためのその他の機能。
FlipFlopProfileDirectoryName 1 ネットワーク共有上の特定のプロファイル コンテナー ユーザー フォルダーを簡単に検索できます。

これらのレジストリ設定を大規模に管理するために、グループ ポリシー テンプレートが FSlogix インストール パッケージに含まれています。 これらのテンプレートを使用するためのガイダンスについては、記事「FSLogix グループ ポリシー テンプレートの使用」をご覧ください。

注: 'FlipFlopProfileDirectoryName' は、GPO テンプレートを使用している場合、[ディレクトリ名コンポーネントのスワップ] 設定によって管理されます。

次のステップ

詳細については、以下の記事を参照してください。