エアギャップ環境でWSUSを運用すると、「毎月すべての更新を持ち込むと容量が大きすぎる」という壁に当たります。本記事では、オンラインWSUSとオフラインWSUSを分け、wsusutilのexport/import(メタデータ)とWSUSコンテンツ(バイナリ)コピーで“必要な更新だけ”に寄せる実践手順を解説します。
結論:小さな「インデックス」だけで完結はしないが、WSUS標準機能で近い運用はできる
いわゆるOffline WSUS Updates File Transfer(オフラインでWSUS更新を搬入して配布する運用)を成立させるには、WSUSが扱う「メタデータ」と「コンテンツ」を分けて考えるのが近道です。
まず押さえておきたいポイントは次のとおりです。
- 「小さなインデックスファイル」相当は、WSUSのエクスポートで作成するメタデータ(カタログ)です。
- ただし、メタデータだけではクライアントへ配布できません。最終的には更新ファイル本体(バイナリ)をオフライン側へ搬入する必要があります。
- 定石はWSUSをオンライン用とオフライン用の2台に分ける構成です。オンライン側で同期・ダウンロードし、オフライン側は配布に専念させます。
「クライアントが必要なものだけを報告→必要分だけバイナリを持ち込む」という発想は正しく、WSUSの設計に落とし込むならメタデータ(export/import)を“インデックス”として運び、コンテンツは別搬入が公式ルートです。
構成の基本:オンラインWSUS(取得)+オフラインWSUS(配布)
エアギャップ環境で破綻しやすいのは、「1台のWSUSで何とかしよう」として、同期・承認・ダウンロード・配布・レポートを全部載せてしまうことです。外部に出られない以上、更新の入手経路が途切れるため、役割分離が現実的になります。
| サーバー | 役割 | 外部接続 | 主な作業 |
|---|---|---|---|
| オンラインWSUS | 更新の取得・保管(ステージング) | 可能(Microsoft Updateへ接続) | 同期、承認、バイナリのダウンロード、エクスポート |
| オフラインWSUS | 更新の配布・レポート(配布専用) | 不可(エアギャップ) | インポート、コンテンツ配置、クライアント配布、必要状況の把握 |
イメージ(データの流れ)
Microsoft Update
↑(同期・ダウンロード)
オンラインWSUS
↓(メタデータ export + コンテンツコピー)
[媒体:外付けHDD/USB/セキュア転送装置]
↓(メタデータ import + コンテンツ配置)
オフラインWSUS
↓(LAN)
クライアント(サーバー/PC)
「インデックス」役になるWSUSメタデータとは何か
WSUSが扱う情報は大きく2種類に分かれます。
- メタデータ:更新プログラムの情報(KB、適用対象、前提条件、置き換え関係、承認状態など)
- コンテンツ(バイナリ):実際に配布される更新ファイル(.cab/.msu/.exe など)
質問で求められている「小さなインデックスファイル」は、概念的にはメタデータに近いです。WSUSのwsusutil.exe exportで生成されるファイルがこの役割を担います。ただし、メタデータだけを持ち込んでもクライアントがダウンロードできる実体がないため、結局コンテンツ搬入が必要になります。
実運用の流れ:export/import+コンテンツコピーを手順化する
ここからは、現場で運用しやすい形に落とした「月次ルーチン」の例です。媒体搬入を前提に、作業の分担点(どこで承認するか)も含めて解説します。
前提条件(最初に揃えると事故が減る)
- オンラインWSUSとオフラインWSUSは、可能な限り同じWSUS/OS世代で揃える(Windows Serverの世代差が大きいとメタデータ整合が崩れやすい)
- 両方のWSUSで製品(Products)、分類(Classifications)、言語(Languages)の方針を揃える
- オフライン側のクライアントが参照するWSUSのURL、証明書(HTTPS運用時)を確定させる
- 媒体は可能ならNTFSでフォーマットし、コピーの途中でアクセス権が欠落しないようにする
手順1:オンラインWSUSで同期し、承認する更新を絞る
「必要な更新だけ」に寄せる最初のコツは、オンラインWSUS側の同期対象を絞ることです。ここが広いと、いくら後段で工夫してもデータ量が膨らみます。
- 製品:使っているOS/Office/SQLなどに限定する(不要なバージョンは切る)
- 分類:まずはSecurity Updates/Critical Updates/Update Rollupsなどに限定し、Driversは原則切る
- 言語:日本語環境なら日本語+必要最小限(英語を追加するかは方針で)
さらに、オンラインWSUSのオプションで「承認された更新だけをダウンロードする」設定にしておくと、承認=搬入対象になりやすく、データ量の見通しが立ちます。
手順2:オンラインWSUSでメタデータをエクスポートする
エクスポートはWSUS標準のコマンドで実行します。実行場所は通常、WSUSサーバーのツールフォルダー(例:%ProgramFiles%\Update Services\Tools)です。
wsusutil.exe export D:\Transfer\wsusmeta.cab D:\Transfer\wsusmeta.log
作成される.cabがメタデータ(カタログ)で、.logは実行ログです。トラブル時はこのログが重要になるため、cabとlogは必ずセットで管理します。
手順3:オンラインWSUSのコンテンツ(バイナリ)を媒体へコピーする
メタデータだけでは配布できないため、更新ファイル本体のコピーが必要です。一般的にはWSUSのコンテンツフォルダー(例:WsusContent)を媒体へ同期します。環境によってはUpdateServicesPackagesなど関連フォルダーもあるため、WSUSの構成に合わせて対象を決めます。
コピーはエクスプローラーでもできますが、差分コピーや再実行に強いrobocopyが運用向きです。
robocopy "D:\WSUS\WsusContent" "E:\WSUS_Transfer\WsusContent" /MIR /Z /R:3 /W:5 /NP /FFT
/MIR:ミラー(削除も反映)。媒体側をオンライン側に合わせたいときに便利/Z:再開可能モード。大容量コピーで安定しやすい/R//W:リトライ回数・待ち時間。失敗時に無限ループしない
媒体側に既に過去分のコンテンツがある運用なら、実質的に増分だけがコピーされるため、月次搬入のデータ量を大きく抑えられます。
「必要な更新ファイルだけ」を物理的に選別コピーするのが難しい理由
「クライアントが必要と言った更新だけを、WSUSContentから拾って持ち込めば最小になるのでは?」と考えがちですが、現実には難易度が高いです。
- WSUSContent配下のファイル名やフォルダー構造は、KB番号のように人間が追える形ではなく、ハッシュ/IDベースで管理されます。
- 1つの更新が複数ファイルに分かれたり、複数の更新が同じファイルを共有したりして、「このKB=このファイル一式」になりにくいです。
- 前提条件(SSU、.NET、累積更新の関係など)を取りこぼすと、必要更新だけ運んだつもりでも結局不足が出ます。
そのため、現場では「ファイルを手で選別」ではなく、承認の絞り込み+(承認分だけダウンロード)+ミラーで増分同期という設計で最小化するのが安定します。
| アプローチ | データ量 | 実現難易度 | おすすめ度 |
|---|---|---|---|
| WSUSContentから必要ファイルを選別してコピー | 最小になり得る | 高い(マッピングと前提条件が難しい) | 低(特殊要件・検証できる体制がある場合のみ) |
| 承認を絞り、承認分だけダウンロード→媒体はミラーで増分 | 小さくしやすい | 中(ポリシー設計が要) | 高(現実的で壊れにくい) |
| すべて同期・承認してフルコピー | 最大 | 低 | 低(容量と作業が破綻しやすい) |
手順4:媒体をオフラインWSUSへ持ち込み、メタデータをインポートする
エアギャップ側へ媒体を搬入したら、まずメタデータをインポートします。
wsusutil.exe import E:\WSUS_Transfer\wsusmeta.cab E:\WSUS_Transfer\wsusmeta.log
インポートが終わると、オフラインWSUS側のコンソールで更新一覧・承認状態が反映されます。ここで「メタデータがインデックスとして効いている」状態になります。
手順5:オフラインWSUSへコンテンツ(バイナリ)を配置する
次に、媒体上のコンテンツをオフラインWSUSのコンテンツフォルダーへコピーします。
robocopy "E:\WSUS_Transfer\WsusContent" "D:\WSUS\WsusContent" /MIR /Z /R:3 /W:5 /NP /FFT
この段階で、オフラインWSUSは「配布に必要なメタデータ」と「配布する実体ファイル」を両方持つため、クライアント配布が成立します。
「必要な更新だけ」に寄せる実践テクニック
ここが本題です。エアギャップ運用では、初回の“種まき”(フルに近い搬入)を避けられないこともありますが、2回目以降をいかに増分にするかで運用コストが劇的に変わります。
承認を絞るほど、コピー対象のバイナリが減る
オンラインWSUSを「承認された更新だけをダウンロード」にしている場合、承認がそのままコンテンツの増分に直結します。つまり、データ量を抑えたければ承認ポリシーを設計するのが最短です。
| 施策 | 期待できる効果 | 注意点 |
|---|---|---|
| 製品(Products)を必要最小限にする | 同期されるメタデータとバイナリの両方が減る | 将来追加する製品があるなら、変更時の影響範囲を事前に把握 |
| 分類(Classifications)を厳選する | ドライバーや機能更新を避けやすい | Definition Updates(Defender等)は運用ポリシーを決めておく |
| 言語(Languages)を絞る | ダウンロードサイズが目に見えて減ることが多い | 多言語端末があるなら必要言語を漏れなく |
| 「承認された更新だけをダウンロード」を使う | 承認=搬入対象になり、増分管理がしやすい | 承認設計が雑だと逆に肥大化する |
| Express Installation Filesを使わない | コンテンツ量を抑えられることが多い | LAN帯域とのトレードオフ。拠点数が多いと別判断もあり |
オフライン側で「必要」を把握してから、オンライン側に必要分だけ集める運用パターン
質問の意図に最も近いのは、オフラインWSUSで必要状況(どの更新が不足か)を把握し、その結果に合わせてオンラインWSUSで必要分だけダウンロードさせるやり方です。実現の仕方は大きく2つあります。
パターンA:オンラインWSUSで承認を管理する(シンプル・定番)
- オンラインWSUSで更新を同期
- 組織ポリシー(例:セキュリティ更新は原則承認)で承認
- オンラインWSUSが承認分のバイナリをダウンロード
- export/import+コンテンツコピーでオフラインへ搬入
この方式は「必要状況に100%連動」ではありませんが、手順が単純で壊れにくいのが強みです。まずはここから始めるのが安全です。
パターンB:オフラインWSUSで承認を決め、承認情報をオンラインWSUSへ持ち込む(必要分に寄せやすい)
オフラインWSUSはクライアントのスキャン結果(必要な更新)を最も正確に持っています。そこで、承認の主戦場をオフライン側に置き、承認情報をオンライン側に取り込んで「承認された更新だけ」をダウンロードさせると、搬入量をさらに絞れます。
- (前提)オンライン→オフラインへメタデータを定期搬入し、オフラインWSUSのカタログを最新化する
- オフラインWSUSでクライアントの必要状況を確認し、必要な更新だけ承認する
- オフラインWSUSでメタデータをエクスポートし、媒体でオンラインWSUSへ持ち込む
- オンラインWSUSでインポートして承認状態を反映し、承認された更新だけダウンロードさせる
- オンラインWSUSから、改めてメタデータ(とコンテンツ)をエクスポート/コピーしてオフラインへ搬入する
この方式は環境差分やメタデータの整合性がシビアになりやすいため、まずはパターンAで安定運用→慣れたら段階的に導入がおすすめです。
増分搬入を成立させる「媒体の使い方」
毎回ゼロから媒体に集めるのではなく、媒体(外付けHDD等)を“オフライン側コンテンツのミラー”として育てると、月次搬入が現実的になります。
- 初回:媒体を空にして、オンラインWSUSから必要分(あるいはベースライン)をコピー
- 2回目以降:同じ媒体へ
robocopyでミラーし、差分だけ更新 - オフライン側へ搬入後も、同じ媒体を次回の搬入に再利用する
この運用だと、媒体の中身は累積しますが、転送作業自体は増分中心になり、現場の負担が大きく減ります。
作業手順を月次ルーチンに落とす(チェック表)
| タイミング | オンラインWSUS(外部接続側) | 媒体 | オフラインWSUS(配布側) |
|---|---|---|---|
| 同期直後 | 同期実行、不要更新の承認をしない | — | — |
| 搬入前 | メタデータexport、コンテンツをrobocopyで同期 | cab/logとコンテンツを保持 | — |
| 搬入当日 | — | 持ち込み・マルウェアスキャン・持ち込み記録 | import実行、コンテンツ配置 |
| 配布 | — | — | クライアントへ配布、状況確認、必要に応じて追加承認 |
失敗しやすい注意点(ここで詰まりやすい)
メタデータは移せても、設定は自動的に揃わない
export/importは便利ですが、WSUSのあらゆる設定を丸ごと複製するものではありません。特に次の差分があると「同じ更新が見えない」「承認したはずが違う」などの混乱が起きます。
- 製品/分類/言語の選択が片側だけ違う
- 同期オプションや自動承認ルールが違う
- WSUSのバージョンや更新レベルが違う
また、クライアントの登録情報やレポート情報まで完全に移行する用途には向きません。あくまで更新カタログ(メタデータ)と承認状態の受け渡しが中心だと捉えると、期待値のズレが減ります。
コンテンツパスの不一致で「配布できない」状態になりやすい
オフラインWSUSのコンテンツ格納先が、コピー先と一致していないと、更新は一覧に出てもダウンロード(配布)に失敗します。移行や更改の際は、WSUSのコンテンツパスと実フォルダーをセットで見直してください。
USBメディア運用はセキュリティ手順とセットで設計する
エアギャップ環境では、媒体自体が最大の攻撃面になります。最低限、次の運用をルール化しておくと安心です。
- 媒体は専用品(更新搬入専用)にする
- 持ち込み前後でマルウェアスキャンを実施する
- 持ち込み記録(誰が・いつ・どこから・何を)を残す
- 可能なら書き込み禁止やセキュア転送装置を使う
トラブルシューティング:よくある症状と切り分け
| 症状 | 原因の例 | 確認ポイント |
|---|---|---|
| importが失敗する/極端に時間がかかる | WSUS/OSの差、メタデータの不整合、ディスク不足 | importログ、空き容量、WSUSのイベントログ |
| 更新は見えるが、クライアントが0%で止まる | コンテンツ不足、パス不一致、権限不足 | WsusContentの存在、IIS/WSUSの権限、クライアントのWindowsUpdate.log相当 |
| データ量が減らない | 同期対象が広すぎる、言語が多い、無差別承認 | Products/Classifications/Languages、承認ポリシー、Expressの有無 |
| 古い更新が大量に残り続ける | 期限切れ・置き換え済みの整理不足 | WSUSクリーンアップ、置き換え済み更新の承認/拒否方針 |
現場で効く小技:データ量と作業時間をさらに下げる工夫
初回は「基礎体力」を作り、2回目以降で勝つ
どうしても初回は負荷が高くなりがちです。そこで、初回は「今後も必要になりやすい範囲(現行OSの累積更新・Defender定義など)」を中心にベースラインとして搬入し、2回目以降は増分に徹します。媒体を使い回してミラー運用にするだけでも、月次の転送量が読みやすくなります。
配布リング(テスト→本番)を作ると、承認の暴発を防げる
エアギャップ環境ではロールバックが難しいため、承認は慎重になりがちです。WSUSのターゲットグループを使って、
- テスト用(少数)
- 本番用(多数)
の2段階で承認し、問題がないことを確認してから本番へ広げると、結果として余計な更新を抱え込まずに済みます。
「必要な更新」リストを運用に組み込む
オフラインWSUS側のレポート(必要な更新、未適用更新など)を見て、翌月の承認対象を明確にする習慣を付けると、運用がブレません。更新を無差別に承認してしまうと、搬入量はすぐにフル同期級へ膨らみます。
よくある質問
メタデータ(インデックス)だけ持ち込んで、クライアントが必要分を自動で外部から取ることはできますか?
エアギャップ環境ではクライアントが外部へ出られないため、実体ファイルの搬入が必須です。WSUSのメタデータは「何が必要か」を判断する材料にはなりますが、配布に必要なファイルそのものは別途コピーする必要があります。
毎月の搬入を最小化するには何を最優先で見直すべきですか?
最優先は同期対象(製品・分類・言語)と承認ポリシーです。ここを絞り、オンラインWSUSを「承認分だけダウンロード」にして、媒体をミラー運用にすると、月次の転送量が現実的なサイズに落ち着きやすくなります。
オフラインWSUSのクリーンアップはやった方がいいですか?
ディスク圧迫の観点では有効ですが、エアギャップでは「削除した後に取り戻しにくい」ため、いきなり強く削るのは避け、まずは置き換え済み・期限切れの整理から段階的に進めるのが安全です。
まとめ:export/importをインデックスとして使い、承認設計と増分コピーで現実解にする
エアギャップWSUSで「必要な更新だけ」を目指す場合、単独の“魔法のインデックスファイル”があるというより、WSUS標準のexport/importがインデックス役になり、コンテンツは別搬入で成立します。オンラインWSUSとオフラインWSUSを分け、同期対象・承認・言語を絞り、媒体をミラー運用にすることで、データ量と作業時間をコントロールしやすくなります。

コメント