フォーム読み込み中
こんにちは、ソリューションアーキテクトの武田です。
この記事ではWSUSのクラウドリフトにおける通信量の最適化について紹介します。
物理PCへのWindows更新プログラム配布でWSUSを利用しているが通信量が心配でクラウドリフトができずオンプレに残したままとなっている、といった課題に対する解決策のひとつとして参考になれば幸いです。
Windows10より前はWindows7→Windows8といったようにOSのバージョンが上がる事で機能の更新が行われてきましたが、Windows10以降はOS名はそのままで新機能が追加される形となっています。Windows10以降の更新プログラムは、大きく分けて以下の3つが有ります
こちらは主に新機能追加が行われる更新プログラムです。
FUという略称で呼ばれることも多く、半年に1回程度の頻度でリリースされます。1つの更新プログラムが数GBになることが多く、適用するとOSの「バージョン」が変わります。
主に脆弱性や不具合の修正が行われる更新プログラムです。
QU、月例パッチなどと呼ばれ、通常は月次でリリースされます。従来はKB単位でリリースされていましたが、Windows10以降は累積更新として提供されるようになりました。
1つの更新プログラムは数MBから数百MBとなることが多く、適用するとOSの「ビルド」が変わります。
Windowsの更新プログラムをインストールするコンポーネントである「サービススタック」の修正が行われる更新プログラムです。
SSUという略称で呼ばれることも多く、FUやQUに合わせてリリースされます。
表1_更新プログラムの種類
| 種類 | リリース頻度 | サイズ | 変更箇所 |
|---|---|---|---|
| 機能更新プログラム(FU) | 半年に1回程度 | 数GB | OSのバージョン |
| 品質更新プログラム(QU) | 月に1回 | 数MB~数百kMB | OSのビルド |
| サービススタック区更新プログラム(SSU) | FUやQUに合わせてリリース | 10MB程度 | - |
一般的なオンプレミスのWSUS構成は数に近い形が多いと思います。
図1_オンプレミスのWSUS構成
WSUSをクラウドリフトする場合に、以下のような課題があるのではないでしょうか?
特に考慮せずにWSUSをクラウドリフトすると、インターネット回線の帯域圧迫や膨大な通信料請求といった事態に陥りかねません。
図2_そのままクラウドリフトした場合
パブリッククラウドからのアウトバウンド通信を削減するために、Windows標準のBranchCache(ブランチキャッシュ)機能を利用する方法があります。
BranchCacheとはWindows Server2008 R2及びWindows 7移行で提供されているネットワーク機能の一つで、WAN越しのサーバから読み込んだデータをローカルにキャッシュし、周りのコンピューターは同じデータにアクセスする際にそのキャッシュを利用することでトラフィックを削減する仕組みです。
BranchCacheには「ホスト型キャッシュモード」と「分散キャッシュモード」があります。
WindowsServerがキャッシュ専用サーバとなり、クライアントは常にキャッシュサーバからコンテンツを取得するモード。サーバOSが必要だが、キャッシュの取得先の固定が可能。
サーバOS/追加HWは不要でクライアントPCにキャッシュを保持するモード。キャッシュ取得先の固定ができないため、キャッシュ保持PCのシャットダウンなどによりキャッシュが利用できない場合がある。またサブネットを跨いだキャッシュアクセスができないため、サブネットごとにキャッシュ保持PCが必要。
表2_BranchCacheのキャッシュモード
| キャッシュモード | サーバOS | キャッシュ取得先固定 | サブネットを跨いだキャッシュアクセス |
|---|---|---|---|
| ホスト型キャッシュモード | 必要 | 可能 | 可能 |
| 分散キャッシュモード | 不要 | 不可能 | 不可能 |
WSUSにBranchCache機能を組み合わせることでキャッシュを利用したアップデートの取得・適用ができ、NWトラフィックの軽減が可能となります。
※Windows10から「配信の最適化」機能(P2P型配布機能)が導入されましたが、マイクロソフトのサイトで「Windows 10 のアップグレードや累積形式の更新プログラムを配信した際に、世界的なネットワーク負荷高騰が発生してしまうことを防ぐために実装された機能であり、ホーム ユーザーまたは 数十台規模のスモール ビジネス環境での利用を主に想定しています」と明記されていることから、WSUSとの組み合わせ利用には向いていないと考えます。
参考:配信の最適化について
前述のBranchCache機能を利用した、WSUSクラウドリフト時の推奨構成が下図となります。(分散キャッシュモード)
WSUSサーバをパブリッククラウド上に配置することで物理機器の管理運用負荷を軽減し、更にBranchCache機能を利用することで通信料削減とインターネット回線の帯域圧迫防止がはかれます。
図3_WSUS推奨構成
WSUSでBranchCache機能を使用するには、WSUS利用設定に加えて以下の設定が必要となります。
<WSUSサーバ>
・OSの機能「BranchCache」を追加
WSUSサーバで役割と機能の追加から「BranchCache」機能を追加する。
・IISのContentで「.esd」ファイルの配信許可
インターネットインフォメーションサービス(IIS)マネージャーで、サイト-WSUSの管理-Contentを開き、MIMEの種類に.esdが登録されていることを確認する。
<Active Directory>
※クライアント側はActive Directoryのグループポリシーによる設定が推奨です。
Active Directoryのグループポリシー管理エディターにて、以下のポリシーをクライアントに適用する。
○BranchCacheの有効化
コンピュータの構成-ポリシー-管理用テンプレート-ネットワーク-BranchCache
BranchCacheを有効にする:有効
BranchCacheを分散キャッシュモードに設定する:有効
クライアントコンピューターのキャッシュに使用するディスク領域の割合を設定する:有効/任意の割合
コンピューターの構成-ポリシー-管理用テンプレート-ネットワーク-LAN Manager サーバー
BranchCacheのハッシュの発行:有効/ハッシュの発行を全ての共有フォルダ―で許可する
BranchCacheのハッシュバージョンサポート:有効/V1 バージョンとV2 バージョンをサポートする
○ BranchCache を利用するための Windows ファイアウォールの設定
コンピューターの構成-ポリシー-Windowsの設定-セキュリティの設定-セキュリティが強化されたWindows Defenderファイアウォール
受信の規則
規則の種類:事前定義/BranchCache・コンテンツ取得(HTTPを使用)
操作 :接続を許可する
規則の種類:事前定義/BranchCache・ピア検出(WSDを使用)
操作 :接続を許可する
送信の規則
規則の種類:事前定義/BranchCache・コンテンツ取得(HTTPを使用)
操作 :接続を許可する
規則の種類:事前定義/BranchCache・ピア検出(WSDを使用)
操作 :接続を許可する
○配信の最適化の無効化
コンピュータの構成-ポリシー-管理用テンプレート-Windowsコンポーネント-配信の最適化
ダウンロードモード:有効/バイパス(100)もしくは簡易(99)
グループポリシー設定が完了したら、以下のコマンドを実行してクライアントに適用します。
>gpupdate /force
以下のコマンドにて、BranchCacheの状態を確認できます。
>netsh branchcache show status all
出力結果でサービスモードが「分散キャッシュ(グループポリシーにより設定)」となっていれば設定完了です。
これで同一セグメント内に存在するクライアントとキャッシュ通信を行う設定となっています。
WSUSをクラウドリフトした際の物理PCのアップデートについて、全台がクラウド上のWSUSからアップデートを取得するのではなくBranchCacheの機能を利用してキャッシュから取得することで、パブリッククラウドのアウトバウンド通信量削減ができます。
WSUSによるパッチ配信構成の一つとして参考にしていただければ幸いです。
条件に該当するページがございません