내 첫 번째 그래픽 RunbookMy first graphical runbook

이 자습서는 Azure Automation에서 그래픽 Runbook을 만드는 과정을 안내합니다.This tutorial walks you through the creation of a graphical runbook in Azure Automation. Runbook 작업의 상태를 추적하는 방법을 설명하면서 테스트하고 게시하는 간단한 Runbook으로 시작하겠습니다.We start with a simple runbook that tests and publishes while we explain how to track the status of the runbook job. 그런 다음 실제로 Azure 리소스를 관리하도록 Runbook을 수정합니다. 이 경우에 Azure 가상 컴퓨터를 시작합니다.Then we modify the runbook to actually manage Azure resources, in this case starting an Azure virtual machine. 그리고 runbook 매개 변수와 조건부 링크를 추가하여 Runbook을 더욱 강력하게 만듦으로써 자습서를 완료합니다.Then we complete the tutorial by making the runbook more robust by adding runbook parameters and conditional links.

필수 조건Prerequisites

이 자습서를 완료하려면 다음이 필요합니다.To complete this tutorial, you need the following:

  • 동작합니다.Azure subscription. 구독이 아직 없는 경우 MSDN 구독자 혜택을 활성화하거나 무료 계정을 등록할 수 있습니다.If you don't have one yet, you can activate your MSDN subscriber benefits or sign up for a free account.
  • 자동화 계정 .Automation account to hold the runbook and authenticate to Azure resources. 이 계정은 가상 컴퓨터를 시작하고 중지할 수 있는 권한이 있어야 합니다.This account must have permission to start and stop the virtual machine.
  • Azure 가상 컴퓨터.An Azure virtual machine. 프로덕션 VM이 되지 않도록 이 가상 컴퓨터를 중지하고 시작합니다.We stop and start this machine so it should not be a production VM.

1단계 - Runbook 만들기Step 1 - Create runbook

먼저 헬로 월드라는 텍스트를 출력하는 간단한 Runbook을 만듭니다.We start by creating a simple runbook that outputs the text Hello World.

  1. Azure 포털에서 자동화 계정을 엽니다.In the Azure portal, open your Automation account.
    자동화 계정 페이지는 이 계정의 리소스 간략히 보기를 제공합니다.The Automation account page gives you a quick view of the resources in this account. 사용자는 일부 자산이 이미 있어야 합니다.You should already have some Assets. 대부분의 자산들은 새 자동화 계정에 자동적으로 포함되 있는 모듈입니다.Most of those are the modules that are automatically included in a new Automation account. 또한 사용자는 필수 구성 요소에서 언급된 자격 증명 자산이 있어야 합니다.You should also have the Credential asset that's mentioned in the prerequisites.
  2. Runbook 타일을 클릭하여 Runbook 목록을 엽니다.Click the Runbooks tile to open the list of runbooks.
    Runbook 컨트롤Runbooks control
  3. runbook 추가버튼을 클릭하고 새 runbook 만들기를 클릭하여 새 runbook을 만듭니다.Create a new runbook by clicking on the Add a runbook button and then Create a new runbook.
  4. Runbook 이름을 MyFirstRunbook-Graphical로 지정합니다.Give the runbook the name MyFirstRunbook-Graphical.
  5. 이 경우 Runbook 형식으로 그래픽을 선택하여 그래픽 Runbook을 만듭니다.In this case, we're going to create a graphical runbook so select Graphical for Runbook type.
    새 runbookNew runbook
  6. 만들기 를 클릭하여 Runbook을 만들고 그래픽 편집기를 엽니다.Click Create to create the runbook and open the graphical editor.

2 단계 - runbook에 활동을 추가 합니다.Step 2 - Add activities to the runbook

편집기의 왼쪽에 있는 라이브러리 컨트롤은 사용자의 runbook에 추가할 활동을 선택할 수 있게 해줍니다.The Library control on the left side of the editor allows you to select activities to add to your runbook. Write-Output cmdlet을 추가하여 runbook의 텍스트를 출력합니다.We're going to add a Write-Output cmdlet to output text from the runbook.

  1. 라이브러리 컨트롤에서 검색 텍스트 상자를 클릭하고 Write-Output을 입력합니다.In the Library control, click in the search textbox and type Write-Output. 검색 결과가 아래에 표시됩니다.The search results will be displayed below.
    Microsoft.PowerShell.UtilityMicrosoft.PowerShell.Utility
  2. 목록의 아래로 스크롤하십시오.Scroll down to the bottom of the list. Write-Output을 마우스 오른쪽 단추로 클릭하고 캔버스에 추가를 선택하거나, cmdlet 옆의 줄임표를 클릭한 다음 캔버스에 추가를 선택합니다.You can either right-click Write-Output and select Add to canvas or click the ellipse next to the cmdlet and then select Add to canvas.
  3. 캔버스에서 Write-Output 활동을 클릭합니다.Click the Write-Output activity on the canvas. 그러면 구성 제어 블레이드가 열리며, 여기서 활동을 구성할 수 있습니다.This opens the Configuration control blade, which allows you to configure the activity.
  4. 레이블 은 기본적으로 cmdlet의 이름이지만 보다 친숙하게 바꿀 수 있습니다.The Label defaults to the name of the cmdlet, but we can change it to something more friendly. Hello World 출력을 위해 쓰기로 바꿉니다.Change it to Write Hello World to output.
  5. 매개 변수를 클릭하여 cmdlet 매개 변수의 값을 제공합니다.Click Parameters to provide values for the cmdlet's parameters.
    일부 cmdlet에는 여러 매개 변수 집합이 있으며, 사용할 매개 변수 집합을 선택해야 합니다.Some cmdlets have multiple parameter sets, and you need to select which you one to use. 이 경우 Write-Output에는 매개 변수 집합이 하나만 있으므로 선택하지 않아도 됩니다.In this case, Write-Output has only one parameter set, so you don't need to select one.
    쓰기 출력 속성Write-Output properties
  6. InputObject 매개 변수를 선택합니다.Select the InputObject parameter. 이는 출력 스트림으로 보낼 텍스트를 지정하는 매개 변수입니다.This is the parameter where we specify the text to send to the output stream.
  7. 데이터 원본 드롭다운에서 PowerShell 식을 선택합니다.In the Data source dropdown, select PowerShell expression. 데이터 원본 드롭다운은 매개 변수 값을 채우는 데 사용하는 다른 소스들을 제공합니다.The Data source dropdown provides different sources that you use to populate a parameter value.
    다른 활동, 자동화 자산, 혹은 Power Shell식 같은 특정 소스들로부터 출력을 사용할 수 있습니다.You can use output from such sources such as another activity, an Automation asset, or a PowerShell expression. 여기서는 Hello World텍스트만 출력하려고 합니다.In this case, we just want to output the text Hello World. PowerShell 식을 사용하고 문자열을 지정할 수 있습니다.We can use a PowerShell expression and specify a string.
  8. 상자에 "Hello World"를 입력한 후 확인을 두 번 클릭하여 캔버스로 돌아갑니다.In the Expression box, type "Hello World" and then click OK twice to return to the canvas.
    PowerShell ExpressionPowerShell Expression
  9. 저장을 클릭하여 Runbook을 저장합니다.Save the runbook by clicking Save.
    Runbook을 저장 합니다.Save runbook

3 단계 - runbook 테스트Step 3 - Test the runbook

프로덕션 환경에서 사용할 수 있도록 runbook을 게시하기 전에 제대로 작동하는지 확인할 수 있게 테스트합니다.Before we publish the runbook to make it available in production, we want to test it to make sure that it works properly. Runbook을 테스트할 때 초안 버전을 실행하고 해당 출력을 대화형으로 봅니다.When you test a runbook, you run its Draft version and view its output interactively.

  1. 테스트 창을 클릭하여 테스트 블레이드를 엽니다.Click Test pane to open the Test blade.
    테스트 창Test pane
  2. 시작 을 클릭하여 테스트를 시작합니다.Click Start to start the test. 유일하게 사용 가능한 옵션이어야 합니다.This should be the only enabled option.
  3. 이 창에서 Runbook 작업 이 생성되고 해당 상태가 표시됩니다.A runbook job is created and its status displayed in the pane.
    작업 상태는 클라우드에서 runbook worker를 사용할 수 있을 때까지 기다리고 있음을 나타내는 대기로 시작됩니다.The job status starts as Queued indicating that it is waiting for a runbook worker in the cloud to become available. 작업자가 작업을 요구한 경우 시작 중으로 바뀐 다음 Runbook이 실제로 실행되기 시작하면 실행 중으로 바뀝니다.It then moves to Starting when a worker claims the job, and then Running when the runbook actually starts running.
  4. Runbook 작업이 완료되면 해당 출력이 표시됩니다.When the runbook job completes, its output is displayed. 여기서는 Hello World할 수 있습니다.In our case, we should see Hello World.
    Hello WorldHello World
  5. 캔버스로 돌아가려면 테스트 블레이드를 닫습니다.Close the Test blade to return to the canvas.

4 단계 - runbook 게시 및 시작Step 4 - Publish and start the runbook

방금 만든 Runbook은 아직 초안 모드입니다.The runbook that we created is still in Draft mode. 프로덕션 환경에서 실행하기 전에 게시해야 합니다.We need to publish it before we can run it in production. Runbook을 게시하면 초안 버전으로 기존의 게시된 버전을 덮어씁니다.When you publish a runbook, you overwrite the existing Published version with the Draft version. 사용자의 경우, 방금전에 runbook을 만들었기 때문에 게시 버전이 아직 없습니다.In our case, we don't have a Published version yet because we just created the runbook.

  1. 게시를 클릭하여 Runbook을 게시한 다음 확인 메시지가 표시되면 를 클릭합니다.Click Publish to publish the runbook and then Yes when prompted.
    게시Publish
  2. Runbooks 블레이드에서 Runbook을 보기 위해 왼쪽으로 스크롤하면 작성 상태게시됨으로 표시됩니다.If you scroll left to view the runbook in the Runbooks blade, it shows an Authoring Status of Published.
  3. 오른쪽으로 다시 스크롤하면 MyFirstRunbook블레이드가 표시됩니다.Scroll back to the right to view the blade for MyFirstRunbook.
    위쪽에 표시되는 옵션을 사용하여 Runbook을 시작하거나, 미래의 특정 시간에 시작하도록 예약하거나, webhook 을 생성하여 HTTP 호출을 통해 시작할 수 있습니다.The options across the top allow us to start the runbook, schedule it to start at some time in the future, or create a webhook so it can be started through an HTTP call.
  4. 여기서는 Runbook을 시작하기만 하면 되므로 시작을 클릭하고 확인 메시지가 표시되면 를 클릭합니다.We just want to start the runbook so click Start and then Yes when prompted.
    Runbook 시작Start runbook
  5. 만든 Runbook 작업에 대한 작업 블레이드가 열립니다.A job blade is opened for the runbook job that we created. 이 블레이드를 닫을 수 있지만 이 경우에는 작업의 진행 상황을 보기 위해 열어둡니다.We can close this blade, but in this case we leave it open so we can watch the job's progress.
  6. Runbook을 테스트할 때의 상태와 같은 작업 상태가 작업 요약 에 표시되며 합니다.The job status is shown in Job Summary and matches the statuses that we saw when we tested the runbook.
    작업 요약Job Summary
  7. Runbook 상태가 완료됨으로 표시되면 출력을 클릭합니다.Once the runbook status shows Completed, click Output. 출력 블레이드가 열리고 창에 Hello World가 표시됩니다.The Output blade is opened, and we can see our Hello World in the pane.
    작업 요약Job Summary
  8. 출력 블레이드를 닫습니다.Close the Output blade.
  9. 모든 로그 를 클릭하여 runbook 작업에 대한 스트림 블레이드를 엽니다.Click All Logs to open the Streams blade for the runbook job. 출력 스트림에 Hello World 만 표시되어야 하지만 Runbook이 자세한 정보 표시, 오류와 같은 Runbook 작업에 대한 다른 스트림에 쓰는 경우 해당 스트림이 표시될 수 있습니다.We should only see Hello World in the output stream, but this can show other streams for a runbook job such as Verbose and Error if the runbook writes to them.
    작업 요약Job Summary
  10. 모든 로그 블레이드와 작업 블레이드를 닫고 MyFirstRunbook 블레이드로 돌아갑니다.Close the All Logs blade and the Job blade to return to the MyFirstRunbook blade.
  11. 작업 을 클릭하여 이 runbook에 대한 작업 블레이드를 엽니다.Click Jobs to open the Jobs blade for this runbook. 이 Runbook으로 만든 모든 작업이 나열됩니다.This lists all the jobs created by this runbook. 작업을 한 번만 실행했으므로 하나의 작업만 표시됩니다.We should only see one job listed since we only ran the job once.
    작업Jobs
  12. Runbook을 시작했을 때 표시된 동일한 작업창을 열려면 이 작업을 클릭하면 됩니다.You can click this job to open the same Job pane that we viewed when we started the runbook. 이 기능을 사용하면 예전으로 돌아가 특정 runbook으로 생성된 모든 작업의 세부 정보를 볼 수 있습니다.This allows you to go back in time and view the details of any job that was created for a particular runbook.

5 단계 - 변수 자산 만들기Step 5 - Create variable assets

지금까지 runbook을 테스트 하고 게시했지만, 딱히 유용하지는 않습니다.We've tested and published our runbook, but so far it doesn't do anything useful. Azure 리소스를 관리하고자 합니다.We want to have it manage Azure resources. Runbook을 인증하도록 구성하기 전에 구독 ID를 보유할 변수를 만들고, 아래 6단계에서 인증할 활동을 설정한 후에 이 구독 ID를 참조합니다.Before we configure the runbook to authenticate, we create a variable to hold the subscription ID and reference it after we set up the activity to authenticate in step 6 below. 구독 컨텍스트에 대한 참조를 포함하면 여러 구독 간에서 쉽게 작업할 수 있습니다.Including a reference to the subscription context allows you to easily work between multiple subscriptions. 계속하기 전에 [탐색] 창에서 [구독] 옵션의 구독 ID를 복사합니다.Before proceeding, copy your subscription ID from the Subscriptions option off the Navigation pane.

  1. [Automation 계정] 블레이드에서 자산 타일을 클릭하여 자산 블레이드를 엽니다.In the Automation Accounts blade, click the Assets tile and the Assets blade is opened.
  2. [자산] 블레이드에서 변수 타일을 클릭합니다.In the Assets blade, click the Variables tile.
  3. 변수 블레이드에서 변수 추가를 클릭합니다.On the Variables blade, click Add a variable.
    자동화 변수Automation Variable
  4. 새로운 변수 블레이드의 이름 상자에 AzureSubscriptionId를 입력하고 상자에 사용자의 구독 ID를 입력합니다.In the New variable blade, in the Name box, enter AzureSubscriptionId and in the Value box enter your Subscription ID. 형식에 대한 문자열암호화에 대한 기본 값을 유지합니다.Keep string for the Type and the default value for Encryption.
  5. 만들기 를 클릭하여 변수를 만듭니다.Click Create to create the variable.

6 단계 - Azure 리소스를 관리하는 인증 추가Step 6 - Add authentication to manage Azure resources

이제 구독 ID를 보유한 변수가 있으므로 필수 조건에 나온 실행 자격 증명을 사용하여 인증하도록 runbook을 구성할 수 있습니다.Now that we have a variable to hold our subscription ID, we can configure our runbook to authenticate with the Run As credentials that are referred to in the prerequisites. Azure 실행 연결 자산Add-AzureRMAccount cmdlet을 캔버스에 추가하여 수행합니다.We do that by adding the Azure Run As connection Asset and Add-AzureRMAccount cmdlet to the canvas.

  1. MyFirstRunbook 블레이드에서 편집을 클릭하여 그래픽 편집기를 엽니다.Open the graphical editor by clicking Edit on the MyFirstRunbook blade.
    Runbook 편집Edit runbook
  2. 출력에 헬로 월드 작성은 더 이상 필요하지 않으므로 마우스 오른쪽 단추를 클릭하고 삭제를 선택합니다.We don't need the Write Hello World to output anymore, so right-click it and select Delete.
  3. 라이브러리 컨트롤에서 연결을 확장하고 캔버스에 추가를 선택하여 AzureRunAsConnection을 캔버스에 추가합니다.In the Library control, expand Connections and add AzureRunAsConnection to the canvas by selecting Add to canvas.
  4. 캔버스에서 AzureRunAsConnection을 선택하고 구성 제어판의 레이블 텍스트 상자에 실행 연결 가져오기를 입력합니다.On the canvas, select AzureRunAsConnection and in the Configuration control pane, type Get Run As Connection in the Label textbox. 연결입니다.This is the connection
  5. 라이브러리 컨트롤에서 검색 텍스트 상자에 Add-AzureRmAccount 을 입력합니다.In the Library control, type Add-AzureRmAccount in the search textbox.
  6. 캔버스에 캔버스에-AzureRmAccount 를 추가합니다.Add Add-AzureRmAccount to the canvas.
    Add-AzureRMAccountAdd-AzureRMAccount
  7. 도형 아래에 원이 나타날 때까지 실행 연결 가져오기 를 마우스로 가리킵니다.Hover over Get Run As Connection until a circle appears on the bottom of the shape. 원을 클릭하고 화살표를 Add-AzureRmAccount로 끌어 놓습니다.Click the circle and drag the arrow to Add-AzureRmAccount. 만든 화살표는 링크입니다.The arrow that you created is a link. Runbook에서 실행 연결 가져오기를 시작한 다음 Add-AzureRmAccount를 실행합니다.The runbook starts with Get Run As Connection and then run Add-AzureRmAccount.
    활동 간 링크 만들기Create link between activities
  8. 캔버스에서 Add-AzureRmAccount를 선택하고 구성 제어판의 레이블 텍스트 상자에 Azure에 로그인을 입력합니다.On the canvas, select Add-AzureRmAccount and in the Configuration control pane type Login to Azure in the Label textbox.
  9. 매개 변수 를 클릭하면 활동 매개 변수 구성 블레이드가 표시됩니다.Click Parameters and the Activity Parameter Configuration blade appears.
  10. Add-AzureRmAccount 에는 여러 매개 변수 집합이 있으므로 매개 변수 값을 입력하기 전에 하나를 선택해야 합니다.Add-AzureRmAccount has multiple parameter sets, so we need to select one before we can provide parameter values. 매개 변수 집합을 클릭한 다음 ServicePrincipalCertificatewithSubscriptionId 매개 변수 집합을 선택합니다.Click Parameter Set and then select the ServicePrincipalCertificatewithSubscriptionId parameter set.
  11. 매개 변수 집합을 선택하면, Activity Parameter Configuration(활동 매개 변수 구성) 블레이드에 매개 변수가 표시 됩니다.Once you select the parameter set, the parameters are displayed in the Activity Parameter Configuration blade. APPLICATIONID를 클릭합니다.Click APPLICATIONID.
    Azure RM 계정 매개 변수 추가Add Azure RM account parameters
  12. 매개 변수 값 블레이드에서 데이터 원본에 대해 활동 출력을 선택하고 목록에서 실행 연결 가져오기를 선택한 다음 필드 경로 텍스트 상자에 ApplicationId를 입력한 다음 확인을 클릭합니다.In the Parameter Value blade, select Activity output for the Data source and select Get Run As Connection from the list, in the Field path textbox type ApplicationId, and then click OK. 활동에서 여러 속성을 가진 개체를 출력하기 때문에 필드 경로에 대한 속성의 이름을 지정합니다.We are specifying the name of the property for the Field path because the activity outputs an object with multiple properties.
  13. CERTIFICATETHUMBPRINT를 클릭하고 매개 변수 값 블레이드에서 데이터 원본에 대한 활동 출력을 선택합니다.Click CERTIFICATETHUMBPRINT, and in the Parameter Value blade, select Activity output for the Data source. 목록에서 실행 연결 가져오기를 선택하고 필드 경로 텍스트 상자에서 CertificateThumbprint를 입력한 다음 확인을 클릭합니다.Select Get Run As Connection from the list, in the Field path textbox type CertificateThumbprint, and then click OK.
  14. SERVICEPRINCIPAL을 클릭하고 매개 변수 값 블레이드에서 데이터 원본에 대한 ConstantValue를 선택하고 True 옵션을 클릭한 다음 확인을 클릭합니다.Click SERVICEPRINCIPAL, and in the Parameter Value blade, select ConstantValue for the Data source, click the option True, and then click OK.
  15. TENANTID를 클릭하고 매개 변수 값 블레이드에서 데이터 원본에 대한 활동 출력을 선택합니다.Click TENANTID, and in the Parameter Value blade, select Activity output for the Data source. 목록에서 실행 연결 가져오기를 선택하고 필드 경로 텍스트 상자에서 TenantId를 입력한 다음 확인을 두 번 클릭합니다.Select Get Run As Connection from the list, in the Field path textbox type TenantId, and then click OK twice.
  16. 라이브러리 컨트롤에서 검색 텍스트 상자에 Set-AzureRmContext 을 입력합니다.In the Library control, type Set-AzureRmContext in the search textbox.
  17. 캔버스에 Set-AzureRmContext 를 추가합니다.Add Set-AzureRmContext to the canvas.
  18. 캔버스에서 Set-AzureRmContext를 선택하고 구성 제어판의 레이블 텍스트 상자에 구독 ID 지정을 입력합니다.On the canvas, select Set-AzureRmContext and in the Configuration control pane type Specify Subscription Id in the Label textbox.
  19. 매개 변수 를 클릭하면 활동 매개 변수 구성 블레이드가 표시됩니다.Click Parameters and the Activity Parameter Configuration blade appears.
  20. Set-AzureRmContext 에는 여러 매개 변수 집합이 있으므로 매개 변수 값을 입력하기 전에 하나를 선택해야 합니다.Set-AzureRmContext has multiple parameter sets, so we need to select one before we can provide parameter values. 매개 변수 집합을 클릭한 후 SubscriptionId 매개 변수 집합을 선택합니다.Click Parameter Set and then select the SubscriptionId parameter set.
  21. 매개 변수 집합을 선택하면, Activity Parameter Configuration(활동 매개 변수 구성) 블레이드에 매개 변수가 표시 됩니다.Once you select the parameter set, the parameters are displayed in the Activity Parameter Configuration blade. SubscriptionIDClick SubscriptionID
  22. 매개 변수 값 블레이드에서 데이터 원본에 대해 변수 자산을 선택하고 목록에서 AzureSubscriptionId를 선택한 다음 확인을 두 번 클릭합니다.In the Parameter Value blade, select Variable Asset for the Data source and select AzureSubscriptionId from the list and then click OK twice.
  23. 아래에 원 모양이 나타날 때까지 Azure에 로그인 을 마우스로 가리킵니다.Hover over Login to Azure until a circle appears on the bottom of the shape. 원을 클릭하고 화살표를 구독 ID 지정으로 끌어 놓습니다.Click the circle and drag the arrow to Specify Subscription Id.

이 시점에서 runbook이 아래와 같이 표시됩니다.Your runbook should look like the following at this point:
Runbook 인증 구성

7 단계 - 가상 컴퓨터를 시작하는 활동 추가Step 7 - Add activity to start a virtual machine

여기서는 가상 컴퓨터를 시작하기 위한 Start-AzureRmVM 활동을 추가합니다.Here we add a Start-AzureRmVM activity to start a virtual machine. Azure 구독에서 가상 컴퓨터를 선택할 수 있지만, 지금은 cmdlet에 해당 이름을 하드 코드합니다.You can pick any virtual machine in your Azure subscription, and for now you hardcode that name into the cmdlet.

  1. 라이브러리 컨트롤에서 검색 텍스트 상자에 Start-AzureRm 을 입력합니다.In the Library control, type Start-AzureRm in the search textbox.
  2. Start-AzureRmVM을 캔버스에 추가한 다음 클릭하여 구독 ID 지정 아래로 끌어 놓습니다.Add Start-AzureRmVM to the canvas and then click and drag it underneath Specify Subscription Id.
  3. 도형 아래에 원이 나타날 때까지 구독 ID 지정 을 마우스로 가리킵니다.Hover over Specify Subscription Id until a circle appears on the bottom of the shape. 원을 클릭하고 화살표를 Start-AzureRmVM으로 끌어 놓습니다.Click the circle and drag the arrow to Start-AzureRmVM.
  4. Start-AzureRmVM을 선택합니다.Select Start-AzureRmVM. 매개 변수매개 변수 집합을 차례로 클릭하여 Start-AzureRmVM에 대한 집합을 확인합니다.Click Parameters and then Parameter Set to view the sets for Start-AzureRmVM. ResourceGroupNameParameterSetName 매개 변수 집합을 선택합니다.Select the ResourceGroupNameParameterSetName parameter set. ResourceGroupName이름 옆에는 느낌표가 있습니다.Note that ResourceGroupName and Name have exclamation points next them. 이것은 매개 변수가 필요하다는 것을 나타냅니다.This indicates that they are required parameters. 또한, 양 쪽 모두에 문자열 값이 필요합니다.Also note both expect string values.
  5. Name을 선택합니다.Select Name. 데이터 원본에 대해 PowerShell 식을 선택하고, 이 Runbook으로 시작될 가상 컴퓨터의 이름을 큰따옴표로 묶어서 입력합니다.Select PowerShell expression for the Data source and type in the name of the virtual machine surrounded with double quotes that we start with this runbook. 확인을 클릭합니다.Click OK.
    Start-AzureRmVM 이름 매개 변수 값Start-AzureRmVM Name Parameter Value
  6. ResourceGroupName을 선택합니다.Select ResourceGroupName. PowerShell 식 에 대해 데이터 원본 을 사용하고 리소스 그룹의 이름을 큰따옴표 안에 입력합니다.Use PowerShell expression for the Data source and type in the name of the resource group surrounded with double quotes. 확인을 클릭합니다.Click OK.
    Start-AzureRmVM 매개 변수Start-AzureRmVM Parameters
  7. runbook을 테스트할 수 있도록 테스트 창을 클릭합니다.Click Test pane so that we can test the runbook.
  8. 시작 을 클릭하여 테스트를 시작합니다.Click Start to start the test. 완료되면, 가상 컴퓨터가 시작되었다는 것을 확인합니다.Once it completes, check that the virtual machine was started.

이 시점에서 runbook이 아래와 같이 표시됩니다.Your runbook should look like the following at this point:
Runbook 인증 구성

8 단계 - runbook에 입력 매개 변수 추가Step 8 - Add additional input parameters to the runbook

현재 Runbook은 Start-AzureRmVM cmdlet에 지정한 리소스 그룹에서 가상 컴퓨터를 시작합니다.Our runbook currently starts the virtual machine in the resource group that we specified in the Start-AzureRmVM cmdlet. Runbook을 시작할 때 둘 다 지정할 수 있으면 이 Runbook이 더욱 유용할 것입니다.Our runbook would be more useful if we could specify both when the runbook is started. 이제 Runbook에 입력 매개 변수를 추가하여 해당 기능을 제공합니다.We now add input parameters to the runbook to provide that functionality.

  1. MyFirstRunbook 창에서 편집을 클릭하여 그래픽 편집기를 엽니다.Open the graphical editor by clicking Edit on the MyFirstRunbook pane.
  2. 입력 및 출력입력 추가를 차례로 클릭하여 Runbook 입력 매개 변수 창을 엽니다.Click Input and output and then Add input to open the Runbook Input Parameter pane.
    Runbook 입력 및 출력Runbook Input and Output
  3. Name 에 대해 VMName을 지정합니다.Specify VMName for the Name. 형식에 대해 문자열을 유지하고 필수로 변경합니다.Keep string for the Type, but change Mandatory to Yes. 확인을 클릭합니다.Click OK.
  4. ResourceGroupName이라는 두 번째 필수 입력 매개 변수를 만든 다음 확인을 클릭하여 입력 및 출력 창을 닫습니다.Create a second mandatory input parameter called ResourceGroupName and then click OK to close the Input and Output pane.
    Runbook 입력 매개 변수Runbook Input Parameters
  5. Start-AzureRmVM 활동을 선택하고 매개 변수를 클릭합니다.Select the Start-AzureRmVM activity and then click Parameters.
  6. 이름에 대한 데이터 원본Runbook 입력으로 변경한 다음 VMName을 선택합니다.Change the Data source for Name to Runbook input and then select VMName.
  7. ResourceGroupName에 대한 데이터 원본Runbook 입력으로 변경한 다음 ResourceGroupName을 선택합니다.Change the Data source for ResourceGroupName to Runbook input and then select ResourceGroupName.
    Start-azurevm 매개 변수Start-AzureVM Parameters
  8. Runbook을 저장하고 테스트 창을 엽니다.Save the runbook and open the Test pane. 이제 테스트에서 사용하는 두 입력 변수에 대한 값을 제공할 수 있습니다.Note that you can now provide values for the two input variables that you use in the test.
  9. 창을 닫습니다.Close the Test pane.
  10. 게시 를 클릭하여 Runbook의 새 버전을 게시합니다.Click Publish to publish the new version of the runbook.
  11. 이전 단계에서 실행시킨 가상 컴퓨터를 중지합니다.Stop the virtual machine that you started in the previous step.
  12. 시작 을 클릭하여 runbook을 시작합니다.Click Start to start the runbook. 시작하려는 가상 컴퓨터의 VMNameResourceGroupName을 입력합니다.Type in the VMName and ResourceGroupName for the virtual machine that you're going to start.
    Start RunbookStart Runbook
  13. Runbook이 완료되면 가상 컴퓨터가 시작되었다는 것을 확인합니다.When the runbook completes, check that the virtual machine was started.

이제 Runbook을 수정하여 아직 시작하지 않은 경우에만 가상 컴퓨터를 시작하려고 시도합니다.We now modify the runbook so that it only attempts to start the virtual machine if it is not already started. 이렇게 하려면 가상 컴퓨터의 인스턴스 수준 상태를 가져오는 Runbook에 Get-AzureRmVM cmdlet을 추가합니다.You do this by adding a Get-AzureRmVM cmdlet to the runbook that gets the instance level status of the virtual machine. 그런 다음 PowerShell 코드 조각과 함께 Get Status라는 PowerShell 워크플로 코드 모듈을 추가하여 가상 컴퓨터 상태가 실행 중이거나 중지되었는지 확인합니다.Then you add a PowerShell Workflow code module called Get Status with a snippet of PowerShell code to determine if the virtual machine state is running or stopped. 상태 가져오기 모듈의 조건부 링크는 현재 실행 중인 상태가 중지되는 경우에만 Start-AzureRmVM을 실행합니다.A conditional link from the Get Status module only runs Start-AzureRmVM if the current running state is stopped. 마지막으로 VM이 성공적으로 시작되었거나 PowerShell Write-Output cmdlet을 사용하지 않았다고 알려주는 메시지를 출력합니다.Finally, we output a message to inform you if the VM was successfully started or not using the PowerShell Write-Output cmdlet.

  1. 그래픽 편집기에서 MyFirstRunbook 을 엽니다.Open MyFirstRunbook in the graphical editor.
  2. 구독 ID 지정Start-AzureRmVM 간의 링크를 클릭하고 삭제 키를 눌러 제거합니다.Remove the link between Specify Subscription Id and Start-AzureRmVM by clicking on it and then pressing the Delete key.
  3. 라이브러리 컨트롤에서 검색 텍스트 상자에 Get-AzureRm 을 입력합니다.In the Library control, type Get-AzureRm in the search textbox.
  4. 캔버스에 Get-AzureRmVM 을 추가합니다.Add Get-AzureRmVM to the canvas.
  5. Get-AzureRmVM매개 변수 집합을 차례로 선택하여 Get-AzureRmVM에 대한 집합을 표시합니다.Select Get-AzureRmVM and then Parameter Set to view the sets for Get-AzureRmVM. GetVirtualMachineInResourceGroupNameParamSet 매개 변수 집합을 선택합니다.Select the GetVirtualMachineInResourceGroupNameParamSet parameter set. ResourceGroupName이름 옆에는 느낌표가 있습니다.Note that ResourceGroupName and Name have exclamation points next them. 이것은 매개 변수가 필요하다는 것을 나타냅니다.This indicates that they are required parameters. 또한, 양 쪽 모두에 문자열 값이 필요합니다.Also note both expect string values.
  6. 이름에 대한 데이터 원본에서 Runbook 입력을 선택한 다음 VMName을 선택합니다.Under Data source for Name, select Runbook input and then select VMName. 확인을 클릭합니다.Click OK.
  7. ResourceGroupName에 대한 데이터 원본에서 Runbook 입력을 선택한 다음 ResourceGroupName을 선택합니다.Under Data source for ResourceGroupName, select Runbook input and then select ResourceGroupName. 확인을 클릭합니다.Click OK.
  8. 상태에 대한 데이터 원본에서 상수 값을 선택한 다음 True를 클릭합니다.Under Data source for Status, select Constant value and then click True. 확인을 클릭합니다.Click OK.
  9. 구독 ID 지정에서 Get-AzureRmVM에 대한 링크를 만듭니다.Create a link from Specify Subscription Id to Get-AzureRmVM.
  10. 라이브러리 컨트롤에서 Runbook 컨트롤을 확장하고 캔버스에 코드를 추가합니다.In the library control, expand Runbook Control and add Code to the canvas.
  11. Get-AzureRmVM에서 코드에 대한 링크를 만듭니다.Create a link from Get-AzureRmVM to Code.
  12. 코드를 클릭하고 구성 창에서 레이블을 상태 가져오기로 변경합니다.Click Code and in the Configuration pane, change label to Get Status.
  13. 코드 매개 변수를 선택하면 코드 편집기 블레이드가 나타납니다.Select Code parameter, and the Code Editor blade appears.
  14. 코드 편집기에 다음 코드 조각을 붙여 넣습니다.In the code editor, paste the following snippet of code:

    $StatusesJson = $ActivityOutput['Get-AzureRmVM'].StatusesText
    $Statuses = ConvertFrom-Json $StatusesJson
    $StatusOut =""
    foreach ($Status in $Statuses){
    if($Status.Code -eq "Powerstate/running"){$StatusOut = "running"}
    elseif ($Status.Code -eq "Powerstate/deallocated") {$StatusOut = "stopped"}
    }
    $StatusOut
    
  15. 상태 가져오기에서 Start-AzureRmVM에 대한 링크를 만듭니다.Create a link from Get Status to Start-AzureRmVM.
    코드 모듈과 RunbookRunbook with Code Module
  16. 링크를 선택하고 구성 창에서 조건 적용로 변경합니다.Select the link and in the Configuration pane, change Apply condition to Yes. 링크가 True로 확인되는 조건에서만 대상 활동이 실행된다고 나타내는 파선으로 바뀝니다.Note the link turns to a dashed line indicating that the target activity only runs if the condition resolves to true.
  17. 조건 식$ActivityOutput['Get Status'] -eq "Stopped"를 입력합니다.For the Condition expression, type $ActivityOutput['Get Status'] -eq "Stopped". 이제 가상 컴퓨터가 중지된 경우에만 Start-AzureRmVM이 실행됩니다.Start-AzureRmVM now only runs if the virtual machine is stopped.
  18. 라이브러리 컨트롤에서 CmdletMicrosoft.PowerShell.Utility를 차례로 확장합니다.In the Library control, expand Cmdlets and then Microsoft.PowerShell.Utility.
  19. 캔버스에 Write-Output을 두 번 추가합니다.Add Write-Output to the canvas twice.
    쓰기 출력으로 RunbookRunbook with Write-Output
  20. 첫 번째 Write-Output 컨트롤에서 매개 변수를 클릭하고 레이블 값을 VM 시작 알림으로 변경합니다.On the first Write-Output control, click Parameters and change the Label value to Notify VM Started.
  21. InputObject에 대해, 데이터 원본PowerShell 식으로 변경하고 "$VMName successfully started" 식을 입력합니다.For InputObject, change Data source to PowerShell expression and type in the expression "$VMName successfully started.".
  22. 두 번째 Write-Output 컨트롤에서 매개 변수를 클릭하고 레이블 값을 VM 시작 실패 알림으로 변경합니다.On the second Write-Output control, click Parameters and change the Label value to Notify VM Start Failed
  23. InputObject에서 데이터 원본PowerShell 식으로 변경하고 "$VMName could not start" 식을 입력합니다.For InputObject, change Data source to PowerShell expression and type in the expression "$VMName could not start.".
  24. Start-AzureRmVM에서 VM 중지 알림VM 시작 실패 알림에 대한 링크를 만듭니다.Create a link from Start-AzureRmVM to Notify VM Started and Notify VM Start Failed.
  25. VM 시작 알림 링크를 선택하고 조건 적용True로 변경합니다.Select the link to Notify VM Started and change Apply condition to True.
  26. 조건 식$ActivityOutput['Start-AzureRmVM'].IsSuccessStatusCode -eq $true를 입력합니다.For the Condition expression, type $ActivityOutput['Start-AzureRmVM'].IsSuccessStatusCode -eq $true. 이제 가상 컴퓨터가 성공적으로 시작된 경우에만 이 Write-Output 컨트롤이 실행됩니다.This Write-Output control now only runs if the virtual machine is successfully started.
  27. VM 시작 실패 알림 링크를 선택하고 조건 적용True로 변경합니다.Select the link to Notify VM Start Failed and change Apply condition to True.
  28. 조건 식$ActivityOutput['Start-AzureRmVM'].IsSuccessStatusCode -ne $true를 입력합니다.For the Condition expression, type $ActivityOutput['Start-AzureRmVM'].IsSuccessStatusCode -ne $true. 이제 가상 컴퓨터가 성공적으로 시작되지 않은 경우에만 이 Write-Output 컨트롤이 실행됩니다.This Write-Output control now only runs if the virtual machine is not successfully started.
  29. Runbook을 저장하고 테스트 창을 엽니다.Save the runbook and open the Test pane.
  30. 중지된 가상 컴퓨터로 runbook을 시작합니다.Start the runbook with the virtual machine stopped, and it should start.

다음 단계Next steps