狠狠撸

狠狠撸Share a Scribd company logo
PowerShell DSC入門
夏目 祐樹
株式会社クリック
自己紹介
? 夏目祐樹 (ナツメ ユウタ)
? @sinofseven
? 新卒2年目の新人SE
? Chef Guy
开発の话ではありません
运用に近い话です
PowerShell DSC
? PowerShell Desired State Configuration
? PowerShell 4.0をコアとする
Windows Management Framework(WMF) 4.0に含まれる。
? Windows 8.1以降標準搭載されている構成管理ツール。
(サーバーだと2012R2以降)
対応OS
? WMF4.0を導入すれば使用可能
?Windows 7
?Windows Server 2008R2
?Windows Server 2012
? Windows 8だけは導入できない
?諦めて8.1にアップデートしましょう
DSCの重要な3要素
? Configuration as Code
? べき等性
? 宣言的構文
Configuration as Code
? サーバーの環境や設定をコードで記述し、
管理?再利用する。
? 以前はInfrastructure as Codeに含まれる形で
考えられていたが、最近は区別することが多いように感じる。
(IaCはインフラの構築設定をコードで記述する)
べき等性
? 何度実行しても同じ結果が得られること
? あるアプリケーションをインストールする際に、
すでにインストールしていてもエラーを吐かないし、
もう一個インストールすることもない
? DSCの書き方によっては担保されないこと
があるので注意が必要
宣言的構文
? 処理を記述するのではなく
あるべき状態を記述する
? 書き方によっては担保されない
サンプルコード (IISインストール)
Import-Module ServerManager
# Web Server(IIS)の機能が未インストールかどうかを
# 確認してから、未インストールならIISをインストール
If (-not (Get-WindowsFeature "Web-Server").Installed)
{
try
{
Add-WindowsFeature Web-Server -IncludeManagementTools -ErrorAction Stop
}
catch [Exception]
{
Write-Error $_
}
}
サンプルコード (IISインストール)
Configuration Sample
{
Node localhost
{
WindowsFeature IIS
{
Name = “Web-Server”
Ensure = “Present”
}
}
}
Sample –Output .
Start-DscConfiguration .Sample –Wait -Verbose
サンプルコード (IISインストール)
Configuration Sample
{
Node localhost
{
WindowsFeature IIS
{
Name = “Web-Server”
Ensure = “Present”
}
}
}
Sample –Output .Sample
Start-DscConfiguration .Sample –Wait -Verbose
Configurationブロック
Nodeブロック
Resouceブロック
標準提供されているリソース
? Archie Resource
? Environment Resource
? File Resource
? Group Resource
? Log Resource
? Package Resource
? Registry Resource
? Service Resource
? User Resource
? WindowsFeature Resource
? WindowsProcess Resource
(https://msdn.microsoft.com/ja-jp/powershell/dsc/windowsprocessresource )
Custom Resource
? 自分でリソースを作ることも可能
? Microsoft PowerShellチームから追加リソースも公開されてる
http://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-Kit-All-c449312d
? PowerShellコミュニティも独自に開発して公開している
https://github.com/PowerShellOrg/DSC
DSCのシステム構成
Push
Pull
Server
Client
デモ
まとめ
? PowerShell DSCって構成管理ツールがあるよ
? Windows8.1以降標準搭載されてるよ
(参考資料:
PowerShell DSCで始めるWindowsインフラストラクチャ自動化の基本
http://www.atmarkit.co.jp/fwin2k/operation/indexpage/index.html#powershelldsc
)

More Related Content

PowerShell DSC 入門