다음을 통해 공유


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 자동화 스크립트를 사용할 수 있습니다.
  • 다양한 운영 체제와 언어를 실행하는 수천 개의 클라이언트를 처리해야 하거나 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 구성 파일을 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 Update Manager를 사용하여 WSUS와 동기화되는 VM에 대한 운영 체제 업데이트를 관리하고 예약할 수 있습니다. VM의 패치 상태(즉, 누락된 패치)는 VM이 동기화하도록 구성된 원본을 기준으로 평가됩니다. Windows VM이 WSUS에 보고하도록 구성된 경우 WSUS가 Microsoft Update와 마지막으로 동기화된 시간에 따라 Microsoft Update에 표시되는 결과와 다를 수 있습니다. WSUS 환경 구성이 구성되면 업데이트 관리를 사용하도록 설정할 수 있습니다. 자세한 내용은 Azure Update Manager의 개요를 참조 하세요.

참가자

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

보안 주체 작성자:

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

다음 단계

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