スタッフブログ

Windows 10 配信の最適化①~ダウンロードモード編~


※ 2024/2/22 一部内容を修正しました。

SCD プラットフォームビジネスユニット 新宅です。
今年は雪が積もる時期が若干早いですね。大体年明け後に雪が増えてくるのですが、今年はもうすでに雪が増えてきています。

配信の最適化について

今回は、Windows 10におけるWindows Updateの制御のひとつである、「配信の最適化」サービスの調整についてです。日本マイクロソフトでもこの仕組みに触れた記事を投稿していましたが、3本立てのはずが、1本だけ投稿され、残りがなかなか投稿されないような状況です。きっと投稿するのを忘れている。

「ダウンロードモード」の違いで悩まれる方も多いかと思いますので、こちらの違いについて説明していこうと思います。

注意:この記事は投稿時点の情報に基づくものであり、将来的に変更される可能性がありますが、その場合と説明が異なる場合があります。また、この記事の内容が正確であるという保証はしません。記事の性質上、不正確な内容を含む場合があることをご留意のうえ、お読みください。

ただ単純に「配信の最適化」と検索すると、「勝手にWindows Updateのファイルをアップロードし始める」だとか、「Windows 10にしたら、設定アプリでアップロードを速攻オフにする」といったネガティブな記事・投稿が多く見られます。
個人の環境であれば、それほどローカルの台数も多くないでしょうし、ダウンロードの帯域を気にする機会なんてほとんど無いはずですが、一方でアップロードはISP側で制限が掛かっていることが多く、その中で万が一アップロードが爆増してしまったらと思うと、ISP側から解約されてしまわないか、ヒヤヒヤしてしまうのも無理はありません。2~3台でLAN交換してもさほど意味ないでしょうし、オフを推奨している方々にはそういった事情があるようで、これもまた一理あります。
さて、企業の環境ではどうでしょうか。企業の規模にもよりますが、少なくともヘビーな個人環境と同等で、ほとんどの場合はそれを遙かに上回る、数十台~数百台のPCが設置されることでしょう。全体のインターネット接続のダウンロード帯域が、この膨大なPCの数に対して十分とは言えない環境がほとんどです。このような環境で、それぞれがWindows Updateサーバーに問い合わせ、すべてをダウンロードして来ようとすると、帯域の取り合い(=ネットワーク渋滞)を引き起こし、仕事で必要な通信すらまともにできなくなってしまいます。「配信の最適化」をうまくコントロールすることで、ある程度軽減することが可能です。

ダウンロードモードの調整について

ダウンロードモードの設定等を調整することで、「配信の最適化」の動作をある程度制御することが可能です。「配信の最適化」が機能するようになったのは1511以上とされていますが、まともに機能するようになったのは1607以上のようです。

従来のWindowsの動作

従来は、BITSサービスによって、以下のような流れでダウンロードされていました。(別途WSUS等でBranchCacheによってLAN内で交換する仕組みはあります)
特別なことは何も無く、未導入で必要な更新プログラムを直接、個別にダウンロードしていました。

グループポリシーでの「配信の最適化」設定

[コンピューターの構成]→[管理用テンプレート]→[Windows コンポーネント]→[配信の最適化]→[ダウンロード モード]

MDM(Policy CSP・OMA-URI)による「配信の最適化」設定

OMA-URI: ./Vendor/MSFT/Policy/Config/DeliveryOptimization/DODownloadMode
整数で設定、指定値については当該グループポリシーと同等です。下記イメージの括弧内の数字を指定します。

それぞれの設定値ごとの動作イメージ

1703以降では、新しく「UUP」という緻密な差分ダウンロード技術が導入され、更にダウンロードサイズが削減されています。
※図は直接Windows Updateサーバーに接続する場合の例です。WSUSサーバーを利用する場合は、WSUSサーバーからダウンロードされます。

  • HTTPのみ(0)
    Windows Updateサーバー または WSUSサーバー の他に、Microsoftが設置する「配信の最適化クラウドサービス」に接続しますが、他のPCからは一切受信しません。P2Pを無効にしつつ、従来より早くダウンロードを完了させることができるようになります。Enterprise版のデフォルト設定はこの設定になっています。
  • LAN(1)
    上記のHTTPのみ(0)の動作に加え、同じLAN(サブネット)内にキャッシュ済のPCがいるかを検索し、キャッシュ済のPCが存在する場合は、P2P交換することでWAN帯域への通信を若干削減できます。Pro版におけるデフォルト設定はこの設定になっています。
  • グループ(2)
    LAN(1)とほぼ同等の動作をしますが、ピア検索範囲が同じLAN内の、同じAD DSサイト内となります。なお、別途グループIDの指定ポリシーと組み合わせることで独自のグループを設定することが可能になります。Active Directory環境が整備されているオフィスに最適です。
  • インターネット(3)
    Home版における初期設定です。LAN(1)の動作に加え、更にダウンロード速度の速い「どこかのWindows 10 PC」ともP2P交換を実施します。この設定は、自分のPCもアップロードクライアントになり得ることに注意が必要です。
  • シンプル(99):1607以上のみ
    従来のBITSサービスの方法に似ている方式です。デフォルトでは、別のダウンロードモードが指定されていても、10MB未満の(Defenderの定義ファイルのような)更新時には、自動的にこの方式になりますが、別のポリシーで調整可能です。
    P2Pキャッシングを完全に無効にし、クラウドサービスにも接続しません。WSUS環境下のクライアントからインターネット接続ができない環境にも最適です。インターネット接続が可能な場合は、大元のWindows Updateサーバーとのみ接続し、ダウンロードします。従来の方式や、下記のバイパス(100)と似ていますが、1703以降では、前述の「UUP」の恩恵を受けることができます。
  • バイパス(100):1607以上のみ ※ Windows 11 非対応
    「配信の最適化」サービスから、BITSサービスに転送し、従来の方法でダウンロードします。BranchCacheですでに構成されている企業の場合は、「配信の最適化」サービスではBranchCacheを利用することができません。バイパスを指定することでBITSサービスにフォールバックされ、既存のBranchCacheをWindows 7/8.1と同様に管理することができるようになります。なお、1703以降であっても「UUP」の恩恵を受けられなくなることには注意が必要です。

    ※2024/2/22 追記
    本ダウンロード モードは Windows 11 では廃止されました。Windows 10 でのみサポートされます。

    【参考】https://jpwinsup.github.io/blog/2023/04/28/WindowsUpdate/DO/DeliveryOptimization_QA/
    Q7:
    配信の最適化を無効化することはできますか?また BITS / Branch Cache を利用してダウンロードできますか?
    A7:
    DO はダウンロードを行う基本機能であるため、無効化することはできかねますが、ダウンロード モードを Bypass (100) に設定することで、ダウンロード処理を BITS/Branch Cache に転送することができます。
    また Windows 11 では Bypass (100) 設定が廃止されているため、BITS/Branch Cache に転送することはできません。

配信の最適化の利用可否

配信の最適化が利用可能なケース

下記のいずれか場合は、0~3と99(1607以上のみ)のいずれかを選択可能です。

  • 直接Windows Updateサーバーからダウンロードできる場合
  • WSUSを利用中でBranchCacheを構成していない場合

配信の最適化が利用不可能なケース

下記のいずれかの場合は、1511では0を、1607以上では100を指定する必要があります。

  • WSUSを利用中でBranchCacheをすでに構成している場合
  • System Center Configuration Manager(SCCM)で構成している場合

まとめ

「配信の最適化」サービスの調整は、実際に動かして帯域と相談しながら調整していく必要があります。小さいオフィスの場合、初期設定でもさほど問題にはなりませんが、大きいオフィスの場合、BranchCacheによる調整も視野に入れる必要があります。

18ヶ月のサポート期間に留まりつづけるのは非常に骨が折れますが、恐らく徐々に設定しやすくなっていくでしょう。Windows 7からの移行の場合は、多くの部分で変更が加わっているため、サポートが終わる前に体制を整えていく必要があります。