#11 「Windows AutopilotをMicrosoft Connected Cache(MCC)で高速化する」をやってみた

特集

デジタルワークプレースの“そこが知りたい”を
エンジニアが試して解説!

この特集の記事一覧へ

IIJ プロフェッショナルサービス第一本部 ITサービスインテグレーション4部 2課

山野 隆宏

執筆・監修者ページ/掲載記事:2件

IIJでは、デジタルワークプレース実現の様々なベストプラクティスを公開しています。中でもご要望の多いパターンを、エンジニアが実際に試してみる本企画。今回は「Windows AutopilotをMicrosoft Connected Cache(MCC)で高速化する」方法を取り上げます。IIJのエンジニアに、詳しい解説を聞きました。

Windows Autopilotによるゼロタッチキッティングで
PC管理地獄から解放!サービスガイドブック
ダウンロード(無料)

関連記事

目次
  1. Windows Autopilotを活用したPCのキッティング
  2. Microsoft Connected Cache(MCC)とは
  3. 設定してみる
  4. 動作を確認
  5. まとめと解説

Windows Autopilotを活用したPCのキッティング

今回やってみるのは「Windows AutopilotをMicrosoft Connected Cache(MCC)で高速化する」方法ですね。やってみようと思った背景を教えてください。

PCのキッティングに苦労している情シス担当者が多いと聞きます。キッティングの作業負荷を減らすにはWindows Autopilotを活用する方法があります。Windows Autopilotとは、Microsoft Intuneからポリシーとアプリを配布することでWindows OSの初期設定をゼロタッチデプロイするツールです。

IIJではWindows Autopilotの「事前プロビジョニング」の検証を始めました。事前プロビジョニングとは、デバイス向けの設定やアプリ配布をPC管理者が先に行う機能です。
実際に検証したところ、Microsoft Intuneからアプリなどを配布するため、複数台を同時に実施するとインターネット側が輻輳し、1台あたりの事前プロビジョニングの時間がものすごく長い、という課題にぶつかりました。20台ほどで実施した時は、1台当たり約3時間かかってしまいました。

これを改善すべくMicrosoftのドキュメントを調査していたところ、Microsoft Connected Cache(以下、MCC)という機能を見つけたので試してみようと思います。

※MCCは現在(2023/5/12)早期プレビュー中の機能です。
※「Microsoft Connected Cache for Enterprise」を利用しています。

Microsoft Connected Cache(MCC)とは

Microsoft Connected Cache(以下、MCC)とは具体的に何をするものでしょうか。

MCCとはWindows Update、Microsoft 365 APPS、Microsoft Intuneのアプリ配布などを、ローカルにキャッシュするサーバです。

「WSUS?」と思うかもしれませんが、WSUSはセキュリティの更新だけするのに対し、MCCはそれ以外にも様々なアプリや更新プログラムなどをキャッシュできます。「配信の最適化」でキャッシュできるものは、ほとんどキャッシュしてくれます。

※キャッシュ対象の詳細は「配信の最適化でサポートされるダウンロード コンテンツの種類」を参照ください。

配信に必要なデータをキャッシュできるため、配布にかかる時間の短縮が見込めるわけですね。

はい。そこで今回は、Windows Autopilotを行うデバイスと同じLAN内にMCCサーバを配置することで、Windows Autopilotの事前プロビジョニングがどの程度高速化されるか試してみます。

#「ゼロタッチキッティングでPC管理地獄から解放!サービスガイドブック」を差し上げます。
ダウンロード(無料)

設定してみる

事前プロビジョニングを行う場合のみMCCへの参照を行う設定は、以下のように実施しました。

①「MCCの概要」ページで、早期プレビューの参加申請をします(許可されるまで約1ヵ月待ちました)。
②Microsoft Azureテナントより、MCCのデプロイを実施します(MCCは無料で利用できます)。
③この後はMicrosoft Intuneで、「配信の最適化」の設定をします。

(クリックすると拡大表示します)

④配信の最適化ポリシーで、デプロイしたMCCの値を参照するように設定します。

(クリックすると拡大表示します)

⑤事前プロビジョニング中のデバイスのみMCCを参照してほしいので、動的グループを作成します。プライマリユーザーが入っていないグループを定義し、入っていれば上記ポリシーの対象から外す設定としました。
⑥テストなので、適当にアプリケーションを割り当てます。
⑦Windows Autopilotのプロファイルを、事前プロビジョニング許可するように設定します。
⑧デバイス情報を登録します。

※MCCサーバとして利用したPCのスペックは、業務で使うPCと同程度としました。

  • CPU:インテル Core i7
  • メモリ:16GB
  • ストレージ:SSD 256GB

#「ゼロタッチキッティングでPC管理地獄から解放!サービスガイドブック」を差し上げます。
ダウンロード(無料)

動作を確認

Windows Autopilotの事前プロビジョニングにかかった時間を、MCCへの参照あり/なしで比較してみます。

※検証環境のため端末を複数台用意できませんでした。代わりに帯域測定用PCのネットワークインタフェースを10Mbpsに設定し、ネットワークが輻輳する状態を作りました(他は1Gbpsでの接続です)。
※あらかじめMCCにデータをキャッシュさせておきました。

比較した結果、Windows Autopilotの実行時間が約1/5に短縮されたことが分かりました。更に、MCCから99%のデータを取得したため、インターネット向けのトラフィックを大幅に削減できました。

MCCなし MCCあり
計測箇所① Windows Autopilot実行時間 58分29秒 10分26秒
計測箇所② 帯域測定用PCのトラフィック合計 送信 2,620 20.5
受信 90.5 2.7
計測箇所③ MCCサーバのトラフィック合計 送信 2.4 2,560
受信 7.4 13.6

※単位はMB

アクティビティモニターを確認すると、MCCなしの場合はMicrosoftから100%、MCCありの場合はキャッシュサーバーから100%ダウンロードしていることが分かります。
トラフィックの計測値の合計がMCCあり/なしで異なるのは、インターネットからパッチを取得する際に生じるパケットロスなどのオーバーヘッドによるものと思われます。

(補足)「Get-DeliveryOptimizationStatus」を実行するとファイルごとに参照したサーバのIPなど、より細かい情報が参照できます。

まとめと解説

MCCを利用して、Windows Autopilotの事前プロビジョニングの時間がかなり短縮されましたね。

はい。ただし、現在(2023/5/12)プライベートプレビュー中の機能であるため、常時システムに組み込むのではなく、Windows Autopilotの事前プロビジョニングでのみMCCを参照するなど、部分的に使うのがよいのではないかと思います。

事前プロビジョニングの時間が短縮すると、情シス担当者の運用負荷の低減も期待できますね。

はい、情シス担当者のお役に立てば、と思います。
IIJではMicrosoftの先進的な機能をいち早く検証し、日々課題の抽出と解決の道筋を立ててソリューションを開発しています。「IIJ PC展開支援ソリューション」は、本機能などを有効活用し、お客様のWindows Autopilotの事前プロビジョニングを代行するソリューションです。

また、Microsoft Intuneの設定にお困りの方向けに、ポリシー作成のサポートを行うIIJ EMM活用支援ソリューション for Microsoftも提供しています。ぜひご相談ください。