Azure で Windows VM を更新するためのデプロイを計画する

Azure
Azure Firewall
Azure Virtual Machines
Azure Virtual Network

Azure 仮想ネットワークをインターネットからロック ダウンした場合でも、セキュリティを損なうことなく Windows の更新プログラムを入手し、インターネット全体にアクセスできます。 この記事には、境界ネットワーク (DMZ とも呼ばれます) を設定して、インターネット接続を使用せずに仮想ネットワークを安全に更新するために、Windows Server Update Service (WSUS) インスタンスをホストする方法に関する推奨事項が含まれます。

Azure Firewall を使用している場合は、アプリケーション ルールで Windows Update の FQDN タグを使用して、必要な送信ネットワーク トラフィックがファイアウォールを通過するのを許可できます。 詳細については、「FQDN タグの概要」を参照してください。

この記事に記載されている推奨事項を実装するには、Azure サービスについて理解している必要があります。 次のセクションでは、単一リージョンまたは複数リージョン構成でハブアンドスポークの構成を使用した推奨されるデプロイ設計について説明します。

Azure Virtual Network のハブアンドスポーク ネットワーク トポロジ

境界ネットワークを作成することによって、ハブアンドスポーク モデルのネットワーク トポロジを設定することをお勧めします。 インターネットと仮想ネットワークの間のハブにある Azure 仮想マシンで WSUS サーバーをホストします。 ハブには、開いているポートが必要です。 WSUS サーバーでは Microsoft から更新プログラムを取得するために、HTTP プロトコルにはポート 80、HTTPS プロトコルにはポート 443 が使用されます。 スポークは、インターネットではなく、ハブと通信するその他すべての仮想ネットワークです。 これを実現するには、他のインターネット トラフィックをブロックしながら WSUS のトラフィックを許可する、サブネット、ネットワーク セキュリティ グループ (NSG)、Azure 仮想ネットワーク ピアリングを作成します。 次の図は、ハブアンドスポーク トポロジの例を示しています。

Hub-and-spoke topology architecture diagram.

このアーキテクチャの Visio ファイルをダウンロードします。

この画像の内容:

  • WSUSSubnet はハブアンドスポークのハブです。
  • NSG_DS は、他のインターネット トラフィックをブロックしながら WSUS のトラフィックを許可するネットワーク セキュリティ グループのルールです。
  • WSUS VM は、WSUS を実行するように構成された Azure 仮想マシンです。
  • MainSubnet は、複数の仮想マシンを備えた仮想ネットワーク (スポーク) です。
  • NSG_MS は、WSUS VM からのトラフィックを許可するが、インターネット トラフィックを拒否するネットワーク セキュリティ グループのポリシーです。

既存のサーバーを再利用するか、WSUS サーバーとなる新しいものをデプロイできます。 WSUS VM の場合は、少なくとも次のことをお勧めします。

  • オペレーティング システム: Windows Server 2016 以降。
  • プロセッサ: デュアル コア、2 GHz 以上。
  • メモリ: サーバーとその他すべての実行中のサービスおよびソフトウェアによって要求される量に加えて、2 GB の RAM。
  • ストレージ: 40 GB 以上。
  • アクセス:Just-In-Time (JIT) を使用して、この仮想マシンにより安全にアクセスします。 Just-In-Time を使用した仮想マシン アクセスの管理に関する記事を参照してください。

ネットワークには複数の Azure 仮想ネットワークがあり、同じリージョンに存在する場合もあれば、異なるリージョンに存在する場合もあります。 すべての Windows Server VM を評価して、WSUS サーバーとして使用できるものがあるかどうかを確認する必要があります。 更新する対象の VM が数千にものぼる場合は、WSUS の役割専用の Windows Server VM を用意することをお勧めします。

すべての仮想ネットワークが同じリージョンにある場合は、VM 18,000 台ごとに 1 つの WSUS を使用することをお勧めします。 この推奨は、VM の要件、更新されるクライアント VM の数、仮想ネットワーク間の通信にかかるコストの組み合わせに基づきます。 WSUS の容量の要件の詳細については、「WSUS 展開を計画する」を参照してください。

これらの構成のコストは、Azure 料金計算ツールを使用して判別できます。 次の情報を指定する必要があります。

  • 仮想マシン:
    • リージョン:Azure 仮想ネットワークがデプロイされているリージョン。
    • オペレーティング システム:Windows
    • サービス レベル:Standard
    • インスタンス:D4 構成
    • マネージド ディスク:Standard HDD64 GB
  • 仮想ネットワーク:
    • 「」と入力します
      • 同じリージョン内での転送の場合は [Same Region](同じリージョン)
      • あるリージョンから別のリージョンにデータを移動する場合は [Across Region](別のリージョン)
    • データ転送:2 GB
    • リージョン
      • 転送が 1 つのリージョン内の場合は、WSUS サーバーと仮想ネットワークが存在するリージョンを選択します。
      • 転送がリージョンをまたいでいる場合は、ソース仮想ネットワークのリージョンが、WSUS サーバーの場所です。 宛先仮想ネットワークのリージョンは、データの送信先です。
    • 複数のリージョンがある場合は、仮想ネットワークを複数回選択する必要があります。

料金はリージョンによって異なることに注意してください。

手動デプロイ

ハブとして使用する Azure 仮想ネットワークを特定するか、または新しい Windows Server インスタンスを作成する必要があると判断した後に、NSG ルールを作成する必要があります。 このルールにより、インターネット トラフィックが許可されます。これにより、Windows Update のメタデータとコンテンツを、作成する WSUS サーバーと同期できます。 追加する必要があるルールは、次のとおりです。

  • ポート 80 上のインターネットとの間のトラフィックを許可する受信/送信 NSG ルール (コンテンツ用)。
  • ポート 443 上のインターネットとの間のトラフィックを許可する受信/送信 NSG ルール (メタデータ用)。
  • ポート 8530 (構成されていない場合の既定) 上のクライアント VM からのトラフィックを許可する受信/送信 NSG ルール。

WSUS のセットアップ

WSUS サーバーをセットアップするには、2 つの方法を使用できます。

  • 最小限の管理を必要とする一般的なワークロードを処理するように構成されたサーバーを自動的にセットアップする場合は、PowerShell の自動化スクリプトを使用できます。
  • オペレーティング システムや言語が異なる数千のクライアントを処理する必要がある場合や、PowerShell スクリプトで処理できない方法で WSUS を構成する必要がある場合は、WSUS を手動でセットアップできます。 いずれの方法も、この記事の後の方で説明します。

また、2 つの方法を組み合わせて、自動化スクリプトを使用してほとんどの作業を行い、その後 WSUS 管理コンソールを使用してサーバーの設定を微調整することもできます。

自動化スクリプトを使用した WSUS のセットアップ

Configure-WSUSServer スクリプトを使用すると、選択した一連の製品と言語の更新プログラムを自動的に同期して承認する WSUS サーバーを、簡単にセットアップできます。

注意

スクリプトは常に、更新データを格納するために Windows Internal Database を使用するよう WSUS をセットアップします。 これによりセットアップが高速化され、管理の複雑さが軽減されます。 ただし、サーバーで何千台ものクライアント コンピューターをサポートする予定の場合、特に幅広い製品や言語もサポートする必要がある場合は、データベースとして SQL Server を使用できるように、代わりに WSUS を手動でセットアップする必要があります。

最新バージョンのこのスクリプトは、GitHub で入手できます。

スクリプトは JSON ファイルを使用して構成します。 現在、次のオプションを構成できます。

  • 更新プログラムのペイロードをローカルに格納するか (その場合、どこに格納するか)、Microsoft のサーバー上に残しておくか。
  • サーバー上でどの製品、更新プログラムの分類、言語を有効にするか。
  • サーバーで更新プログラムのインストールを自動的に承認するか、管理者が承認しない限り更新プログラムを未承認のままにしておくか。
  • サーバーで Microsoft から新しい更新プログラムを自動的に取得するかどうか、およびする場合、その頻度は。
  • 高速更新パッケージを使用するかどうか。 (高速更新パッケージでは、クライアントの CPU/ディスク使用率とサーバーとサーバーの間の帯域幅を犠牲にして、サーバーからクライアントへの帯域幅が削減されます)。
  • スクリプトで以前の設定を上書きするかどうか (通常、サーバーの操作を中断する可能性がある再構成が不注意に行われることを防ぐために、スクリプトは指定のサーバーで 1 回のみ実行されます)。

スクリプトとその構成ファイルをローカル ストレージにコピーし、必要に応じて構成ファイルを編集します。

警告

構成ファイルを編集する際には注意が必要です。 JSON 構成ファイルに使用される構文は厳格です。 パラメーター値だけではなく、誤ってファイルの構造を変更した場合、構成ファイルは読み込まれません。

このスクリプトは、次の 2 つの方法のいずれかで実行できます。

  • WSUS VM から手動でスクリプトを実行できます。

    次のコマンドは、管理者特権でのコマンド プロンプト ウィンドウから実行し、WSUS をインストールして構成します。 現行ディレクトリのスクリプトと構成ファイルが使用されます。

    powershell.exe -ExecutionPolicy Unrestricted -File .\Configure-WSUSServer.ps1 -WSUSConfigJson .\WSUS-Config.json

  • Windows でのカスタムのスクリプト拡張機能を使用できます。

    スクリプトと JSON 構成ファイルを自分のストレージ コンテナーにコピーします。

    一般的な VM や Azure Virtual Network の構成では、カスタム スクリプト拡張機能でスクリプトを正しく実行するために、次の 2 つのパラメーターのみを必要とします。 (ここに表示されている値を、ストレージの場所の URL に置き換える必要があります)。

    "fileUris": ["https://mystorage.blob.core.windows.net/mycontainer/Configure-WSUSServer.ps1","https://mystorage.blob.core.windows.net/container/WSUS-Config.json"],
    "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File .\Configure-WSUSServer.ps1 -WSUSConfigJson .\WSUS-Config.json"
    
    

このスクリプトは、クライアント コンピューターで更新プログラムを利用できるようにするために必要な初期同期を開始します。 ただし、同期が完了するまで待機しません。 選択した製品、分類、言語によっては、初期同期に数時間かかる場合があります。 その後のすべての同期はより速くなるはずです。

WSUS の手動でのセットアップ

  1. WSUS VM でサーバー マネージャーを開いて、 [役割と機能の追加] を選択します。

  2. [サーバーの役割の選択] ページが表示されるまで [次へ] を選択します。 [Windows Server Update Services] を選択します。 [Windows Server Update Services に必要な機能を追加しますか?] と確認のメッセージが表示されたら、 [機能の追加] を選択します。

  3. [役割サービスの選択] ページが表示されるまで、 [次へ] を選択します。

    • 既定では、 [WID 接続] を使用できます。
    • さまざまなバージョンの Windows (Windows 11 や Windows 10 など) を使用するクライアントをサポートする必要がある場合は、[SQL Server 接続] を使用します。
  4. [コンテンツの場所の選択] ページが表示されるまで、 [次へ] を選択します。 更新プログラムを保存する場所を入力します。

  5. [インストール オプションの確認] ページが表示されるまで、 [次へ] を選択します。 [インストール] を選択します。

  6. インストールされた Windows Server Update Services を開き、 [実行] を選択します。

  7. [アップストリーム サーバーに接続] ページが表示されるまで [次へ] を選択します。 [接続の開始] を選択します。

  8. [言語の選択] ページが表示されるまで、 [次へ] を選択します。 必要な言語を選択します。

  9. [製品の選択] ページが表示されるまで、 [次へ] を選択します。 必要な製品を選択します。

  10. [分類の選択] ページが表示されるまで、 [次へ] を選択します。 必要な更新プログラムを選択します。

  11. [同期スケジュールの設定] セクションが表示されるまで、 [次へ] を選択します。 同期設定を選択します。

  12. [完了] ページが表示されるまで、 [次へ] を選択します。 [初期同期を開始します] を選択し、 [次へ] を選択します。

  13. [次の手順] ページが表示されるまで [次へ] を選択し、 [完了] を選択します。

  14. ナビゲーション ウィンドウで WSUS 名 (たとえば WsusVM) を選択すると、 [同期の状態][アイドル] になっており、 [前回の同期の結果][成功] になっていることがわかります。

  15. ナビゲーション ウィンドウで、 [オプション]>[コンピューター]>[コンピューターのグループ ポリシーまたはレジストリ設定を使用します] の順に選択します。 [OK] を選択します。

同期中に、WSUS で、最後に同期してから、新しい更新プログラムが入手できるようになったかどうかが判断されます。 初めて WSUS を同期する場合は、すぐにメタデータがダウンロードされます。 ペイロードがダウンロードされるのは、ローカル ストレージが有効になっており、かつ 1 台以上のコンピューター グループでその更新プログラムが承認されている場合だけです。

注意

初期同期は 1 時間を超えることがあります。 その後のすべての同期は大幅に速くなるはずです。

WSUS と通信するように仮想ネットワークを構成する

次に、ハブと通信するように Azure 仮想ネットワーク ピアリングまたはグローバル ネットワーク ピアリングを設定します。 待ち時間を最小限に抑えるために、デプロイした各リージョンで WSUS サーバーを設定することをお勧めします。

スポークである各 Azure 仮想ネットワークで、次の規則を持つ NSG ポリシーを作成する必要があります。

  • ポート 8530 (構成されていない場合の既定) 上の WSUS VM からのトラフィックを許可する受信/送信 NSG ルール。
  • インターネットからのトラフィックを拒否する受信/送信 NSG ルール。

次に、スポークからハブへの Azure 仮想ネットワーク ピアリングを作成します。

クライアント VM

クライアント仮想マシンを構成する

WSUS を使用して、Windows を実行している任意の仮想マシン (Home SKU を除く) を更新できます。 各クライアント仮想マシンで次の手順を実行して、WSUS とクライアントの間の通信を有効にします。

クライアント VM から

  1. ローカル グループ ポリシー エディター (またはグループ ポリシー管理エディター) を開きます。
  2. [コンピューターの構成]>[管理用テンプレート]>[Windows コンポーネント]>[Windows Update] に移動します。
  3. [イントラネットの Microsoft 更新サービスの場所を指定する] を有効にします。
  4. URL http://\<WSUS name>:8530 を入力します。 ([更新サービス] ページで、WSUS の名前 (WsusVM など) を見つけることができます)。 この設定が反映されるまでに時間がかかる場合があります (最大で数時間)。
  5. [設定]>[更新とセキュリティ]>[Windows Update] に移動します。
  6. [更新プログラムの確認] を選択します。

WSUS VM から

  1. Windows Server Update Services を開きます。 [コンピューター]>[すべてのコンピューター] の下に自身のクライアント VM が表示されます。
  2. [更新プログラム]>[すべての更新プログラム] を選択します。
  3. [承認][拒否された更新以外のすべて] に設定します。
  4. [状態][必要] に設定します。 これで、クライアント VM に必要なすべての更新プログラムが表示されます。
  5. 任意の更新プログラムを右クリックし、 [承認] を選択します。

検証

  1. クライアント VM で、[設定]>[更新とセキュリティ]>[Windows Update] に移動します。
  2. [更新プログラムの確認] を選択します。 WSUS VM から承認した同じサポート技術情報の記事番号 (たとえば 4480056) の更新プログラムが表示されます。

大規模なネットワークを管理する管理者は、グループ ポリシー設定を使用してクライアントを自動的に構成する方法について、「自動更新を構成し、サービスの場所を更新する」の記事を参照してください。

複数のクラウドを対象とする WSUS のデプロイ

パブリック クラウドとプライベート クラウドをまたいで仮想ネットワーク ピアリングを設定することはできません。 パブリック クラウドとプライベート クラウドをまたいでデプロイされるネットワークでは、各クラウドに少なくとも 1 つの WSUS サーバーが必要です。

サポート ノート

現在、WSUS では Windows Home SKU との同期はサポートされていません。

Azure Update Management

Azure の Update Management ソリューションを使用して、WSUS に対して同期されている VM のオペレーティング システムの更新を管理してスケジュールを設定できます。 VM の修正プログラムの状態 (どの修正プログラムが不足しているか) は、その VM が同期するように構成されているソースに基づいて評価されます。 WSUS にレポートするように Windows VM が構成されている場合、WSUS の Microsoft Update との最後の同期のタイミングによっては、Microsoft Update で示されるものと結果が一致しないことがあります。 WSUS 環境を構成した後、Update Management を有効にできます。 詳細については、Update Management の概要とオンボードの手順に関するページを参照してください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Paul Reed |Azure コンプライアンス シニア プログラム マネージャー

次のステップ

  • 展開の計画の詳細については、「WSUS 展開を計画する」を参照してください。
  • WSUS の管理、WSUS の同期スケジュールの設定、その他の詳細については、WSUS の管理に関するページを参照してください。