Azure で Windows VM を更新するためのデプロイを計画する
Azure 仮想ネットワークをインターネットからロック ダウンした場合でも、セキュリティを損なうことなく Windows の更新プログラムを入手し、インターネット全体にアクセスできます。 この記事には、境界ネットワーク (DMZ とも呼ばれます) を設定して、インターネット接続を使用せずに仮想ネットワークを安全に更新するために、Windows Server Update Service (WSUS) インスタンスをホストする方法に関する推奨事項が含まれます。
Azure Firewall を使用している場合は、アプリケーション ルールで WindowsUpdate FQDN タグを使用して、ファイアウォール経由で必要な送信ネットワーク トラフィックを許可します。 詳細については、「 FQDN タグの概要 」および 「ソフトウェア更新プログラムの計画 - ファイアウォールの構成」を参照してください。
この記事に記載されている推奨事項を実装するには、Azure サービスについて理解している必要があります。 次のセクションでは、1 つのリージョンまたはマルチリージョン構成でハブスポーク構成を使用する、推奨されるデプロイ設計について説明します。
Azure Virtual Network ハブスポーク ネットワーク トポロジ
境界ネットワークを作成して、ハブスポーク モデル ネットワーク トポロジを設定することをお勧めします。 インターネットと仮想ネットワークの間のハブにある Azure 仮想マシンで WSUS サーバーをホストします。 ハブには、開いているポートが必要です。 WSUS サーバーでは Microsoft から更新プログラムを取得するために、HTTP プロトコルにはポート 80、HTTPS プロトコルにはポート 443 が使用されます。 スポークは、インターネットではなく、ハブと通信するその他すべての仮想ネットワークです。 これを実現するには、他のインターネット トラフィックをブロックしながら WSUS のトラフィックを許可する、サブネット、ネットワーク セキュリティ グループ (NSG)、Azure 仮想ネットワーク ピアリングを作成します。 次の図は、ハブスポーク トポロジの例を示しています。
このアーキテクチャの Visio ファイルをダウンロードします。
この画像の内容:
- snet-wsus は、WSUS サーバーを含むハブ アンド スポーク トポロジのハブ内のサブネットです。
- nsg-ds は、他のインターネット トラフィックをブロックしながら WSUS のトラフィックを許可するネットワーク セキュリティ グループルールです。
- Windows Server Update Service 仮想マシン は、WSUS を実行するように構成された Azure 仮想マシンです。
- snet-workload は、Windows 仮想マシンを含むピアリングされたスポーク仮想ネットワーク内のサブネットの例です。
- nsg-ms は、WSUS VM へのトラフィックを許可するが、他のインターネット トラフィックを拒否するネットワーク セキュリティ グループ ポリシーです。
既存のサーバーを再利用するか、WSUS サーバーとなる新しいものをデプロイできます。 WSUS VM は、文書化された システム要件を満たしている必要があります。 これはセキュリティ上重要な機能であるため、Just-In-Time (JIT) を使用してこの仮想マシンへのアクセスを計画する必要があります。 Just-In-Time を使用した仮想マシン アクセスの管理に関する記事を参照してください。
ネットワークには複数の Azure 仮想ネットワークがあり、同じリージョンに存在する場合もあれば、異なるリージョンに存在する場合もあります。 すべての Windows Server VM を評価して、WSUS サーバーとして使用できるものがあるかどうかを確認する必要があります。 更新する対象の VM が数千にものぼる場合は、WSUS の役割専用の Windows Server VM を用意することをお勧めします。 また、VM では、別のリージョンの WSUS サーバーをプライマリ ソースとして使用しないことをお勧めします。
すべての仮想ネットワークが同じリージョンにある場合は、VM 18,000 台ごとに 1 つの WSUS を使用することをお勧めします。 この推奨は、VM の要件、更新されるクライアント VM の数、仮想ネットワーク間の通信にかかるコストの組み合わせに基づきます。 WSUS の容量の要件の詳細については、「WSUS 展開を計画する」を参照してください。
これらの構成のコストは、Azure 料金計算ツールを使用して判別できます。 WSUS 仮想マシンの仕様とネットワークの期待値を指定する必要があります。リージョン間で同じリージョン。 データ転送の場合は、3 GB から始めます。 料金はリージョンによって異なることに注意してください。
手動デプロイ
使用する 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.jsonWindows でのカスタムのスクリプト拡張機能を使用できます。
スクリプトと JSON 構成ファイルを、WSUS VM へのプライベート ネットワークの見通し線を持つ独自のストレージ コンテナーにコピーします。
一般的な VM や Azure Virtual Network の構成では、カスタム スクリプト拡張機能でスクリプトを正しく実行するために、次の 2 つのパラメーターのみを必要とします。 (ここに表示されている値を、ストレージの場所の URL に置き換える必要があります)。
settings: { fileUris: [ 'https://yourstorageaccount.blob.core.windows.net/wsus/Configure-WSUSServer.ps1' 'https://yourstorageaccount.blob.core.windows.net/container/WSUS-Config.json' ] commandToExecute: 'powershell.exe -ExecutionPolicy Unrestricted -File .\Configure-WSUSServer.ps1 -WSUSConfigJson .\WSUS-Config.json' }
このスクリプトは、クライアント コンピューターで更新プログラムを利用できるようにするために必要な初期同期を開始します。 ただし、同期が完了するまで待機しません。 選択した製品、分類、言語によっては、初期同期に数時間かかる場合があります。 その後のすべての同期はより速くなるはずです。
WSUS の手動でのセットアップ
WSUS VM から、「WSUS サーバーの役割をインストールする」の手順に従います
同期中に、WSUS で、最後に同期してから、新しい更新プログラムが入手できるようになったかどうかが判断されます。 初めて WSUS を同期する場合は、すぐにメタデータがダウンロードされます。 ペイロードがダウンロードされるのは、ローカル ストレージが有効になっており、かつ 1 台以上のコンピューター グループでその更新プログラムが承認されている場合だけです。
注意
初期同期は 1 時間を超えることがあります。 その後のすべての同期は大幅に速くなるはずです。
WSUS と通信するように仮想ネットワークを構成する
次に、ハブと通信するように Azure 仮想ネットワーク ピアリングまたはグローバル ネットワーク ピアリングを設定します。 待ち時間を最小限に抑えるために、デプロイした各リージョンで WSUS サーバーを設定することをお勧めします。
スポークである各 Azure 仮想ネットワークで、次の規則を持つ NSG ポリシーを作成する必要があります。
- ポート 8530 で WSUS VM へのトラフィックを許可する受信/送信 NSG 規則 (構成されていない場合は既定)。
- インターネットへのトラフィックを拒否する受信/送信 NSG ルール。
次に、スポークからハブへの Azure 仮想ネットワーク ピアリングを作成します。
クライアント仮想マシンを構成する
WSUS を使用して、Windows を実行するすべての仮想マシンを更新できます。 グループ ポリシーを使用してクライアントを設定するには、「 WSUS サーバーから更新プログラムを受信するようにクライアント コンピューターを構成する」を参照してください。
大規模なネットワークを管理する管理者は、グループ ポリシー設定を使用してクライアントを自動的に構成する方法について、「自動更新を構成し、サービスの場所を更新する」の記事を参照してください。
Azure Update Manager
Azure Update Manager を使用して、WSUS と同期している VM のオペレーティング システムの更新プログラムを管理およびスケジュールできます。 VM の修正プログラムの状態 (どの修正プログラムが不足しているか) は、その VM が同期するように構成されているソースに基づいて評価されます。 WSUS にレポートするように Windows VM が構成されている場合、WSUS の Microsoft Update との最後の同期のタイミングによっては、Microsoft Update で示されるものと結果が一致しないことがあります。 WSUS 環境を構成した後、Update Management を有効にできます。 詳細については、「 Azure Update Manager の概要を参照してください。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Paul Reed |Azure コンプライアンス シニア プログラム マネージャー
次のステップ
- 展開の計画の詳細については、「WSUS 展開を計画する」を参照してください。
- WSUS の管理、WSUS の同期スケジュールの設定、その他の詳細については、WSUS の管理に関するページを参照してください。