인터넷에서 Azure 가상 네트워크를 잠근 경우에도 보안을 위협하지 않고, 인터넷에 전체적으로 액세스하지 않고도 Windows 업데이트를 가져올 수 있습니다. 이 문서에는 인터넷에 연결하지 않고 가상 네트워크를 안전하게 업데이트하기 위해 WSUS(Windows Server Update Service) 인스턴스를 호스팅하는 경계 네트워크(DMZ라고도 함)를 설정하는 방법에 대한 추천 사항이 포함되어 있습니다.
Azure Firewall을 사용하는 경우 애플리케이션 규칙에서 Windows 업데이트 FQDN 태그를 사용하여 방화벽을 통해 필요한 아웃바운드 네트워크 트래픽을 허용할 수 있습니다. 자세한 내용은 FQDN 태그 개요를 참조하세요.
이 문서의 추천 사항을 구현하려면 Azure 서비스에 익숙해야 합니다. 다음 섹션에서는 단일 지역 또는 다중 지역 구성에서 허브 및 스포크 구성을 사용하는 추천 배포 설계에 대해 설명합니다.
Azure Virtual Network 허브 및 스포크 네트워크 토폴로지
경계 네트워크를 만들어 허브 및 스포크 모델 네트워크 토폴로지를 설정하는 것이 좋습니다. 인터넷과 가상 네트워크 사이의 허브에 있는 Azure 가상 머신에서 WSUS 서버를 호스팅합니다. 허브에는 열려 있는 포트가 있어야 합니다. WSUS는 80 포트를 HTTP 프로토콜에 사용하고 443 포트를 HTTPS 프로토콜에 사용하여 Microsoft에서 업데이트를 가져옵니다. 스포크는 인터넷이 아니라 허브와 통신하는 다른 모든 가상 네트워크입니다. 이 작업은 다른 인터넷 트래픽을 차단하면서 WSUS 트래픽을 허용하는 서브넷, NSG(네트워크 보안 그룹) 및 Azure 가상 네트워크 피어링을 만들어 수행할 수 있습니다. 다음 이미지에서는 허브 및 스포크 토폴로지의 예를 보여 줍니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
이 이미지의 경우
- WSUSSubnet은 허브 및 스포크의 허브입니다.
- NSG_DS는 다른 인터넷 트래픽을 차단하면서 WSUS 트래픽을 허용하는 네트워크 보안 그룹 규칙입니다.
- WSUS VM은 WSUS를 실행하도록 구성된 Azure 가상 머신입니다.
- MainSubnet은 가상 머신이 포함된 가상 네트워크(스포크)입니다.
- NSG_MS는 WSUS VM의 트래픽을 허용하지만 인터넷 트래픽을 거부하는 네트워크 보안 그룹 정책입니다.
기존 서버를 다시 사용하거나 WSUS 서버가 될 새 서버를 배포할 수 있습니다. WSUS VM에 추천되는 최소 구성 요소는 다음과 같습니다.
- 운영 체제: Windows Server 2016 이상.
- 프로세서: 듀얼 코어, 2GHz 이상.
- 메모리: 2GB RAM 및 서버 및 기타 모든 실행 중인 서비스 및 소프트웨어에 필요한 RAM.
- 스토리지: 40GB 이상.
- 액세스: JIT(Just-in-Time)를 사용하여 이 가상 머신에 더 안전하게 액세스합니다. Just-In-Time을 사용하여 가상 머신 액세스 관리를 참조하세요.
네트워크에는 동일하거나 다른 지역에 있을 수 있는 둘 이상의 Azure 가상 네트워크가 있습니다. 모든 Windows Server VM을 평가하여 WSUS 서버로 사용할 수 있는지 확인해야 합니다. 업데이트할 수천 개의 VM이 있는 경우 Windows Server VM을 WSUS 역할 전용으로 제공하는 것이 좋습니다.
모든 가상 네트워크가 동일한 지역에 있는 경우 18,000개의 VM마다 하나의 WSUS를 제공하는 것이 좋습니다. 이 제안은 VM 요구 사항, 업데이트되는 클라이언트 VM 수 및 가상 네트워크 간 통신 비용의 조합을 기반으로 합니다. WSUS 용량 요구 사항에 대한 자세한 내용은 WSUS 배포 계획을 참조하세요.
이러한 구성에 대한 비용은 Azure 가격 계산기를 사용하여 확인할 수 있습니다. 제공해야 하는 정보는 다음과 같습니다.
- 가상 머신:
- 지역: Azure 가상 네트워크가 배포되는 지역입니다.
- 운영 체제: Windows
- 계층: Standard
- 인스턴스: D4 구성
- 관리 디스크: 표준 HDD, 64GB
- 가상 네트워크:
- 입력
- 동일한 지역 내에서 전송하는 경우 동일한 지역
- 데이터를 한 지역에서 다른 지역으로 이동하는 경우 지역 간
- 데이터 전송: 2GB
- 부위
- 한 지역 내에서 전송하는 경우 WSUS 서버와 가상 네트워크가 있는 지역을 선택합니다.
- 지역 간에 전송하는 경우 원본 가상 네트워크 지역은 WSUS 서버가 있는 위치입니다. 대상 가상 네트워크 지역은 데이터가 이동하는 지역입니다.
- 여러 지역이 있는 경우 가상 네트워크를 여러 번 선택해야 합니다.
- 입력
가격은 지역에 따라 달라집니다.
수동 배포
허브로 사용할 Azure 가상 네트워크를 식별하거나 새 Windows Server 인스턴스를 만들어야 한다고 결정한 후에는 NSG 규칙을 만들어야 합니다. 이 규칙은 인터넷 트래픽을 허용하므로 Windows 업데이트 메타데이터와 콘텐츠를 만드는 WSUS 서버와 동기화할 수 있습니다. 추가해야 하는 규칙은 다음과 같습니다.
- 80 포트에서 인터넷을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(콘텐츠용).
- 443 포트에서 인터넷을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(메타데이터용).
- 8530 포트에서 클라이언트 VM을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(구성되지 않으면 기본값 적용).
WSUS 설정
WSUS 서버를 설정하는 데 사용할 수 있는 다음 두 가지 방법이 있습니다.
- 최소한으로 관리하면서 일반적인 워크로드를 처리하도록 구성되는 서버를 자동으로 설정하려면 PowerShell 자동화 스크립트를 사용할 수 있습니다.
- 다양한 운영 체제와 언어를 실행하는 수천 개의 클라이언트를 처리해야 하거나 PowerShell 스크립트에서 처리할 수 없는 방식으로 WSUS를 구성하려면 WSUS를 수동으로 설정할 수 있습니다. 두 가지 방법은 모두 이 문서의 뒷부분에서 설명하고 있습니다.
또한 자동화 스크립트를 사용하여 대부분의 작업을 수행한 다음, WSUS 관리 콘솔을 사용하여 서버 설정을 자세히 튜닝함으로써 두 가지 방법을 결합할 수도 있습니다.
자동화 스크립트를 사용하여 WSUS 설정
Configure-WSUSServer 스크립트를 사용하면 선택한 제품 및 언어 세트에 대한 업데이트를 자동으로 동기화하고 승인하는 WSUS 서버를 빠르게 설정할 수 있습니다.
참고
이 스크립트는 항상 Windows 내부 데이터베이스를 사용하여 업데이트 데이터를 저장하도록 WSUS를 설정합니다. 이렇게 하면 설정 시간이 단축되고 관리 복잡성이 감소합니다. 그러나 서버에서 수천 대의 클라이언트 컴퓨터를 지원하는 경우, 특히 다양한 제품과 언어를 지원해야 하는 경우에는 SQL Server를 데이터베이스로 사용할 수 있도록 WSUS를 수동으로 설정해야 합니다.
이 스크립트의 최신 버전은 GitHub에서 얻을 수 있습니다.
JSON 파일을 사용하여 스크립트를 구성합니다. 현재 구성할 수 있는 옵션은 다음과 같습니다.
- 업데이트 페이로드를 로컬로 저장할지(및 해당하는 경우 저장하는 위치) 또는 Microsoft 서버에 남겨둘지의 여부
- 서버에서 사용할 수 있는 제품, 업데이트 등급 및 언어
- 관리자가 승인하지 않으면 서버에서 설치 업데이트를 자동으로 승인할지 또는 업데이트를 승인되지 않은 상태로 유지하는지의 여부
- 서버에서 Microsoft의 새 업데이트를 자동으로 검색할지 여부 및 빈도(해당하는 경우)
- 기본 업데이트 패키지를 사용할지 여부. (기본 업데이트 패키지는 클라이언트 CPU/디스크 사용량 및 서버 간 대역폭 비용을 부담하는 대신 서버-클라이언트 대역폭을 줄입니다.)
- 스크립트가 이전 설정을 덮어쓸지 여부 (일반적으로 서버 작업을 방해할 수 있는 부주의한 재구성을 방지하기 위해 스크립트는 지정된 서버에서 한 번만 실행됩니다.)
스크립트 및 해당 구성 파일을 로컬 스토리지에 복사하고, 각자 요구 사항에 맞게 구성 파일을 편집합니다.
경고
구성 파일을 편집할 때는 주의하세요. JSON 구성 파일에 사용되는 구문은 엄격합니다. 매개 변수 값이 아니라 파일의 구조를 실수로 변경하면 구성 파일이 로드되지 않습니다.
이 스크립트는 다음 두 가지 방법 중 하나로 실행할 수 있습니다.
WSUS VM에서 스크립트를 수동으로 실행할 수 있습니다.
다음 명령은 관리자 권한 명령 프롬프트 창에서 실행되며, WSUS를 설치하고 구성합니다. 현재 디렉터리에 있는 스크립트와 구성 파일을 사용합니다.
powershell.exe -ExecutionPolicy Unrestricted -File .\Configure-WSUSServer.ps1 -WSUSConfigJson .\WSUS-Config.json
Windows용 사용자 지정 스크립트 확장을 사용할 수 있습니다.
스크립트와 JSON 구성 파일을 사용자 고유의 스토리지 컨테이너에 복사합니다.
일반적인 VM 및 Azure 가상 네트워크 구성에서 사용자 지정 스크립트 확장에는 스크립트를 올바르게 실행하는 다음 두 매개 변수만 필요합니다. (여기에 표시된 값을 스토리지 위치에 대한 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 설정
WSUS VM에서 서버 관리자를 열고 역할 및 기능 추가를 선택합니다.
서버 역할 선택 페이지로 이동할 때까지 다음을 선택합니다. Windows Server Update Services를 선택합니다. Windows Server Update Services에 필요한 기능을 추가하시겠습니까? 라는 메시지가 표시되면 기능 추가를 선택합니다.
역할 서비스 선택 페이지로 이동할 때까지 다음을 선택합니다.
- 기본적으로 WID 연결을 사용할 수 있습니다.
- 다양한 버전의 Windows(예: Windows 11 및 Windows 10)를 사용하는 클라이언트를 지원해야 하는 경우 SQL Server Connectivity를 사용합니다.
콘텐츠 위치 선택 페이지로 이동할 때까지 다음을 선택합니다. 업데이트를 저장하려는 위치를 입력합니다.
설치 선택 확인 페이지로 이동할 때까지 다음을 선택합니다. 설치를 선택합니다.
설치된 Windows Server Update Services를 열고, 실행을 선택합니다.
업스트림 서버에 연결 페이지로 이동할 때까지 다음을 선택합니다. 연결 시작을 선택합니다.
언어 선택 페이지로 이동할 때까지 다음을 선택합니다. 필요한 언어를 선택합니다.
제품 선택 페이지로 이동할 때까지 다음을 선택합니다. 필요한 제품을 선택합니다.
등급 선택 페이지로 이동할 때까지 다음을 선택합니다. 필요한 업데이트를 선택합니다.
동기화 일정 설정 페이지로 이동할 때까지 다음을 선택합니다. 동기화 기본 설정을 선택합니다.
마침 페이지로 이동할 때까지 다음을 선택합니다. 초기 동기화 시작, 확인을 차례로 선택합니다.
다음 단계 페이지로 이동할 때까지 다음을 선택하고, 마침을 선택합니다.
탐색 창에서 WSUS 이름(예: WsusVM)을 선택하면 동기화 상태가 유휴이고 마지막 동기화 결과가 성공이라고 표시됩니다.
탐색 창에서 옵션>컴퓨터>컴퓨터의 그룹 정책 또는 레지스트리 설정 사용을 차례로 선택합니다. 확인을 선택합니다.
동기화하는 동안 WSUS는 마지막 동기화 이후 사용할 수 있게 된 새 업데이트가 있는지 확인합니다. WSUS를 처음 동기화하는 경우 메타데이터가 즉시 다운로드됩니다. 페이로드는 로컬 스토리지를 설정하고 업데이트가 하나 이상의 컴퓨터 그룹에 대해 승인된 경우에만 다운로드됩니다.
참고
초기 동기화에는 1시간 넘게 걸릴 수 있습니다. 그 이후의 모든 동기화는 훨씬 더 빠릅니다.
WSUS와 통신하도록 가상 네트워크 구성
다음으로, 허브와 통신하도록 Azure 가상 네트워크 피어링 또는 글로벌 가상 네트워크 피어링을 설정합니다. 대기 시간을 최소화하기 위해 배포한 지역마다 WSUS 서버를 설정하는 것이 좋습니다.
스포크인 각 Azure 가상 네트워크에서 다음 규칙이 포함된 NSG 정책을 만들어야 합니다.
- 8530 포트에서 WSUS VM의 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(구성되지 않으면 기본값 적용).
- 인터넷의 트래픽을 거부하는 인바운드/아웃바운드 NSG 규칙.
다음으로, 스포크에서 허브로 연결되는 Azure 가상 네트워크 피어링을 만듭니다.
클라이언트 VM
- 추가 보안을 위해 VM의 연결된 공용 IP 주소를 제거할 수 있습니다. 자세한 내용은 공용 IP 주소 보기, 설정 변경 또는 삭제를 참조하세요.
- JIT를 사용하여 가상 머신에 안전하게 액세스하는 방법에 대한 자세한 내용은 Just-In-Time을 사용하여 가상 머신 액세스 관리를 참조하세요.
클라이언트 가상 머신 구성
WSUS를 사용하여 Windows를 실행하는 모든 가상 머신(Home SKU 제외)을 업데이트할 수 있습니다. WSUS와 클라이언트 간의 통신을 사용하도록 설정하려면 각 클라이언트 가상 머신에서 다음 단계를 완료합니다.
클라이언트 VM에서 할 일
- 로컬 그룹 정책 편집기(또는 그룹 정책 관리 편집기)를 엽니다.
- 컴퓨터 구성>관리 템플릿>Windows 구성 요소>Windows 업데이트로 차례로 이동합니다.
- 인트라넷 Microsoft 업데이트 서비스 위치 지정을 사용하도록 설정합니다.
- URL
http://\<WSUS name>:8530
을 입력합니다. ([Update Services] 페이지에서 WSUS 이름(예: WsusVM)을 찾을 수 있습니다.) 이 설정이 반영될 때까지 약간의 시간(최대 몇 시간)이 걸릴 수 있습니다. - 설정>업데이트 및 보안>Windows 업데이트로 차례로 이동합니다.
- 업데이트 확인을 선택합니다.
WSUS VM에서 할 일
- Windows Server Update Services를 엽니다. 컴퓨터>모든 컴퓨터 아래에 클라이언트 VM이 나열되어 있습니다.
- 업데이트>모든 업데이트를 차례로 선택합니다.
- 승인을 모든 예외 거부됨으로 설정합니다.
- 상태를 필요함으로 설정합니다. 이제 클라이언트 VM에 필요한 모든 업데이트가 표시됩니다.
- 마우스 오른쪽 단추로 업데이트 중 하나를 클릭하고 승인을 선택합니다.
확인
- 클라이언트 VM에서 설정>업데이트 및 보안>Windows 업데이트로 차례로 이동합니다.
- 업데이트 확인을 선택합니다. WSUS VM에서 승인한 것과 동일한 KB 문서 번호(예: 4480056)의 업데이트가 표시됩니다.
대규모 네트워크를 관리하는 관리자인 경우 그룹 정책 설정을 사용하여 클라이언트를 자동으로 구성하는 방법에 대한 자세한 내용은 자동 업데이트 및 업데이트 서비스 위치 구성을 참조하세요.
여러 클라우드의 WSUS 배포
퍼블릭 클라우드와 프라이빗 클라우드 간에는 가상 네트워크 피어링을 설정할 수 없습니다. 퍼블릭 클라우드와 프라이빗 클라우드 간에 배포되는 네트워크의 각 클라우드에는 하나 이상의 WSUS 서버가 있어야 합니다.
지원 참고 사항
WSUS는 현재 Windows Home SKU와의 동기화를 지원하지 않습니다.
Azure 업데이트 관리
Azure의 업데이트 관리 솔루션을 사용하여 WSUS와 동기화되는 VM의 운영 체제 업데이트를 관리하고 예약할 수 있습니다. VM의 패치 상태(즉, 누락된 패치)는 VM이 동기화하도록 구성된 원본을 기준으로 평가됩니다. Windows VM이 WSUS에 보고하도록 구성된 경우 WSUS가 Microsoft Update와 마지막으로 동기화된 시간에 따라 Microsoft Update에 표시되는 결과와 다를 수 있습니다. WSUS 환경 구성이 구성되면 업데이트 관리를 사용하도록 설정할 수 있습니다. 자세한 내용은 업데이트 관리 개요 및 온보딩 단계를 참조하세요.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Paul Reed | Azure 규정 준수 선임 프로그램 관리자
다음 단계
- 배포 계획에 대한 자세한 내용은 WSUS 배포 계획을 참조하세요.
- WSUS 관리, WSUS 동기화 일정 설정 등에 대한 자세한 내용은 WSUS 관리를 참조하세요.