次の方法で共有


Microsoft Desired State Configuration v3 の概要

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

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

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

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

構成ドキュメント

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

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

DSC リソース

DSC リソースは、特定のシステムまたはアプリケーション コンポーネントの状態を管理する方法を定義します。 リソースは、コンポーネントの管理可能な設定のスキーマを記述します。 すべてのリソースを GetTest 操作と共に使用して、リソース インスタンスの現在の状態を取得し、目的の状態であるかどうかを検証できます。 また、ほとんどのリソースでは、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 リソースを含む PSDSC リソースを呼び出すことができます。 構成ドキュメントには互換性はありませんが、発行されたすべての PSDSC リソースは互換性があります。 DSCv3 の PSDSC リソースは、Windows PowerShell と PowerShell の両方で使用できます。

取り付け

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

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

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

# 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 Dev Box、Windows Dev Home、WinGet などの上位のツールは、オーケストレーション エージェントとしての DSCv3 の初期パートナーです。

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

関連項目