WSUS(Windows Server Update Services)는 관리자가 기업 네트워크 내의 컴퓨터와 서버에 대해 Microsoft 제품(Windows, Office, SQL Server, Exchange 등)의 패치와 보안 업데이트를 중앙에서 관리할 수 있도록 해주는 업데이트 서비스입니다.
WSUS의 작동 방식을 간단히 살펴보면 다음과 같습니다. WSUS 서버는 Microsoft Update 서버와 주기적으로 동기화하여 선택한 제품의 최신 업데이트를 다운로드합니다. WSUS 관리자는 회사의 워크스테이션과 서버에 어떤 업데이트를 설치할지 승인합니다. 그러면 WSUS 클라이언트는 구성된 정책에 따라 사내 업데이트 서버에서 필요한 업데이트를 다운로드하고 설치합니다. 자체 WSUS 서버를 운영하면 인터넷 트래픽을 절약할 수 있고, 회사 전체의 업데이트 배포를 더욱 유연하게 관리할 수 있습니다.
WSUS란 무엇이며, 왜 사용해야 할까요?
Microsoft는 SCCM(System Center Configuration Manager) 같은 다른 업데이트 배포 시스템도 제공하지만, WSUS 서버는 완전히 무료라는 큰 장점이 있습니다. 실제로 SCCM의 업데이트 기능인 SUP(Software Update Point)도 WSUS를 기반으로 동작합니다.
Windows Server 2012 출시 이전까지 Microsoft 업데이트 서버의 최신 버전은 WSUS 3.0 SP2였으며, 이 버전은 Windows 10이나 Windows Server 2012 R2/2016 같은 최신 운영체제를 지원하지 않았습니다. 새로운 서버 플랫폼과 함께 Microsoft는 WSUS 6.0을 선보였습니다(버전 번호가 논리상 4.0이어야 할 것 같지만 말입니다).
Windows Server 2012 R2/2016의 새로운 WSUS 버전에는 근본적으로 새로운 기능은 많지 않습니다. 다만 주목할 점은 이제 WSUS 설치 패키지를 Microsoft 웹사이트에서 별도로 다운로드할 수 없고, Windows Server 배포판에 통합되어 별도의 서버 역할(role)로 설치된다는 것입니다. 또한 WSUS 6.0부터는 PowerShell을 사용해 업데이트 설치를 관리할 수 있게 되었습니다.
이 글에서는 Windows Server 2012 R2 / Windows Server 2016에서 WSUS 역할을 설치하고 구성하는 기본적인 방법을 살펴보겠습니다.
Windows Server 2012 R2 / 2016에 WSUS 역할 설치하기
Windows Server 2008부터 WSUS는 서버 관리자(Server Manager) 콘솔을 통해 설치할 수 있는 별도의 역할로 분리되었습니다. Windows Server 2012 R2 / 2016에서도 이 방식은 동일합니다. 서버 관리자 콘솔을 열고 Windows Server Update Services 역할을 선택하면, 시스템이 필요한 IIS 웹 서버 구성 요소를 자동으로 선택하여 설치하도록 안내합니다.

WSUS Services 옵션을 체크한 후, WSUS가 사용할 데이터베이스 유형을 선택해야 합니다.
Windows Server 2012의 WSUS는 다음 데이터베이스를 지원합니다:
- WID(Windows Internal Database)
- Microsoft SQL Server 2008 R2 SP1, 2012, 2014, 2016 (Enterprise / Standard / Express Edition)
즉, 추가 라이선스가 필요 없는 무료 WID 데이터베이스를 사용하거나, WSUS 데이터를 저장하기 위해 로컬 또는 원격(다른 서버) SQL Server 데이터베이스를 사용할 수 있습니다.
WID(Windows Internal Database) 이해하기
기본 WID 데이터베이스 파일명은 SUSDB.mdf이며 %windir%\wid\data 폴더에 저장됩니다. 이 데이터베이스는 SQL 인증이 아닌 Windows 인증만 지원합니다. WSUS용 내부(WID) 데이터베이스 인스턴스 이름은 server_name\Microsoft##WID입니다. WSUS 데이터베이스에는 업데이트 서버 설정, 업데이트 메타데이터, WSUS 클라이언트 정보가 저장됩니다.
다음과 같은 경우 내부 데이터베이스(WID) 사용이 권장됩니다:
- 조직에 SQL Server 라이선스가 없거나 구매 계획이 없는 경우
- WSUS 부하 분산(NLB)을 사용할 계획이 없는 경우
- 지사 등에 하위(child) WSUS 서버를 배포할 계획인 경우 — 이때는 하위 서버에 내장 WSUS 데이터베이스를 사용하는 것이 좋습니다
WSUS WID 데이터베이스는 SSMS(SQL Server Management Studio)에서 다음 연결 문자열을 지정하면 관리할 수 있습니다: \\.\pipe\MICROSOFT##WID\tsql\query
참고로 무료 버전인 SQL Server 2008/2012 Express에는 최대 데이터베이스 크기 10GB 제한이 있습니다. 하지만 이 한도에 도달하는 일은 드뭅니다(예: 클라이언트 3,000대 기준 WSUS 데이터베이스 크기는 약 3GB). 반면 Windows Internal Database는 524GB까지 지원합니다.
SQL Server를 별도 서버에 배치할 때의 제한 사항
WSUS 역할과 MS SQL 데이터베이스를 서로 다른 서버에 설치하는 경우 몇 가지 제한이 있습니다:
- WSUS 데이터베이스가 있는 SQL Server는 도메인 컨트롤러일 수 없습니다
- WSUS 서버는 동시에 원격 데스크톱 서비스(RDS) 호스트일 수 없습니다
내장 WID 데이터베이스를 사용하기로 했다면(대규모 인프라에서도 충분히 안정적이고 권장되는 옵션입니다), Database 옵션을 체크합니다.

다음으로 업데이트 파일을 저장할 디렉터리를 지정합니다(선택한 디스크에 최소 10GB 이상의 여유 공간이 있는 것이 좋습니다).
WSUS 저장소 크기는 업데이트하려는 제품 수와 Windows OS 버전에 따라 크게 달라집니다. 대규모 조직에서는 WSUS 서버의 업데이트 파일 크기가 수백 GB에 이를 수 있습니다. 예를 들어 필자의 WSUS 디렉터리는 약 400GB입니다(Windows 7, 8.1, 10, Windows Server 2008 R2, 2012/R2/2016, Exchange 2013, Office 2010 및 2016, SQL Server 2008/2012/2016용 업데이트 저장). WSUS 저장 공간을 계획할 때 이 점을 반드시 고려하세요.

별도의 SQL 데이터베이스 사용을 선택했다면, 데이터베이스 서버 이름과 DB 인스턴스를 입력하고 연결을 확인해야 합니다.

이후 WSUS 역할과 필요한 모든 구성 요소가 설치됩니다. 설치가 완료되면 서버 관리자에서 WSUS 관리 콘솔을 실행합니다.

다음 PowerShell 명령어로 내장 데이터베이스를 사용하는 WSUS 서버를 설치할 수도 있습니다:
Install-WindowsFeature -Name Updateservices,UpdateServices-WidDB,UpdateServices-services –IncludeManagementTools
Windows Server 2012 R2 / 2016에서 WSUS 기본 구성하기
WSUS 콘솔을 처음 시작하면 업데이트 서버 구성 마법사(Update Server Configuration Wizard)가 자동으로 실행됩니다. 마법사를 통해 WSUS 서버를 구성하는 기본 단계를 살펴보겠습니다.
먼저 WSUS 서버가 Microsoft Update 웹사이트에서 직접 업데이트를 가져올지, 아니면 상위(upstream) WSUS 서버에서 다운로드할지 지정합니다. 두 번째 옵션은 대규모 네트워크에서 주로 사용되는데, 예를 들어 지역 지점의 WSUS 서버가 본사의 WSUS에서 업데이트를 받도록 구성하는 경우입니다(이 구성은 본사와 지사 간 WAN 대역폭 부하를 크게 줄여줍니다).

WSUS 서버가 Windows Update 서버에서 직접 업데이트를 받아야 하고, 프록시 서버를 통해 인터넷에 접속한다면 프록시 서버 주소, 포트, 접속 자격 증명을 입력해야 합니다.

다음으로 상위 업데이트 서버와의 연결을 확인합니다. Start Connecting을 클릭하세요.

그런 다음 WSUS가 업데이트를 다운로드할 언어를 선택합니다. 여기서는 English를 선택했습니다(언어 목록은 나중에 WSUS 콘솔에서 변경할 수 있습니다).

이제 WSUS가 업데이트를 다운로드할 제품 목록을 지정합니다. 회사 네트워크에서 사용 중인 모든 Microsoft 제품을 선택해야 합니다. 단, 추가 업데이트는 디스크 공간을 차지하므로 불필요한 제품은 체크하지 않는 것이 좋습니다. 네트워크에 Windows XP나 Windows 7 컴퓨터가 없다는 것이 확실하다면 해당 OS의 체크박스를 선택하지 마세요. 이렇게 하면 WSUS 서버 드라이브 공간을 크게 절약할 수 있습니다.
필요한 경우 Microsoft Update 카탈로그에서 특정 업데이트를 수동으로 WSUS 서버로 가져올(import) 수도 있습니다.

분류(Classification) 페이지에서는 WSUS를 통해 배포할 업데이트 유형을 지정합니다. Critical Updates, Definition Updates, Security Packs, Service Packs, Update Rollups, Updates를 선택하는 것이 좋습니다.

참고로 Windows 10 빌드 업그레이드(1709, 1803, 1809 등)는 WSUS 콘솔에서 Upgrades 클래스에 포함됩니다.
다음으로 업데이트 동기화 일정을 지정합니다. WSUS 서버가 Microsoft Update 서버와 매일 자동으로 동기화하도록 설정하는 것이 좋으며, 업무 시간 중 인터넷 회선에 부하를 주지 않도록 야간에 동기화가 이루어지도록 하는 것이 바람직합니다.

초기 동기화는 선택한 제품 수와 인터넷 회선 속도에 따라 며칠이 걸릴 수 있습니다.
마법사가 완료되면 WSUS 콘솔이 실행됩니다.

WSUS 서버 성능 최적화 팁
Windows Server에서 WSUS 서버 성능을 개선하려면 다음 폴더를 백신 검색 대상에서 제외하는 것이 좋습니다:
- \WSUS\WSUSContent
- %windir%\wid\data
- \SoftwareDistribution\Download
이제 클라이언트는 8530 포트로 WSUS 서버에 접속하여 업데이트를 받을 수 있습니다(Windows Server 2003/2008에서는 기본적으로 80 포트를 사용). 클라이언트가 1,000대를 초과하는 환경에서는 클라이언트 업데이트를 배포하는 IIS WsusPoll 애플리케이션 풀의 성능을 별도로 조정하는 것이 좋습니다.
또한 WSUS 콘솔에서 다양한 업데이트 보고서를 보려면 서버에 Microsoft Report Viewer 2008 SP1 Redistributable(또는 상위 버전) 구성 요소를 설치해야 합니다.
다음 글에서는 Windows Server 2012 R2 / 2016에서 WSUS 서버를 추가로 구성하는 방법을 다룰 예정입니다. 그룹 정책을 통한 WSUS 클라이언트 설정, 새 업데이트 승인 방법, WSUS 대상 그룹 간 승인된 업데이트 복사 방법 등을 소개하겠습니다.