知識マップ: DSCでWindowsを宣言的に構成管理する ── dsc.exeで始めるIaC
記事「DSCでWindowsを宣言的に構成管理する ── dsc.exeで始めるIaC」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
手順書スクリプトによるWindowsの構成管理を、あるべき状態をYAMLで宣言するMicrosoft DSC v3(dsc.exe)に置き換える記事。DSC v3はPowerShell非依存に書き直されたPSDSCの後継で、構成ドキュメントに宣言された状態をDSCリソースのget・test・setが冪等に収束させる。既存のPSDSCリソースはアダプタリソース経由で呼び出せ、WinGet Configurationはv3スキーマからDSC v3を処理系として使う。v3にはLCMのような常駐エージェントがないため、構成ドリフトの検出はdsc config testの定期実行として自分で用意するか、Azure Machine Configurationのようなマネージドの受け皿に載せる。アダプタはMicrosoft.Adapter/PowerShellがPowerShell 7上で、Microsoft.Adapter/WindowsPowerShellがWindows PowerShell 5.1上で既存リソースを動かす。運用面では、マシン全体に関わるリソースのsetに管理者権限が必要なこと、Gitに置く構成ドキュメントへシークレットを直書きせずパラメーター化することが注意点になる。
flowchart LR
accTitle: DSCによるWindowsの宣言的構成管理の知識マップ
accDescr: PSDSCの後継であるMicrosoft DSC v3が構成ドキュメントとDSCリソースを使って冪等な適用を実現し、アダプタリソースがPowerShell 7とWindows PowerShell 5.1の上で既存PSDSC資産を、wingetが実装するWinGet Configurationのv3スキーマがwinget側の資産を接続し、LCM不在の継続的強制はタスクスケジューラによるdsc config testの定期実行やAzure Machine Configurationが受け持ち、マシン全体に関わるリソースには管理者権限が、構成ドキュメントには平文シークレットを書かない設計が必要になる関係を示す図
microsoft_dsc_v3["Microsoft DSC v3"]
dsc_configuration_document["DSC構成ドキュメント"]
idempotency["冪等性"]
powershell_dsc["PowerShell DSC"]
dsc_resource["DSCリソース"]
dsc_adapter_resource["アダプタリソース"]
winget_configuration["WinGet Configuration"]
configuration_drift["構成ドリフト"]
dsc_config_test["dsc config test"]
local_configuration_manager["LCM"]
azure_machine_configuration["Azure Machine Configuration"]
winget["winget"]
powershell_7["PowerShell 7"]
windows_powershell_5_1["Windows PowerShell 5.1"]
task_scheduler["タスクスケジューラの無人実行"]
admin_rights["管理者権限"]
plaintext_secret_storage_risk["秘密情報の平文保存リスク"]
microsoft_dsc_v3 -->|"の後継"| powershell_dsc
microsoft_dsc_v3 -->|"利用する"| dsc_configuration_document
microsoft_dsc_v3 -->|"利用する"| dsc_resource
dsc_configuration_document -->|"利用する"| dsc_resource
microsoft_dsc_v3 -->|"実装を担う"| idempotency
microsoft_dsc_v3 -->|"利用する"| dsc_adapter_resource
dsc_adapter_resource -->|"利用する"| powershell_dsc
winget_configuration -.->|"利用する"| microsoft_dsc_v3
configuration_drift -->|"で確認できる"| dsc_config_test
local_configuration_manager -.->|"軽減する"| configuration_drift
azure_machine_configuration -.->|"軽減する"| configuration_drift
winget -->|"実装を担う"| winget_configuration
dsc_adapter_resource -.->|"利用する"| powershell_7
dsc_adapter_resource -.->|"利用する"| windows_powershell_5_1
task_scheduler -->|"自動化する"| dsc_config_test
dsc_resource -.->|"前提とする"| admin_rights
dsc_configuration_document -.->|"原因になり得る"| plaintext_secret_storage_risk
概念間の関係(全17件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- Microsoft DSC v3はPowerShell DSCの後継に当たります。
- Microsoft DSC v3はDSC構成ドキュメントを利用します。
- Microsoft DSC v3はDSCリソースを利用します。
- DSC構成ドキュメントはDSCリソースを利用します。
- Microsoft DSC v3は冪等性の実装を担います。
- Microsoft DSC v3はアダプタリソースを利用します。
- アダプタリソースはPowerShell DSCを利用します。
- WinGet ConfigurationはMicrosoft DSC v3を利用します。
- 構成ドリフトはdsc config testで確認できます。
- LCMは構成ドリフトを軽減します。
- Azure Machine Configurationは構成ドリフトを軽減します。
- wingetはWinGet Configurationの実装を担います。
- アダプタリソースはPowerShell 7を利用します。
- アダプタリソースはWindows PowerShell 5.1を利用します。
- タスクスケジューラの無人実行はdsc config testを自動化します。
- DSCリソースは管理者権限を前提とします。
- DSC構成ドキュメントは秘密情報の平文保存リスクの原因になることがあります。
主要概念の定義
機械可読データ
このデータセットについて
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。