Microsoft Desired State Configuration (DSC) v3.2.0の一般提供(GA)が発表されました。本記事では、公式情報に基づき、新しいWindowsリソースやBicep統合、バージョン固定、式言語の拡張などの主要な変更点を整理します。
本記事はAIを利用して作成した技術解説・実装例です。掲載するコードや手順は一次情報を基に構成していますが、筆者による実機での動作確認は行っていません。環境やバージョンによって動作が異なる場合があります。
目的
Microsoft Desired State Configuration (DSC) v3.2.0における新機能と改善点を整理し、公式情報で示されている各機能の概要と利用時のポイントを把握することを目的とします。
前提・注意点
本記事は一次情報を元にした解説であり、【実機確認前】の状態です。
一部の機能(OptionalFeatureList や FeatureOnDemandList など)は、ZIPパッケージの利用が必要であると説明されています。
gRPCを利用したBicep統合などは実験的な機能(experimental)として提供されています。
DSC v3.2.0の主要な新機能と構成要素
DSC v3.2.0では、実世界の利用やパートナーからのフィードバック、コミュニティからの貢献を反映し、多岐にわたる機能強化が行われています。
新しいWindowsリソース
追加されたビルトインのWindowsリソースにより、追加のインストールなしで管理できる範囲が拡大しています。一次情報では以下のリソースが挙げられています。
Microsoft.Windows/Service: Windowsサービスの管理Microsoft.Windows/OptionalFeatureList: Windowsオプショナル機能の管理(ZIPパッケージが必要)Microsoft.Windows/FeatureOnDemandList: Windowsオンデマンド機能の管理(ZIPパッケージが必要)Microsoft.Windows/FirewallRuleList: Windowsファイアウォールルールの管理Microsoft.OpenSSH.SSHD/sshd_config: SSHサーバー設定全体の管理Microsoft.OpenSSH.SSHD/SubsystemおよびMicrosoft.OpenSSH.SSHD/SubsystemList: サブシステムエントリに関するSSHサーバー設定の管理Microsoft.OpenSSH.SSHD/Windows: デフォルトシェルなどのWindows SSHサーバー設定の管理
flowchart TD
DSC[DSC v3.2.0 Core] --> WinRes[Windows Resources]
DSC --> Bicep[Bicep Integration via gRPC]
DSC --> Ext[Extensions: Import & Secret]
WinRes --> Service[Microsoft.Windows/Service]
WinRes --> Firewall[Microsoft.Windows/FirewallRuleList]
WinRes --> SSH[Microsoft.OpenSSH.SSHD/Windows]
Bicep --> Extension[dsc-bicep-ext]
Ext --> Import[File Import]
Ext --> Secret[Secret Retrieval]
Bicep統合とgRPC(実験的機能)
gRPCサーバーが導入され、BicepがARMを経由せずにDSCリソースを直接オーケストレーションできるようになりました。dsc-bicep-ext拡張機能がMSIXパッケージに含まれ、PATHに露出します。
拡張されたWhatIfサポート
dsc resource setコマンドに --what-if が追加され、個別のリソースに対して変更を適用する前にプレビューできるようになりました。また、リソースマニフェストで whatIfReturns を宣言することで、より詳細なプレビュー出力が可能になります。
バージョン固定(Version Pinning)
構成ドキュメントを特定のDSCバージョンに固定する機能や、構成内のリソースインスタンスを指定バージョンに固定する機能がサポートされました。version ディレクティブや requireVersion フィールドを利用します。
式言語の改善
ARM構文による map() や filter() を用いたラムダ式、dataUri() および dataUriToString() 関数、copyループ内での reference() の使用などがサポートされ、構成ドキュメントの表現力が向上しています。
拡張機能とアダプターの改善
新しい拡張機能として、任意のファイルをDSC構成ドキュメントに変換する「インポート」機能と、実行時にシークレットを取得する「シークレット」機能が追加されました。また、PowerShellアダプター向けの適応型リソースマニフェストのサポートや、Write-* コマンドレットを用いた自動トレース変換なども行われています。
確認方法
一次情報では、Windows環境でMicrosoft Storeから winget を用いてDSCを検索・インストールする方法が紹介されています。
保存名・実行前提・期待できる確認内容を整理したコマンド例を以下に示します。
# 実行前提: Windows環境でのwinget利用 # 確認内容: DesiredStateConfigurationのパッケージIDとバージョンの確認 winget search DesiredStateConfiguration --source msstore
限界
本記事で扱う内容はすべて公式ブログの公開情報に基づくものであり、実機環境での動作結果やパフォーマンス数値は示していません。
一部の機能や拡張機能は実験的(experimental)であり、今後のリリースで仕様が変更される可能性があります。
まとめ
DSC v3.2.0では、Windowsリソースの拡充、Bicep統合、バージョン固定、式言語の拡張など多くの機能が追加されています。
実行前に確認すべき点として、利用するパッケージ形式(Store版かZIP版か)や、実験的機能のステータスに留意する必要があります。
詳細な仕様や最新のパッチ情報については、公式ドキュメントおよびリポジトリを確認してください。
参考情報
出典タイトル: Announcing Microsoft Desired State Configuration v3.2.0
URL: https://devblogs.microsoft.com/powershell/announcing-dsc-v3-2-0/
