「VDI(仮想デスクトップ)の動作が重い」「クリックしてからの反応がワンテンポ遅れる」 VDI運用担当者にとって、これほど胃が痛くなる問い合わせはありません。
サーバーのリソース(CPUやメモリ)は十分に足りているはずなのに、なぜか体感速度が上がらない。そんな時に真っ先に疑うべき犯人の一つが、ウイルス対策ソフト(アンチウイルス)の「スキャン設定」です。
物理PCと同じ感覚でセキュリティ設定を入れていると、VDI環境では「AVストーム(スキャン処理の集中によるI/O負荷)」を引き起こし、システム全体を麻痺させてしまうことがあります。
今回は、VDIのパフォーマンスチューニングにおいて必須となる「ウイルス対策ソフトの検索除外(Exclusion)」について、推奨される設定ポイントをまとめました。セキュリティ強度を保ちつつ、快適なVDI環境を実現するための勘所を押さえていきましょう。
1.なぜVDIで「検索除外」が必須なのか?
結論から言うと、VDIは物理PCに比べて「ディスクI/O(読み書き)の競合に圧倒的に弱いから」です。
一般的なウイルス対策ソフトには、ファイルにアクセスした瞬間にスキャンを行う「オンアクセススキャン(リアルタイムスキャン)」機能があります。 物理PCであれば、自分専用のハードディスクが多少カリカリ鳴っても問題ありません。しかし、数十〜数百人のユーザーがストレージを共有するVDI環境では話が変わります。
例えば、朝の始業時に全員が一斉にログインし、一斉にプロファイルを読み込み、一斉にブラウザを立ち上げたとします。この全ての動作に対して、ウイルス対策ソフトが「ちょっと待った、そのファイルをスキャンするから」と割り込みをかけたらどうなるでしょうか?
ストレージへのアクセスがパンクし、画面がフリーズしたような状態になります。これを防ぐために、「信頼できる特定のプロセスやフォルダ」をスキャン対象から外す(除外する)作業が、VDI設計では必須要件となるのです。
これは「セキュリティレベルを下げる」ことではありません。「無駄な重複検査を省き、システムを正常に稼働させる」ための必要な措置なのです。
2.絶対に押さえておきたい「除外設定」3つのカテゴリ
検索除外を行うべき対象は、大きく分けて3つのカテゴリがあります。それぞれのベンダーが公開している「ベストプラクティス(Best Practices)」に基づいて設定するのが基本です。
1. VDI基盤・ミドルウェア関連(Citrix / VMware)
VDIのエージェントそのものが正常に動作しなくなるのを防ぐための設定です。
Citrix Virtual Apps and Desktops(CVAD)の場合、Citrix関連の実行ファイルや、通信を行うプロセスが誤検知されたり、スキャンによって遅延したりすると、セッション切断の原因になります。
- 主な除外対象:
- Citrixのプログラムフォルダ(例:
%ProgramFiles%\Citrix\**) - 通信プロセス(例:
CtxSvcHost.exeなど) - スプールフォルダやログフォルダ
- Citrixのプログラムフォルダ(例:
2. プロファイル管理ソリューション(FSLogix / Citrix UPM)
ここがVDIの体感速度に最も直結するポイントです。
多くのVDI環境では、FSLogixやCitrix UPMを使ってユーザープロファイルを管理しています。これらはユーザーのプロファイルデータを「VHD」や「VHDX」といったコンテナファイルとして扱います。
もし、ウイルス対策ソフトが「巨大なVHDファイルを丸ごとスキャン」しようとしたらどうなるでしょうか?ログイン時に数ギガバイトのファイルを検査することになり、ログイン完了まで数分待たされることになります。
- 主な除外対象:
- プロファイルコンテナの拡張子(
*.vhd,*.vhdx) - FSLogixのキャッシュフォルダ(
%ProgramData%\FSLogix\Cacheなど) - 一時ファイルフォルダ
- プロファイルコンテナの拡張子(
3. Windows OS標準機能
OS自体が頻繁に更新を行うファイルも、スキャンの負荷を高める要因です。Microsoftも公式に除外リストを公開しています。
- 主な除外対象:
- Windows Updateのデータベースファイル
- グループポリシー関連のファイル
- ページングファイル(
pagefile.sys)
3.設定時の落とし穴と注意点
リストを作って終わりではありません。設定を適用する際には、いくつか注意すべき「落とし穴」があります。
「フォルダ除外」と「プロセス除外」を使い分ける 単に「Cドライブの特定フォルダを除外」するだけでは不十分な場合があります。「特定のプロセス(exe)が読み書きする場合のみ除外する」といった高度な設定が必要なケースもあるため、導入しているセキュリティソフトの仕様をよく確認してください。
除外設定の適用タイミング VDIの展開方式(MCSやPVSなど)によっては、再起動すると設定が初期化されてしまうことがあります。
- マスターイメージ(ゴールデンイメージ)自体に設定を埋め込むのか?
- Active Directoryのグループポリシー(GPO)や、セキュリティ管理コンソールからポリシーとして配布するのか? 運用に合わせて、確実に設定が適用される方式を選定しましょう。基本的には管理コンソールからのポリシー配布が、後の変更管理もしやすくおすすめです。
4.ベストプラクティスを元にした設定例
ここでは、一般的な構成(Cドライブにインストール、デフォルトパス使用)を想定した具体的な設定例を紹介します。 ※環境によってインストール先ドライブやパスが異なる場合があります。必ず自社環境の実際のパスを確認してから適用してください。
1. Citrix Virtual Apps and Desktops (CVAD) 関連
Citrixのコンポーネントは多岐にわたります。またVDIだけではなくデリバリーコントローラーやストアフロントなど、サーバー側のコンポーネントにも気を配る必要があります。Citrixのベストプラクティスは以下のURLで確認することが出来ます。
Citrix Guidelines for Antivirus Software Configuration(CTX127030)
Tech Paper: Endpoint Security, Antivirus, and Antimalware Best Practices
上記のベストプラクティスから、VDA(Virtual Delivery Agent)がインストールされた仮想デスクトップ側で最低限除外すべき主な対象を書き出しました。このほかにもPVSターゲットやWEM向けの除外もあります。
フォルダ・ファイルの除外
%SystemRoot%\System32\drivers\CtxUvi.sys%ProgramFiles%\Citrix\HDX\bin\CitrixLogonCsp.dllmcsdif.vhdx(MCSを使用している場合のみ)
プロセスの除外(バージョン共通)
%ProgramFiles%\Citrix\User Profile Manager\UserProfileManager.exe%ProgramFiles%\Citrix\Virtual Desktop Agent\BrokerAgent.exe%SystemRoot%\System32\drivers\CVhdFilter.sys(MCSを使用している場合のみ)
CVAD1912 LTSR
%ProgramFiles(x86)%\Citrix\ICAService\CtxSvcHost.exe%ProgramFiles%\Citrix\System32\ctxgfx.exe
CVAD1912 LTSR シングルセッションOS(ServerOS除く)
%ProgramFiles%\Citrix\ICAService\picaSvc2.exe%ProgramFiles%\Citrix\ICAService\CpSvc.exe%ProgramFiles%\Citrix\HDX\bin\ctxgfx.exe
CVAD 2112以降
%ProgramFiles%\Citrix\HDX\bin\CtxSvcHost.exe%ProgramFiles%\Citrix\HDX\bin\ctxgfx.exe
CVAD 2112以降 シングルセッションOS(ServerOS除く)
%ProgramFiles%\Citrix\HDX\bin\picaSvc2.exe%ProgramFiles%\Citrix\HDX\bin\CpSvc.exe
WebSocketService.exe はバージョンによって配置が異なるので実機確認が必要です。
%ProgramFiles%\Citrix\HTML5 Video Redirection\WebSocketService.exe
(CVAD 7.15 LTSR シングル・マルチセッションOS共通)%ProgramFiles(x86)%\Citrix\System32\WebSocketService.exe
(CVAD 1912 LTSR マルチセッションOSのみ)%ProgramFiles%\Citrix\ICAService\WebSocketService.exe
(CVAD 1912 LTSR シングルセッションOSのみ)%ProgramFiles(x86)%\Citrix\HDX\bin\WebSocketService.exe
(CVAD 2003以降 シングル・マルチセッションOS共通)
2. FSLogix 関連
プロファイルコンテナ(VHD/VHDX)へのアクセス阻害を防ぐため、以下の除外設定は必須レベルです。Microsoftが推奨する、FSLogixのベストプラクティスは以下のURLで確認することが出来ます。
FSLogix Configure Antivirus file and folder exclusions
拡張子除外 巨大な仮想ディスクファイルの中身をスキャンしないようにします。
*.vhd*.vhdx
プロセス除外 FSLogixのエージェント動作を阻害しないようにします。
%ProgramFiles%\FSLogix\Apps\frxdrv.exe%ProgramFiles%\FSLogix\Apps\frxccds.exe%ProgramFiles%\FSLogix\Apps\frxsvc.exe
フォルダ除外 キャッシュや一時ファイルを置く場所を除外します。
%ProgramFiles%\FSLogix\Apps\%ProgramData%\FSLogix
3. Windows OS 標準
OSの安定稼働のために推奨される除外設定です。Windows Defender以外のサードパーティ製セキュリティソフトを使用している場合は、以下のファイルを明示的に除外する必要があります。
Windows または Windows Server を搭載しているエンタープライズ コンピューターでウイルス スキャンを行う場合の推奨事項 (KB822158)
- ページングファイル:
pagefile.sys - Windows Update データベース:
%Windir%\SoftwareDistribution\Datastore\Datastore.edb - グループポリシー関連:
%SystemRoot%\System32\GroupPolicy\Machine\registry.polなど
【重要】設定時のワンポイントアドバイス
環境変数の扱いに注意! 上記のリストでは %ProgramFiles% などの環境変数を使用していますが、お使いのウイルス対策ソフトによっては環境変数を認識しない(展開してくれない)場合があります。 その場合は、C:\Program Files\Citrix のようにフルパスで記述する必要があります。必ずベンダーのマニュアルで「ワイルドカードや環境変数が使えるか」を確認してください。
除外対象のスキャンに注意! ウイルス対策ソフトによっては、ファイルやフォルダーの除外を設定した場合、リアルタイムスキャンだけではなくスケジュールスキャンも無効になってしまう場合があります。スケジュールスキャンは必ず実行して、定期的に健全性を確保するようにしてください。
5.まとめ
VDIのチューニングは、「ハードウェアリソースの増強(足し算)」をする前に、「不要な処理の削減(引き算)」を徹底することが成功の鍵です。
特にウイルス対策ソフトの検索除外は、コストをかけずにパフォーマンスを劇的に改善できる可能性を秘めています。
「なんとなく重い」と感じたら、まずはMicrosoft、Citrix、そしてお使いのセキュリティベンダー(Trend Micro、McAfee、Symantec等)の公式ドキュメントで「Exclusion List」を検索し、現在の設定と照らし合わせてみてください。
上記以外にも、EDRやSIEM、資産管理ツールなど、ウイルス対策ソフトの検索除外を推奨するソリューションは多岐にわたりますので、怪しそうなものは片っ端から情報を集めてみましょう。
- Citrix
Citrix Guidelines for Antivirus Software Configuration(CTX127030)
Tech Paper: Endpoint Security, Antivirus, and Antimalware Best Practices - Microsoft(FSLogix)
FSLogix Configure Antivirus file and folder exclusions - Microsoft
Windows または Windows Server を搭載しているエンタープライズ コンピューターでウイルス スキャンを行う場合の推奨事項 (KB822158)


コメント