Microsoft Desired State Configuration v3 の概要

Microsoft のDesired State Configuration (DSC) は宣言型構成プラットフォームです。 DSC では、コンピューターの状態は、読者が主題の専門家でない場合でも理解するために明確な形式を使用して記述されます。 命令型ツールとは異なり、DSC では、アプリケーション環境の定義は、それが提供される方法を実装するスクリプト ロジックとは別です。

DSCv3 コマンド ライン アプリケーションは、ソフトウェア コンポーネントの管理を宣言的かつべき等的に抽象化します。 DSCv3 は、外部依存関係なしで Linux、macOS、および Windows 上で実行されます。

DSCv3 では、次のことができます。

  • DSC リソースを作成して、任意の言語でシステムを管理します。
  • 個々のリソースを呼び出します。
  • システムの望ましい状態を定義する構成ドキュメントを作成します。

構成ドキュメント

DSC 構成ドキュメントは、リソースのインスタンスを定義する宣言型 YAML ファイルです。 通常、構成ドキュメントでは、適用する状態を定義します。

シナリオの例には、アプリケーション環境または運用/セキュリティ標準の要件が含まれます。

DSC リソース

DSC リソースは、特定のシステムまたはアプリケーション コンポーネントの状態を管理する方法を定義します。 リソースは、コンポーネントの管理可能な設定のスキーマを記述します。 すべてのリソースを Get 操作と Test 操作と共に使用して、リソース インスタンスの現在の状態を取得し、目的の状態であるかどうかを検証できます。 また、ほとんどのリソースでは 、Set 操作を使用して目的の状態を適用することもできます。

シナリオの例としては、ファイルの内容を更新する方法、コンピューターの状態を変更するユーティリティを実行する方法、アプリケーションの設定を構成する方法などがあります。

PowerShell DSC との違い

DSCv3 では、 PSDesiredStateConfiguration モジュール を利用して、既存の PowerShell ベースのリソースとの互換性をサポートします。

DSCv3 は、いくつかの重要な方法で PowerShell Desired State Configuration (PSDSC) と異なります。

  • DSCv3 は PowerShell に依存しません。 PowerShell をインストールせずに DSCv3 を使用し、bash、python、C#、Go、またはその他の言語で記述されたリソースを管理できます。
  • DSCv3 にはローカル構成マネージャーは含まれません。 DSCv3 はコマンドとして呼び出されます。 サービスとして実行されません。
  • PowerShell 以外のリソースは、MOF ファイルではなく JSON ファイルを使用してスキーマを定義します。
  • 構成ドキュメントは、PowerShell スクリプト ファイルではなく JSON または YAML ファイルで定義されます。

重要なのは、DSCv3 は DSC プラットフォームの大きな変更を表しますが、DSCv3 は現在存在するスクリプトベースの DSC リソースやクラスベースの DSC リソースを含む PSDSC リソースを呼び出すことができます。 構成ドキュメントには互換性がありませんが、発行されたすべての PSDSC リソースがあります。 DSCv3 の PSDSC リソースは、Windows PowerShellと PowerShell の両方で使用できます。

インストール

DSCv3 をインストールするには:

  1. PowerShell/DSC リポジトリから最新のリリースをダウンロードします
  2. リリース アーカイブを展開します。
  3. 展開されたアーカイブ の内容を含むフォルダーを に追加します PATH

PowerShell ギャラリーからバージョン 3 ベータ版をインストールPSDesiredStateConfigurationするには:

# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease

DSCv3 との統合

DSCv3 は、リソースの定義と呼び出しに関する懸念事項を抽象化するプラットフォーム ツールです。 Azure Machine Configuration、Azure Automanaged VM、WinGet などの上位のツールは、オーケストレーション エージェントとしての DSCv3 の初期パートナーです。

DSCv3 では、JSON スキーマを使用して、リソース、構成ドキュメント、および DSCv3 から返される出力の構造を定義します。 これらのスキーマを使用すると、DSCv3 を他のツールと簡単に統合できます。これは、DSCv3 とインターフェイスする方法を標準化して文書化するためです。

参照