2014. 1. 16. 16:28
Windows Azure Pack에서 Orchestrator Runbook 실행 SystemCenter2014. 1. 16. 16:28
Windows Azure Pack, 전체 이름은 Windows Azure Pack for Windows Server, 짧게는 WAP
WAP에서는 자동화라는 기능을 제공합니다. 이는 PowerShell 명령을 통해 WAP에 관련된 여러가지 일들을 처리할 수 있도록 해 주는 기능으로 Orchestrator의 Runbook과는 별개로 동작합니다.
하지만, 대부분 이미 Orchestrator에 익숙해져 있고, GUI를 통해 Runbook을 제작하고 사용하는 것이 운영 관점에서 수월할 수 있으므로, WAP의 자동화 기능을 통해, 즉, PowerShell을 통해 Orchestrator의 Runbook을 실행하는 방법을 설명합니다.
먼저, WAP 관리자 포탈에 로그인 한 후 자동화 메뉴로 이동합니다.
상단 메뉴에서 자산으로 이동한 후 아래의 설정 추가 메뉴를 차례로 클릭합니다.
자격 증명 추가를 클릭한 후 Orchestrator의 실행 권한을 가지는 계정 정보를 입력합니다.
자격 증명 추가를 완료한 후 아래의 새로 만들기를 클릭해 Runbook -> 빠른 생성을 차례로 클릭해 Runbook의 이름과 설명, 태그 등을 입력합니다. (주의: Runbook의 이름은 이후 변경할 수 없습니다.)
자동화 -> 해당 Runbook -> 작성자 -> 초안을 차례로 클릭해 Runbook 작성 메뉴로 이동합니다.
아래는 테스트에 사용한 Runbook 샘플입니다.
workflow Invoke-OrchRunbook-CreateEvent
{
$SCOserverName = "Orchesrator 서버 이름"
$PSCredName = "이전 과정에서 생성한 자격 증명 이름"
$PSUserCred = Get-AutomationPSCredential -name $PSCredName
$RunbookPath = "Runbook의 위치 및 이름"
# Runbook의 위치는 최상위에 있는 경우 '\<Runbook 이름>'의 형태로 입력하면 되며,
# 폴더 하위에 위치하는 경우에는 '\<폴더 이름>\<Runbook 이름>의 형태로 입력합니다.'
$URL = Get-OrchestratorServiceUrl -server $SCOserverName
$Param1 = "매개 변수 1"
$Param1GUID = ""
$Param2 = "매개 변수 2"
$Param2GUID = ""
$Runbook = Get-OrchestratorRunbook -serviceurl $URL -runbookpath $RunbookPath -credentials $PSUserCred
Foreach ($Param in $Runbook.Parameters)
{
If ($Param.Name -eq $Param1) {$Param1GUID = $Param.Id}
ElseIf ($Param.Name -eq $Param2) {$Param2GUID = $Param.Id}
}
[Hashtable] $Params = @{
$Param1GUID = "매개 변수 1 값";
$Param2GUID = "매개 변수 2 값";
}
$Job = Start-OrchestratorRunbook -runbook $Runbook -parameters $Params -credentials $PSUserCred
$Job
}