ローカルネットワークでの Windows Update 配信を最適化する方法

Windows Updateのトラフィックへの対応は、特に大規模ネットワークでは大きな頭痛の種となることがあります。Windows 10および11の配信最適化(WUDO)は、コンピューター間で更新ファイルをピアツーピアで共有することで、この負荷を軽減するはずです。これは、システムアップデートとアプリ向けのトレントのようなものです。ネットワークに複数の拠点や支社がある場合、このトラフィックを最適化することで、帯域幅を大幅に節約し、アップデートを高速化できます(少なくとも理論上は)。うまく機能すれば素晴らしいのですが、時には厄介な問題が発生し、適切な設定方法や問題のトラブルシューティング方法を知る必要があります。

このガイドでは、配信の最適化を有効化、設定、トラブルシューティングするための実用的な手順を解説し、ネットワークトラフィックの管理性を維持します。Windowsは当然のことながら、配信の最適化を必要以上に複雑にし、設定項目が様々なメニューやポリシーの背後に隠されています。なぜうまく動作したりしなかったりするのかは分かりませんが、いくつかの調整を加えるだけで、通常はスムーズに動作するようになります。

Windows 10 または 11 で配信の最適化を有効にする方法

Windows でピアツーピア共有の使用を許可する

配信の最適化は、Windows 10(ビルド1511以降)およびWindows 11ではデフォルトで有効になっていますが、機能には制限があります。基本的に、同じローカルネットワーク上の他のPCからファイルを取得できるようになるため、WANトラフィックの削減に役立ちます。「設定」 > 「Windows Update」 > 「詳細オプション」 > 「配信の最適化」で確認すると、次のようなオプションが表示されます。

  • 他のPCからのアップロードとダウンロードを許可する– オンまたはオフにします
  • ダウンロードを許可するデバイス:ローカルネットワーク上のデバイス、インターネット上のデバイス、両方、または LAN のみ

コアサービスDoSvc(Delivery Optimization)は自動的に起動するはずですが、時々起動しないことがあります。正常に動作しているかどうかを確認するには、PowerShellを開いて次のコマンドを実行してください。

Get-Service dosvc|Select-Object -Property Name, Status, StartType

実行されていない場合は、手動で起動するか、無効になっている理由を確認する必要があります。再起動したり、更新ウィンドウを再度開いたりすると、起動する場合もあります。

グループポリシーによる配信の最適化の構成

大規模ネットワーク向けの設定を微調整する

企業環境の場合、GUIオプションだけでは不十分な場合があります。「コンピューターの構成」 > 「管理用テンプレート」 > 「Windowsコンポーネント」 > 「配信の最適化」からグループポリシーエディター( gpedit.mscを実行)を開いてください。そこから、次のようなポリシーを設定できます。

  • ダウンロードモード:デバイス間でアップデートを共有する方法を制御します。一般的な設定には以下が含まれます。
    • LAN (1) – 同一LAN内でのみピア共有、単一サイトに最適
    • グループ(2) – 複数のセグメントにまたがるピアリング。特にADサイト境界が設定されている場合、マルチサイト設定に便利です。
  • GroupID:ネットワークの各近隣デバイスに一意のGUIDを使用します。これにより、デバイスがグループ化されて更新が行われ、サイト間のトラフィックを回避できます。PowerShellでGUIDを生成し[guid]::NewGuid()、ポリシーで割り当てます。
  • 最小ディスクサイズとRAM:ピアキャッシュに参加するデバイスを指定するためのしきい値を設定できます。例えば、4GBのRAMと32GBのディスク容量を持つデバイスのみをピアとして動作させるなどです。古いマシンで十分な処理能力がない場合に便利です。
  • VPN 経由のピア キャッシュを有効にする: これは直感に反するように思えますが、一部の設定では、VPN 経由のピア キャッシュを有効にすると、リモート ユーザーが中央サーバーにアクセスせずに更新をより速く取得できるようになります。

注:大規模なドメイン全体にポリシーをプッシュする場合は、Microsoft の ADMX テンプレートを必ず更新してください。これにより、GPO エディターですべてのオプションが利用できるようになります。

配信の最適化を使用して WSUS トラフィックを抑制する

WSUS の更新をより効率的にする

配信の最適化は、クライアントがインターネットに接続する前にLANピアから更新ファイルを取得しようとするため、WSUSサーバーの負荷を軽減するのに役立ちます。クライアントが更新をスキャンする際、クラウドのWUDOサービスに接続し、それらのファイルが既にローカルにキャッシュされているかどうかを確認します。

プロキシを使用している場合は、配信の最適化がスムーズにインターネットに接続できるように、Windowsでプロキシ設定を構成することをお勧めします。また、ファイアウォールを使用している場合は、ピア間の通信に使用されるTCPポート7680を開く必要があります。このポートが開いているかどうかは、PowerShellで確認できます。

Test-NetConnection -ComputerName  -Port 7680

これにより、ネットワークがピアツーピアトラフィックをブロックしていないことを確認できます。ブロックされている場合、更新はLANピアではなくMicrosoftサーバーから送信される可能性があり、本来の目的が達成されません。

構成マネージャー (SCCM) での配信最適化の活用

SCCM でピア共有を使用する

組織でSCCM(ConfigMgr)を使用している場合、バージョン1910以降は配信の最適化をサポートしています。境界グループを構成して「この境界グループ内でのピアダウンロードを許可する」を有効にすると、ピア共有を有効にすることができます。また、クライアント設定で、 「グループID の配信の最適化にConfiguration Manager境界グループを使用する」などのオプションを有効にしてください。これにより、特に複数のサイトがWANリンク経由で接続されている場合、すべての更新とパッケージがネットワーク全体でより効率的に送信されます。これは、複数のDPを持つようなものですが、よりピアツーピア的な特徴を備えています。

Windows での配信最適化の監視

トラフィックとピアの状況を確認する

実際にどれだけのトラフィックを節約できているかを確認したい場合は、Windows に内蔵ツールがあります。「設定」 > 「更新とセキュリティ」 > 「配信の最適化」 > 「アクティビティモニター」と進んでください。ピアからダウンロードされたデータの量や、そのデータが誰と共有されたかなどの情報が表示されます。

さらに、PowerShellは詳細な分析にも最適です。実行すると、Get-DeliveryOptimizationPerfSnap現在のパフォーマンスのスナップショットが表示されます。実行中のタスクの詳細を確認するには、以下を使用します。

Get-DeliveryOptimizationStatus | ft

アクティブな転送統計、ピア情報、チャンクの割合が表示されます。ピア共有が期待どおりに機能していないと思われる場合に役立ちます。接続中のピアを一覧表示するには、以下の手順を実行してください。

Get-DeliveryOptimizationStatus –PeerInfo

月次の概要を確認するには、次の操作を試してください。

Get-DeliveryOptimizationPerfSnapThisMonth

なぜなら、トラフィックやピア リストをチェックするだけで、すべてが順調に進んでいるか、何かが更新をブロックしているかがわかる場合があるからです。

まとめ

配信の最適化の設定は全体的に少し複雑に感じます。特にWindowsではすべてのオプションが事前に明示されていないためです。正しく設定すれば、特に複数のブランチオフィスや大規模ネットワークでは、不要なWANトラフィックを大幅に削減できます。何かがうまくいかない場合は、ファイアウォールルール、GPO設定、そしてサービスが実行中かどうかを再確認してください。サービスを再起動するだけで問題が解決する場合もあります。

この簡単なチュートリアルが、帯域幅とストレスを少しでも軽減してくれることを願っています。私の場合はうまくいきました。皆さんにもうまくいくことを願っています。

まとめ

  • 設定またはGPOで配信の最適化を有効にする
  • 必要に応じてダウンロードモード、グループID、帯域幅制限を設定します
  • P2P通信用のポート(TCP 7680など)を開く
  • PowerShell を使用してトラフィックを監視およびトラブルシューティングする
  • ピア共有を活用するために WSUS または SCCM 環境を構成する