다음을 통해 공유


Microsoft Desired State Configuration 개요

Microsoft의 DSC(Desired State Configuration)는 선언적 구성 플랫폼입니다. DSC를 사용하면 판독기가 주제 전문가가 아니더라도 명확하게 이해할 수 있어야 하는 형식을 사용하여 컴퓨터의 상태를 설명합니다. 명령형 도구와 달리 DSC를 사용하면 응용 프로그램 환경의 정의가 해당 정의를 적용하는 프로그래밍 논리와 별개입니다.

DSC 명령줄 응용 프로그램()dsc은 소프트웨어 구성 요소의 관리를 선언적 및 멱등적으로 추상화합니다. DSC는 외부 종속성 없이 Linux, macOS 및 Windows에서 실행됩니다.

DSC를 사용하면 다음을 수행할 수 있습니다.

  • DSC 리소스를 작성하여 모든 언어로 시스템을 관리합니다.
  • 개별 리소스를 직접 호출합니다.
  • 시스템의 원하는 상태를 정의하는 구성 문서를 만듭니다.

구성 문서

DSC 구성 문서는 리소스의 인스턴스를 정의하는 선언적 데이터 파일입니다. 일반적으로 구성 문서는 적용할 상태를 정의합니다. DSC는 JSON과 YAML 모두에서 구성 문서 작성을 지원합니다.

예제 시나리오에는 애플리케이션 환경 또는 운영/보안 표준에 대한 요구 사항이 포함됩니다.

DSC 리소스

DSC 리소스는 특정 시스템 또는 애플리케이션 구성 요소의 상태를 관리하는 방법을 정의합니다. 리소스는 구성 요소의 관리 가능한 설정에 대한 스키마를 설명합니다. 모든 리소스를 가져오기 및 테스트 작업과 함께 사용하여 리소스 인스턴스의 현재 상태를 검색하고 원하는 상태인지 여부를 확인할 수 있습니다. 대부분의 리소스는 설정 작업으로 원하는 상태를 적용하도록 지원합니다.

예제 시나리오에는 다음이 포함됩니다.

  • 파일의 내용을 업데이트하는 방법입니다.
  • 컴퓨터의 상태를 변경하는 유틸리티를 실행하는 방법.
  • 응용 프로그램의 설정을 구성하는 방법입니다.

PowerShell DSC의 차이점

DSC는 몇 가지 중요한 면에서 PowerShell PSDSC(필요한 상태 구성)와 다릅니다.

  • DSC는 PowerShell, Windows PowerShell 또는 PSDesiredStateConfiguration PowerShell 모듈에 의존하지 않습니다. DSC는 및 Microsoft.Windows/WindowsPowerShell어댑터 리소스를 통해 Microsoft.DSC/PowerShell PSDSC 리소스와의 완전한 호환성을 제공합니다.

    Microsoft.DSC/PowerShell 어댑터 리소스를 사용하면 PowerShell 클래스로 구현된 모든 PSDSC 리소스를 사용할 수 있습니다. 리소스는 PowerShell에서 PSDSC 리소스 검색, 유효성 검사 및 호출을 처리합니다. 리소스는 모든 플랫폼에 대한 DSC 설치 패키지에 포함됩니다.

    Microsoft.Windows/WindowsPowerShell 어댑터 리소스를 사용하면 Windows PowerShell 호환되는 모든 PSDSC 리소스를 사용할 수 있습니다. 리소스는 Windows PowerShell에서 PSDSC 리소스 검색, 유효성 검사 및 호출을 처리합니다. 리소스는 Windows용 DSC 설치 패키지에만 포함됩니다.

  • DSC는 PowerShell에 의존하지 않으므로 PowerShell이 설치되지 않은 상태에서 DSC를 사용하고 bash, Python, C#, Rust 또는 기타 언어로 작성된 리소스를 관리할 수 있습니다.

  • DSC에는 로컬 구성 관리자가 포함되어 있지 않습니다. DSC는 명령으로 호출됩니다. 서비스로 실행되지 않습니다.

  • 새 DSC 리소스는 MOF 파일이 아닌 JSON 또는 YAML 파일을 사용하여 스키마를 정의합니다. 자체 포함 리소스는 DSC가 리소스를 호출하는 방법과 리소스가 관리할 수 있는 속성을 나타내는 리소스 매니페스트 를 정의합니다. PowerShell에서 구현된 리소스와 같은 조정된 리소스의 경우 어댑터 리소스는 리소스에 사용 가능한 속성이 무엇인지 DSC에 알리고 조정된 리소스 호출을 처리합니다.

  • 구성 문서는 PowerShell 스크립트 파일이 아닌 JSON 또는 YAML 파일에 정의됩니다. 구성 문서는 매개 변수, 변수, 메타데이터 및 구성의 데이터를 동적으로 확인하는 식 함수를 포함하여 ARM 템플릿의 기능 하위 집합을 지원합니다.

설치

DSC 수동 설치

모든 플랫폼에 DSC를 설치하려면:

  1. PowerShell/DSC 리포지토리 최신 릴리스를 다운로드합니다.
  2. 릴리스 보관 파일을 확장합니다.
  3. 확장된 보관 내용이 포함된 폴더를 PATH추가합니다.

WinGet을 사용하여 Windows에 DSC 설치

다음 명령을 사용하여 Microsoft Store에서 게시된 winget 패키지를 사용하여 DSC를 설치할 수 있습니다.

최신 버전의 DSC를 검색합니다.

winget search DesiredStateConfiguration --source msstore
Name                              Id           Version Source
---------------------------------------------------------------
DesiredStateConfiguration         9NVTPZWRC6KQ Unknown msstore
DesiredStateConfiguration-Preview 9PCX3HX4HZ0Z Unknown msstore

매개 변수를 사용하여 DSC를 설치합니다.id

# Install latest stable
winget install --id 9NVTPZWRC6KQ --source msstore
# Install latest preview
winget install --id 9PCX3HX4HZ0Z --source msstore

DSC와 통합

DSC는 리소스를 정의하고 호출하는 데 필요한 문제를 추상화하는 플랫폼 도구입니다. WinGet, Microsoft Dev BoxAzure Machine Configuration과 같은 고차 도구는 오케스트레이션 에이전트로서 DSC의 초기 파트너입니다.

DSC는 JSON 스키마를 사용하여 리소스, 구성 문서 및 DSC가 반환하는 출력의 구조를 정의합니다. 이러한 스키마는 DSC와 인터페이스하는 방법을 표준화하고 문서화하기 때문에 DSC를 다른 도구와 더 쉽게 통합할 수 있습니다.

자세한 내용은 DSC JSON 스키마 참조 개요를 참조하세요.

참고 항목