Azure에서 Windows VM을 업데이트하기 위한 배포 계획

Azure Firewall
Azure Virtual Machines
Azure Virtual Network

인터넷에서 Azure 가상 네트워크를 잠근 경우에도 보안을 위협하지 않고, 인터넷에 전체적으로 액세스하지 않고도 Windows 업데이트를 가져올 수 있습니다. 이 문서에는 인터넷에 연결하지 않고 가상 네트워크를 안전하게 업데이트하기 위해 WSUS(Windows Server Update Service) 인스턴스를 호스팅하는 경계 네트워크(DMZ라고도 함)를 설정하는 방법에 대한 추천 사항이 포함되어 있습니다.

Azure Firewall을 사용하는 경우 애플리케이션 규칙에서 WindowsUpdate FQDN 태그를 사용하여 방화벽을 통해 필요한 아웃바운드 네트워크 트래픽을 허용합니다. 자세한 내용은 FQDN 태그 개요소프트웨어 업데이트 계획 - 방화벽 구성을 참조하세요.

이 문서의 추천 사항을 구현하려면 Azure 서비스에 익숙해야 합니다. 다음 섹션에서는 단일 지역 또는 다중 리전 구성에서 허브-스포크 구성을 사용하는 권장 배포 디자인에 대해 설명합니다.

Azure Virtual Network 허브-스포크 네트워크 토폴로지

경계 네트워크를 만들어 허브-스포크 모델 네트워크 토폴로지 설정 하는 것이 좋습니다. 인터넷과 가상 네트워크 사이의 허브에 있는 Azure 가상 머신에서 WSUS 서버를 호스팅합니다. 허브에는 열려 있는 포트가 있어야 합니다. WSUS는 80 포트를 HTTP 프로토콜에 사용하고 443 포트를 HTTPS 프로토콜에 사용하여 Microsoft에서 업데이트를 가져옵니다. 스포크는 인터넷이 아니라 허브와 통신하는 다른 모든 가상 네트워크입니다. 이 작업은 다른 인터넷 트래픽을 차단하면서 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은 문서화된 시스템 요구 사항을 충족해야 합니다. 보안에 중요한 기능이므로 JIT(Just-In-Time)를 사용하여 이 가상 머신에 액세스할 계획을 세워야 합니다. Just-In-Time을 사용하여 가상 머신 액세스 관리를 참조하세요.

네트워크에는 동일하거나 다른 지역에 있을 수 있는 둘 이상의 Azure 가상 네트워크가 있습니다. 모든 Windows Server VM을 평가하여 WSUS 서버로 사용할 수 있는지 확인해야 합니다. 업데이트할 수천 개의 VM이 있는 경우 Windows Server VM을 WSUS 역할 전용으로 제공하는 것이 좋습니다. 또한 VM은 다른 지역의 WSUS 서버를 기본 원본으로 사용하지 않는 것이 좋습니다.

모든 가상 네트워크가 동일한 지역에 있는 경우 18,000개의 VM마다 하나의 WSUS를 제공하는 것이 좋습니다. 이 제안은 VM 요구 사항, 업데이트되는 클라이언트 VM 수 및 가상 네트워크 간 통신 비용의 조합을 기반으로 합니다. WSUS 용량 요구 사항에 대한 자세한 내용은 WSUS 배포 계획을 참조하세요.

이러한 구성에 대한 비용은 Azure 가격 계산기를 사용하여 확인할 수 있습니다. WSUS 가상 머신의 사양과 네트워크 기대치, 즉 동일 지역 내에서의 또는 지역 간의 기대치를 제공해야 합니다. 데이터 전송의 경우 3GB부터 시작합니다. 가격은 지역에 따라 다릅니다.

수동 배포

사용할 Azure 가상 네트워크를 식별하거나 새 Windows Server 인스턴스를 만들어야 한다고 결정한 후에는 NSG 규칙을 만들어야 합니다. 이 규칙은 Windows 업데이트 메타데이터 및 콘텐츠가 사용자가 만든 WSUS 서버와 동기화할 수 있도록 하는 인터넷 트래픽을 허용합니다. 추가해야 하는 규칙은 다음과 같습니다.

  • 80 포트에서 인터넷을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(콘텐츠용).
  • 443 포트에서 인터넷을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(메타데이터용).
  • 8530 포트에서 클라이언트 VM을 통해 들어오고 나가는 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙(구성되지 않으면 기본값 적용).

WSUS 설정

WSUS 서버를 설정하는 데 사용할 수 있는 다음 두 가지 방법이 있습니다.

  • 많은 서버를 관리하거나 반복 가능한 실습 배포를 원하는 경우 고유한 PowerShell 스크립트를 작성하여 설치를 자동화합니다. 이 방법은 최소한의 관리가 필요한 일반적인 워크로드를 처리하도록 서버를 구성합니다.
  • 다양한 운영 체제 및 언어를 실행하는 수천 개의 클라이언트를 처리해야 하거나 스크립트에서 처리할 수 없는 방식으로 WSUS를 구성하려는 경우 WSUS를 수동으로 설정합니다. 두 가지 방법은 모두 이 문서의 뒷부분에서 설명하고 있습니다.

스크립트를 사용하여 대부분의 작업을 수행한 다음 WSUS 관리 콘솔을 사용하여 서버 설정을 미세 조정하여 두 가지 방법을 결합할 수도 있습니다.

자동화 스크립트를 사용하여 WSUS 설정

이 시나리오를 자동화하려면 PowerShell 스크립트를 작성합니다. WSUS는 관리 콘솔을 사용하지 않고 역할을 설치하고 동기화, 제품, 분류, 언어 및 업데이트 승인을 구성하는 데 사용할 수 있는 PowerShell 화면을 노출합니다. 스크립트에서 사용하는 cmdlet은 WSUS PowerShell 참조(UpdateServices 모듈)를 참조하세요.

참고

Windows 내부 데이터베이스를 사용하는 설치 방법은 설치 속도를 높이고 관리 복잡성을 줄입니다. 그러나 서버에서 수천 대의 클라이언트 컴퓨터를 지원하는 경우, 특히 다양한 제품 및 언어를 지원해야 하는 경우 SQL Server 데이터베이스로 사용할 수 있도록 WSUS를 수동으로 설정합니다.

다시 실행하면 실행 중인 서버가 중단되지 않도록 스크립트 및 해당 구성을 idempotent로 디자인합니다. 운영자가 스크립트 논리를 편집하지 않고 값을 변경할 수 있도록 JSON과 같은 별도의 구성 파일에 설정을 저장합니다. 강력한 스크립트는 다음 책임을 처리합니다.

  • WSUS 서버 역할 및 관리 도구를 설치한 다음 필요한 설치 후 단계를 실행하여 콘텐츠 디렉터리를 설정합니다.
  • Microsoft 업데이트 또는 다른 WSUS 서버와 같이 서버가 동기화하는 업스트림 원본을 설정합니다.
  • 업데이트 페이로드가 로컬(및 위치)에 저장되는지 또는 Microsoft 서버에 남아 있는지를 설정합니다.
  • 서버에서 사용할 수 있는 제품, 업데이트 분류 및 언어를 선택합니다.
  • 관리자가 승인하지 않는 한 서버에서 설치를 위해 업데이트를 자동으로 승인할지 또는 승인되지 않은 상태로 둘지 여부를 설정합니다.
  • 서버가 Microsoft에서 새 업데이트를 자동으로 가져오도록 할지 여부와, 그렇다면 얼마나 자주 가져올지를 설정합니다.
  • Express 업데이트 패키지의 사용 여부를 설정합니다. 빠른 업데이트 패키지는 클라이언트 CPU 및 디스크 사용량 및 서버 대역폭을 희생하여 서버 대 클라이언트 대역폭을 줄입니다.
  • 의도하지 않은 재구성을 방지합니다. 예를 들어 스크립트가 이미 실행되었음을 기록하고, 재정의 값이 설정되지 않은 한 이후 실행은 건너뛰도록 하여 서버 운영을 방해할 수 있는 의도치 않은 변경을 방지합니다.

다음 두 가지 방법 중 하나로 스크립트를 실행할 수 있습니다.

  • WSUS VM에서 수동으로 스크립트를 실행합니다. 관리자 권한 명령 프롬프트에서 실행하여 WSUS를 설치하고 구성합니다.

  • Windows용 사용자 지정 스크립트 확장을 사용할 수 있습니다.

    스크립트 및 해당 구성 파일을 WSUS VM에 대한 프라이빗 네트워크 가시선이 있는 자체 스토리지 컨테이너에 복사합니다.

    일반적인 VM 및 Azure 가상 네트워크 구성에서 사용자 지정 스크립트 확장에는 스크립트를 올바르게 실행하는 다음 두 매개 변수만 필요합니다. 여기에 표시된 값을 스토리지 위치의 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시간 넘게 걸릴 수 있습니다. 그 이후의 모든 동기화는 훨씬 더 빠릅니다.

WSUS와 통신하도록 가상 네트워크 구성

다음으로, 허브와 통신하도록 Azure 가상 네트워크 피어링 또는 글로벌 가상 네트워크 피어링을 설정합니다. 대기 시간을 최소화하기 위해 배포한 지역마다 WSUS 서버를 설정하는 것이 좋습니다.

스포크인 각 Azure 가상 네트워크에서 다음 규칙을 포함하는 NSG 정책을 만들어야 합니다.

  • 포트 8530에서 WSUS VM에 대한 트래픽을 허용하는 인바운드/아웃바운드 NSG 규칙입니다(구성되지 않은 경우 기본값).
  • 인터넷 트래픽을 거부하는 인바운드/아웃바운드 NSG 규칙입니다.

다음으로, 스포크에서 허브로 연결되는 Azure 가상 네트워크 피어링을 만듭니다.

클라이언트 가상 머신 구성

WSUS를 사용하여 Windows를 실행하는 모든 가상 머신을 업데이트할 수 있습니다. 그룹 정책을 사용하여 클라이언트를 설정하려면 WSUS 서버에서 업데이트를 받도록 클라이언트 컴퓨터 구성을 참조하세요.

대규모 네트워크를 관리하는 관리자인 경우 그룹 정책 설정을 사용하여 클라이언트를 자동으로 구성하는 방법에 대한 자세한 내용은 자동 업데이트 및 업데이트 서비스 위치 구성을 참조하세요.

Azure 업데이트 관리자

Azure 업데이트 관리자를 사용하여 WSUS와 동기화되는 VM에 대한 운영 체제 업데이트를 관리하고 예약할 수 있습니다. VM의 패치 상태(즉, 누락된 패치)는 VM이 동기화하도록 구성된 원본을 기준으로 평가됩니다. Windows VM이 WSUS에 보고하도록 구성된 경우 WSUS가 Microsoft Update와 마지막으로 동기화된 시간에 따라 Microsoft Update에 표시되는 결과와 다를 수 있습니다. WSUS 환경 구성이 구성되면 업데이트 관리를 사용하도록 설정할 수 있습니다. 자세한 내용은 Azure 업데이트 관리자의 개요를 참조 하세요.

기여자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자

  • Paul Reed | Azure 규정 준수 선임 프로그램 관리자

다음 단계

  • 배포 계획에 대한 자세한 내용은 WSUS 배포 계획을 참조하세요.
  • WSUS 관리, WSUS 동기화 일정 설정 등에 대한 자세한 내용은 WSUS 관리를 참조하세요.