目次
配信の最適化とは?
配信の最適化 ( DO )とは、近くのPCが保有している更新プログラムをお裾分けしてもらって、インターネット経由でダウンロードする更新プログラムを少なくしたい。こんな要望お叶えるための機能です。
そんな夢のような機能が動作するのは、以下に該当するファイルとなります。
- 機能更新プログラム (FU:Feature Update)
- 品質更新プログラム (QU:Quality Updates)
- Microsoft Apps (Office ProPlus)
- Windows Store アプリ
- Windows Store for Business アプリ
- Windows Store for Education アプリ
- クイック実行のOffice 2019
- Intune にて配信したWin32アプリ
意外と多くてビックリしますよね!私はビックリしました(笑)
これだけ動いてくれるのであれば、今後のことも考えて有効化しておきたくなりますよね!
配信の最適化 概要
Windows 10 PCを更新したい場合、マイクロソフト社からインターネット経由で更新プログラムのダウンロードを行います。
しかし、Windows 10の更新プログラムは容量が大きくネットワーク負荷が大きいのが実情です。
そこで、同一ネットワーク内に存在する Windows10 PC で配信の最適化が有効になっているWindows 10 PC同士で更新プログラムを共有することで、インターネットからのダウンロードを省略することが出来るように実装された機能になります。
実際に配信の最適化が有効になっている Windows 10 PCが複数台ある環境では、外部トラフィックも減り従来より更新プログラムのダウンロード~インストールまでの時間が短く済んでいます。
配信の最適化を使う上で注意点はあるの?
企業で配信の最適化を使う場合は、他のPCとファイル共有することに対するセキュリティリスクが気になると思います。
そういった場合には以下設定画面にて「ローカルネットワークのみ」に設定していただければ、同一ネットワークに存在するPC同士での共有になります。
もし配信の最適化で「インターネット上のPC」を有効にしていると、見ず知らずのWindows 10 PCとファイルの共有を行ってしまうので、この設定値は気にして頂いたほうが良いと思います。
配信の最適化 基本動作
配信の最適化は、基本的に以下順番で動作します。動作自体はシンプルなので覚えやすいですよ。
もし、Windows Server Update Service (WSUS)を利用している場合はWindows UpdateサービスをWSUSに置き換えてください。
- 適用可能な更新プログラムが存在しているかチェック
- 配信の最適化サービスへ接続し、自身が欲しい更新プログラムを保持しているWindows 10 PCの情報を取得
- 近くのWindows 10 PC またはWindows Updateサービスから、自身が欲しい更新プログラムをダウンロード
配信の最適化 前提条件
- ファイアウォール設定を行っている場合、以下ポートの解放が必要です
- HTTP :80
- HTTPS:443
- TCP :7680
- ファイアウォール設定を行っている場合、以下URLへの接続が必要です (青字は任意)
- *.do.dsp.mp.microsoft.com
- *.dl.delivery.mp.microsoft.com
- *.emdl.ws.microsoft.com
- *.download.windowsupdate.com
- *.windowsupdate.com
- クライアントPCのスペック
- ディスクの容量が 32 GB 以上
- メモリが 4 GB 以上
- ダウンロードするファイル サイズの x2 以上の空きディスク領域
- 複数拠点がありWANを跨いで通信できる場合は、同一セグメント構成が無いこと
- 無線Wi-Fiを利用している場合は、P2Pブロッキング機能が無効化
- プロキシサーバーを利用している場合は、WinHTTPのプロキシ設定を行うこと
動作確認する方法は??
ここでは、Windows Updateを例に記載させてもらっています。
- 最初に更新プログラムをダウンロードしたWindows 10 PCが、想定通りに更新プログラムをキャッシュしているか確認
- 以下コマンドを実行し、更新プログラムのキャッシュ状態を確認します
command Get-DeliveryOptimizationStatus
実行後に以下のような画面が表示されれば、成功です。
- 画面内の"Status"が、[Caching]になっていれば、更新プログラムをキャッシュできている状態です。
もし[Complete]になっている場合は、時間経過により[Caching]に変わります。 - 画面内の"DownloadMpde"が、[1] or [2]になっていれば、配信の最適化が動作しています。
もし[0] or [99]になっている場合は、配信の最適化が動作していないので設定を確認してください。 - 画面内の"Source URL"にてファイルの提供元を確認できます。
WSUSから配信している場合には、WSUSのIPアドレスが記載されています。
- 画面内の"Status"が、[Caching]になっていれば、更新プログラムをキャッシュできている状態です。
- 以下コマンドを実行し、更新プログラムのキャッシュ状態を確認します
- 上記コマンドで"Status"が[Caching]になっているけど、何のファイルか特定したい
- 以下コマンドを実行し、"Fileid"を探します。
command Get-DeliveryOptimizationStatus
- 次に以下コマンドを実行し、"Massage"に先ほど取得したFileidが記載されている箇所を探します。
同一"Massage"欄にKB番号が記載されているので、こちらで特定が可能です。command Get-DeliveryOptimizationlog
- 以下コマンドを実行し、"Fileid"を探します。
- 配信の最適化にて最初に更新プログラムをダウンロードしたWindows 10 PCから更新プログラムをダウンロードできているか確認
- 以下コマンドを実行し、配信の最適化の状態を確認します。
command Get-DeliveryOptimizationStatus
- 画面内の"BytesFromLanPeers"が、[1]以上になっていれば配信の最適化を使用して更新プログラムをダウンロードしています。配信の最適化を使用してダウンロードしたファイル数分、この数値が加算されていきます。
- 画面内の"BytesFromLanPeers"が、[1]以上になっていれば配信の最適化を使用して更新プログラムをダウンロードしています。配信の最適化を使用してダウンロードしたファイル数分、この数値が加算されていきます。
- 以下コマンドを実行し、配信の最適化の状態を確認します。
トラブルシューティング - Windows 10 PCにダウンロードされた更新プログラムがキャッシュされない
PCを再起動すると、キャッシュされていたデータが消えてしまう。
Windows 10 PCのスペックが要件を満たしていない可能性があります。
ダウンロードされているのにキャッシュデータが残らない
winhttp Proxyの設定がされていない可能性が高いです。
以下コマンドで設定を確認してください。
command
netsh winhttp show proxy
更新プログラムがキャッシュされているか確認したが"Status"が[Complete]から変わらない
もし仮想Windows 10 PCで動作試験をされている場合、仮想Windows 10 PC同士でSIDが被っている可能性が有ります。
以下コマンドで確認して、解決してください。
command
whoami /all
さいごに・・・
本記事を読んでいただきありがとうございます。1つ1つ、丁寧に記載させて頂いたつもりですがいかがでしょうか。
私が遭遇した実例をもとに実装方法から始まり動作確認方法、トラブルシューティング方法まで記載させて頂きました。
記事最後にActive Directory ( AD )のグループポリシー ( GPO )で設定できる項目もまとめていますよっ
これから配信の最適化を有効化してみようかな?と考えている方や実際に利用している方にも有益な情報が揃っていると思います。
きっと読んでいただけた方は、配信の最適化が実際にどう動作しているかも理解頂けたかと思います。
動作自体はとてもシンプルで簡単なものですが、事前に準備しなければいけない要件が多いと思いますので、1つ1つ整理して実装してください。
おまけ - ADの GPOで配信の最適化を制御する
- グループポリシー名:配信の再経過ダウンロードモード
内容:配信の最適化にてファイル共有する範囲の制御 - グループポリシー名:P2P範囲を同一サブネットにする
内容:配信の最適化にてファイル共有する範囲をさらに制限 - グループポリシー名:HTTPからの更新プログラム取得遅延
内容:更新プログラムをWindows Updateサービスからダウンロードするタイミングを遅延する - グループポリシー名:キャッシュ期間
内容:ダウンロードしたプログラムファイルのキャッシュを保管する期間を指定する - グループポリシー名:キャッシュサイズ
内容:ダウンロードしたプログラムファイルを保管する最大キャッシュ容量を指定する