Windows OS�̐ݒ��\����ύX����ꍇ�AGUI�̊Ǘ��c�[�����g���̂���ʓI�ł���B�����䐔������������A�\���ύX��ȑO�̍\���ւ̕����Ȃǂ��p�ɂ������肷���GUI�ł͔��ɖʓ|�����A�ԈႢ�����₷���Ȃ�B����ȏꍇ��PowerShell DSC���g���ăC���t���\�z��Ƃ�����������Ƃ悢�B
�@�W����GUI�Ǘ��c�[��������Ă���Windows Server�ł́A���܂��܂Ȑݒ�E�\�z��Ƃ�GUI��ʂ��Ď�y�Ɏ��s�ł���B���̔��ʁA�蓮��Ƃ��K�v�Ȃ��߁A�ݒ�E�\�z�Ɏ��Ԃ�����������ݒ�����ɖ߂��̂Ɏ�Ԃ��|��������A����ɂ͕����̃T�[�o�[��̍\���ɂ��낦��̂ɋ�J�����肵�������B
�@���̂悤�ȃT�[�o�[�̍\���Ǘ���C���t���X�g���N�`���\�z�������悭���Ȃ��ׂ��A���܂��܂ȃ\�t�g�E�F�A�c�[��������Ă����B�������A����܂�Windows Server�̐��E�ł́A�L����������g���������������A�Ƃ��������R����A���������c�[�����L�����p����Ă���Ƃ͂����Ȃ��̂����B
�@����Ȓ��AWindows Server 2012 R2�Ɠ������Ƀ����[�X���ꂽ�uPowerShell Desired State Configuration�iDSC�j�v���\���Ǘ��̎������c�[���Ƃ��Ē��ڂ��W�߂Ă���B�ڍׂ͌�قǐ������邪�AWindows OS�̕W���c�[���ɂȂ�Ɩڂ���Ă��邱�ƁA�����āiWindows OS�̃��C�Z���X������j�����ŗ��p�ł��邱�Ƃ��A���̗��R�Ƃ��ċ������邾�낤�B
�@�{�e�ł�Windows Server�̊Ǘ��҂�ΏۂɁA����PowerShell DSC��Windows�C���t���̍\���Ǘ�������������Ƃ����O��ŁA���̊�{�I�ȊT�O������A�Z�b�g�A�b�v���@�A�����Ċ�{�I�Ȏg�����܂ʼn������B����̑O�҂ł͊T�v�ƃZ�b�g�A�b�v�ɂ��Đ������A��҂ł͎��ۂ�PowerShell DSC�̗��p����Љ��B�܂�Linux�̐��E�Œ����ȍ\���Ǘ��c�[���uChef�v�uPuppet�v��PowerShell DSC�Ƃ̊W���r�ɂ��Ă��ȒP�ɐG���B
�@DSC�́A�����z�X�g�A���z�}�V���A�I���v���~�X�A�N���E�h�Ƃ��������܂��܂ȋK�͂�Windows�C���t�����ɂ����āAWindows�T�[�o�[���g���u����ׂ���ԁiDesired State�j�ɍ\���iConfiguration�j�����v���߂̎������v���b�g�t�H�[�����B
�@DSC���g�����ƂŁA�Ⴆ��Windows�̃��[�J�����[�U�[��O���[�v�̍쐬��v���Z�X�^�T�[�r�X�̑���A���ϐ��^���W�X�g���^�t�@�C���̑����p�b�P�[�W�̃C���X�g�[���ȂǁA����ɂ킽��\����DSC�̃R�[�h�ŊǗ��\�ƂȂ�BDSC�ɂ́APowerShell�ŋL�q���ꂽ�uResource�i���\�[�X�j�v�ƌĂ��@�\���g������d�g�݂��p�ӂ���Ă���A�ړI�ɉ�����Resource�����邱�ƂŊȒP�ɍ\���Ώۂ�lj��ł���B���[�I�ɂ����ƁAResource��DSC�̑�����`�������̂Ƃ�����B�W���ł�12��Resource���p�ӂ���Ă���B
���O | �T�v |
---|---|
Archive Resource | �w�肵���p�X�Ɉ��k�i.zip�j�t�@�C���̉𓀂��s�� |
Environment Resource | ���ϐ����Ǘ����� |
File Resource | �t�@�C����f�B���N�g�����Ǘ����� |
Group Resource | ���[�J���O���[�v���Ǘ����� |
Log Resource | �R���t�B�O���[�V�������b�Z�[�W�̃��O |
Package Resource | Windows�C���X�g�[���[��Setup.exe�Ȃǂ̃p�b�P�[�W���C���X�g�[��������A�Ǘ������肷�� |
Process Resource | Windows�v���Z�X���Ǘ����� |
Registry Resource | ���W�X�g���L�[��l���Ǘ����� |
Role Resource | Windows�̋@�\�Ɩ������Ǘ����� |
Script Resource | Windows PowerShell�X�N���v�g�u���b�N�����s���� |
Service Resource | �T�[�r�X���Ǘ����� |
User Resource | ���[�J�����[�U�[���Ǘ����� |
PowerShell DSC�̕W��Resource |
�@�W��Resource�ȊO�ɂ��AMicrosoft PowerShell�`�[������DSC�̃����[�X��A3��ɂ킽���Ēlj���Resource�����J����Ă��邵�A����PowerShell�R�~���j�e�B���Ǝ���Resource���J���A���J���Ă���B�������K�v������Ύ�����\���B
�@DSC�̖ړI�́A�Ǘ��҂����N���Ƃő��삷�邱�Ƃɂ���āA�T�[�o�[�̐ݒ肪�قȂ��ԁiConfiguration Drift�j�ɂȂ邱�Ƃ�h���A�T�[�o�[�\�����R�[�h�ɂ��邱�ƂŎ��������������邱�Ƃł���B
�@������DSC�ɋ��߂���d�v�ȗv�f�Ƃ��āA����3����������B
�@�ȉ��A���ԂɌ��Ă������B
�@DSC�ł̓C���t���ݒ���ǂ̂悤�ɍ\�z�A�ێ�����ׂ�����PowerShell�ŋL�q���āA�\�[�X�R�[�h�Ɠ��l�Ɉ�����B���̂悤�ȊT�O���uInfrastructure as Code�v�Ƃ����B�菇�����������������N�����Ď���Ƃ�l�̎��ƂɔC����̂ł͂Ȃ��APowerShell�ŃC���t���\�����`���Ă����A���s��Ƃ�DSC�ɔC���Ď������ł���B���Z�ȃC���t���G���W�j�A�ɂƂ��Ă͔��ɖ��͓I���낤�B
�@�C���t�������R�[�h�Ǘ��ł���Ƃ������Ƃ́A�ύX���e���A�v���P�[�V�����Ɠ��l��Git�Ȃǂ̃o�[�W�����Ǘ��V�X�e���ŕێ��ł��邱�Ƃ��Ӗ�����B�C���t�������o�[�W�����Ǘ��ł���Ȃ�A�ȑO�̃T�[�o�[�̏�Ԃ֖߂����Ƃ��ȒP�ɂł���悤�ɂȂ�B�A�v���P�[�V�����Ɠ������x�ŃC���t�����̕ύX�����[���A�E�g�ł��邽�߁A�{�Ԋ��ւ̓K�p���Ԃ�Z�k���A���̑��̖��p�Ȏ��Ԃ��팸���āA�ύX�ɋ����C���t��������ɂ��邱�Ƃ��ł���B���̈Ӌ`�͔��ɑ傫���B�N���E�h���͂��߂Ƃ��āA�p�ɂɃT�[�o�[�\�����ω�������ł́A�܂��Ɍ������Ȃ��B
�@DSC��Resource�ɂ́A����Ώۂ̃C���t���̒�`��PowerShell�̕��@�ŋL�q����Ă���B����Resource���g���āA����ׂ��p�ɃC���t�����\�z�E�ێ����邽�߂̒�`���L�q�����X�N���v�g�t�@�C�����uConfiguration�i�R���t�B�O���[�V�����j�v�ƌĂԁBDSC�ł�Configuration���u�錾�I�\���iDeclarative Syntax�j�v�ŋL�q����B
�@�錾�I�\���������炷���ʂ��l���Ă݂悤�B�Ⴆ�Ώ]���̃o�b�`�t�@�C����PowerShell�X�N���v�g�Ŏ��������悤�Ƃ���ƁA�u�ǂ̂悤�ɍ\�����邩�v���菇���ƂɋL�q���邱�ƂɂȂ�A�ώG�ȏ�������╪�����Ȃ��Ă��܂��B�����錾�I�\����p����Configuration�ł́u�������������v�������L�q����悢�̂ŁA�V���v���ŕ�����₷���Ȃ邱�Ƃ����҂ł���B
�@��Ƃ��āA�uIIS�̃C���X�g�[�����s���v���l���Ă݂悤�B
�@PowerShell�ɂ��]���̃R�[�h�T���v���͎��̒ʂ肾�B
Import-Module ServerManager
# Web Server�iIIS�j�̋@�\�����C���X�g�[�����ǂ����m�F���Ă���A���C���X�g�[���Ȃ�IIS���C���X�g�[��
If (-not (Get-WindowsFeature "Web-Server").Installed)
{
try
{
Add-WindowsFeature Web-Server -IncludeManagementTools -ErrorAction Stop
}
catch [Exception]
{
Write-Error $_
}
}
�@������ADSC�œ������ꂽConfiguration�L�[���[�h���g���Đ錾�I�\���ŋL�q����Ǝ��̂悤�ɂȂ�B
Configuration IISInstall
{
Node localhost
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
IncludeAllSubFeature = $true
}
}
}
�@���������낤���B�ulocalhost�ɁAWindowsFeature�iWindows�̋@�\�j��Web-Server�iIIS�j��Present�i���݁j���Ă��Ăق����v�Ƃ����L�q�ɂȂ��Ă���B�錾�I�L�q�̕����ǂ݂₷���Ȃ����Ɗ����Ă���������̂ł͂Ȃ����낤���B
�@����1��������Ă������B�ȉ��́AIIS�ȊO�ɂ��AASP.NET�̃C���X�g�[������Web�T�C�g�̐ݒ�܂ōs���Ⴞ�B
Configuration WebSiteConfigInstall
{
Import-DscResource -ModuleName cWebAdministration
Node WebServer01
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
IncludeAllSubFeature = $true
}
WindowsFeature ASP
{
Ensure = "Present"
Name = "Web-Asp-Net45"
}
File DirectoryWebSite
{
Ensure = "Present"
DestinationPath = "C:\inetpub\DSCServer"
Type = "Directory"
DependsOn = "[WindowsFeature]IIS"
}
cWebAppPool WebAppPool
{
Ensure = "Present"
Name = "DSCServer"
State = "Started"
}
cWebSite WebSiteDSCServer
{
Ensure = "Present"
Name = "DSCServer"
State = "Started"
BindingInfo = SAMPLE_cWebBindingInformation
{
Protocol = "HTTP"
Port = 80
HostName = "DSCServer"
}
PhysicalPath = "C:\inetpub\DSCServer"
DependsOn = "[WindowsFeature]IIS"
ApplicationPool = "DSCServer"
}
}
}
�@��قǂ̗�Ɣ�ׂ�ƁAWeb�T�C�g���쐬���邽�߂̋L�q���lj�����Ă���B�t�H���_�[�̑��݂�Web�T�C�g�̐ݒ��錾����ۂɂ��AWindows�̋@�\��ݒ肷��ۂƂقڕς��Ȃ��錾�\���ɂȂ��Ă��邱�Ƃ�������B
�@3�ڂ̑厖�ȗv�f�Ƃ��āADSC�́u�p�����i�ׂ������j�v��S�ۂ���B�p�����Ƃ́A�u1�x�s���Ă�������s���Ă��A�������ʂɂȂ��v�Ƃ����T�O���B��̃R�[�h�͉��x���s���Ă�IIS���C���X�g�[�����ꂽ��ԂɎ�������B���s���邽�тɃC���X�g�[�����J��Ԃ���邱�Ƃ͂Ȃ����A���łɃC���X�g�[�����Ă��邩��Ƃ����ăG���[�ɂȂ邱�Ƃ��Ȃ��B�����I�ȍ\���̓K�p���\�ɂȂ������A�{���Ɂu����ׂ��iDesired State�j�\���iConfiguration�j�v�ɂȂ������ǂ������m�F���邱�Ƃ͔ς킵�����A�p�������S�ۂ���Ă���Ύ������ł��邾�낤�B
�@�������A������DSC�̓���͙p�������ۏ���Ă��邪�AResource��Configuration�̏������ɂ���Ă͒S�ۂ���Ȃ����Ƃ�����BResource�����삷�鎞�́A�p�������ۏ����悤�Ɏ����Ńv���O�����R�[�h����荞�ޕK�v������B
�@���́ADSC���C���t���ɓK�p�����ۂ̃V�X�e���\�������Ă݂悤�B��{�I�ɂ́ADSC���Ǘ����邽�߂̃}�V���iDSC�T�[�o�[�j�ƁAResource��K�p����ΏۂƂȂ�N���C�A���g�}�V���i�m�[�h�j����Ȃ�B
�@DSC�ɂ́A�ǂ̂悤��Resource��K�p���邩�ɂ����2��ނ̌`��������B
�@1���u�v�b�V���^�v���B���̕��@�ł́ADSC�T�[�o�[���e�m�[�h�ɑ��Ė₢���킹�ăm�[�h���\�z���Ă����B���ݒ��K�p���邩�哱���������Ă���̂�DSC�T�[�o�[���ł���B
�@����1�̍\�����u�v���^�v���B���̕��@�ł́A�e�m�[�h��DSC�T�[�o�[�ɖ₢���킹�邱�ƂŃm�[�h���g���\�z���Ă����B���ݒ��K�p���邩�哱���������Ă���̂͊e�m�[�h�ł���A�m�[�h��DSC�T�[�o�[�ɑ��āu����ׂ��\���v���ω����ĂȂ����ǂ��������I�Ɋm�F����B
�@�v�b�V���^�̓v���^�ɔ�ׂāuIIS�v��uOData EndPoint�v�̍\�z���s�v�ŁA�C�ӂ̃^�C�~���O��Configuration��z�z�\�Ȃ̂ŁA��������DSC�������ɂ͂����Ă����B�����DSC�T�[�o�[�̓m�[�h�����ݑa�ʉ\���ǂ�����Ԃ�m���Ă����Ȃ��Ɓu����ׂ��\���v��K�p�ł��邩������Ȃ��B
�@����ŁA�v���^�̓v�b�V���^�ɔ�ׂč\�z�ɏ������K�v���B�������m�[�h�͐ݒ肳�ꂽ�^�X�N�X�P�W���[���Ɋ�Â��Ē���I�Ɂu����ׂ��\���v��DSC�ɖ₢���킹�邽�߁ADSC�T�[�o�[�̓m�[�h�̏�Ԃ��C�ɂ���K�v���Ȃ��A�m�[�h�Ԃ̘A�g���Ƃ�₷���B
�@���āAWindows�ɂ�����DSC���T�[�o�[�\���Ǘ��̗B��̎�i���H �Ƃ����Ƃ����ł͂Ȃ��B�Ⴆ��Linux�V�X�e���ł悭�m���Ă���uChef�v��uPuppet�v�Ƃ����\���Ǘ��c�[���́A���͈ȑO����Windows�V�X�e���ɂ��K�p�\�������B
�@2014�N4��2�`3���ɊJ�Â��ꂽMicrosoft�̊J���Ҍ����J���t�@�����X�uBuild2014�v�ŁAMicrosoft Azure�̉��z�}�V�����W����Chef��Puppet�ɑΉ��������Ƃ����\���ꂽ�B���\�ł́AChef�́uChef Client�v�ɂ�����PowerShell���l�C�e�B�u�ŃT�|�[�g���A�����ł�DSC�����p���Ă���B��莩�R��Windows�ł�Chef�����p�ł���悤�ɂ��Ă���̂��B
�@�ł�DSC��Chef��Puppet�ł͉����Ⴄ�̂��B�ő�̈Ⴂ�́AChef�ɂ�����Ruby�Ȃǂ̒lj��A�v���P�[�V�����̃C���X�g�[����DSC�ł͕s�v�ł��邱�Ƃ��B����́ADSC��Resource���g���āA�ǂ̂悤�ɃC���t�����\���A���s���邩��Windows�ɕW�����ڂ��ꂽPowerShell�ŋL�q�\�����炾�B���l�ɁA�m�[�h�ɂ��G�[�W�F���g�\�t�g�E�F�A���C���X�g�[������K�v���Ȃ��B���ɂ���ẮA�C���X�g�[������\�t�g�E�F�A�ɐ���������ꍇ�����邾�낤�B���̏ꍇ�AChef�ł�Ruby���K�v�Ȃ̂ɑ��āA�lj��A�v���P�[�V���������邱�ƂȂ�PowerShell�̂悤��Windows�W���R���|�[�l���g�����ŗ��p�\��DSC�ɂ��\���Ǘ��͗L�p���낤�B
�@����A���ʂ��Ă���_������BDSC��Chef�Ɣ�ׂĂ݂��B
�@��ق�Chef��������DSC�𗘗p���Ă���ƐG�ꂽ�ʂ�APowerShell�ȊO�̌���A�c�[���ł�DSC�͑���\���B�����DSC���A�uDMTF�v�Ƃ����W���d�l�ɉ����āA�uManaged Object Format�iMOF�j�v��uWS-Management�v�ō\������Ă��邩��ł���A���ۂ̃T�[�o�[�ݒ�ɗp����̂�MOF�t�@�C��������ł���i����̃v���O���~���O����ɂ͈ˑ����Ă��Ȃ��j�B
�@�������AMOF�ڃ������iNotePad.exe�j�ŏ������Ƃ��\���B�����APowerShell 4.0�ł�Configuration�L�[���[�h��C���e���Z���X���͂��߂Ƃ��āu�L�q������s�܂Łv�T�|�[�g����Ă���A���ȒP��MOF�t�@�C�����쐬�ł���B���̂��ߖ{�L���ɂ����ẮAPowerShell���g����DSC �ɂ��Ă̂ݐG���B
Copyright© Digital Advantage Corp. All Rights Reserved.