Azure Automation에서 VS Code를 통해 Runbook 작성
이 문서에서는 Runbook을 만들고 관리하는 데 사용할 수 있는 Visual Studio 확장에 대해 설명합니다.
Azure Automation엣는 Runbook을 만들고 관리하기 위한 VS Code의 새 확장을 제공합니다. 이 확장을 사용하여 Runbook 만들기 및 편집, 작업 트리거, 최근 작업 출력 추적, 일정 연결, 자산 관리 및 로컬 디버깅과 같은 모든 Runbook 관리 작업을 수행할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- Visual Studio Code
- Runbook을 로컬로 실행하려면 Runbook에서 사용하는 PowerShell 모듈 및 Python 패키지를 컴퓨터에 로컬로 설치해야 합니다.
지원되는 운영 체제
테스트 매트릭스에는 다음 운영 체제가 포함됩니다.
- Windows PowerShell 5.1 및 PowerShell Core 7.2.7이 포함된 Windows Server 2022
- Windows PowerShell 5.1 및 PowerShell Core 7.2.7이 포함된 Windows Server 2019
- PowerShell Core 7.2.7을 포함하는 macOS 11
- PowerShell Core 7.2.7을 포함하는 Ubuntu 20.04
참고 항목
- 이 확장은 VS Code의 어디에서나 작동하며 PowerShell 7.2 이상을 지원합니다. Windows PowerShell의 경우 버전 5.1만 지원됩니다.
- PowerShell Core 6은 수명이 종료되며 지원되지 않습니다.
주요 기능
- 간소화된 온보딩 – 간단하고 안전한 방법으로 Azure 계정을 사용하여 로그인할 수 있습니다.
- 여러 언어 - PowerShell 5, PowerShell 7, Python 2 및 Python 3 Runbook과 같은 모든 Automation 런타임 스택을 지원합니다.
- 지원 가능성 - Azure 및 Hybrid Worker에서 작업 테스트 실행, Automation 작업 게시 및 작업 트리거를 지원합니다. Runbook을 로컬로 실행할 수 있습니다.
- 작업을 트리거하기 위한 Python 위치 매개 변수 및 PowerShell 매개 변수를 지원합니다.
- Webhook 간소화 – Webhook를 만들고, 더 간단한 방법으로 Webhook를 통해 작업을 시작할 수 있습니다. 또한 Runbook에 일정을 연결하도록 지원합니다.
- Automation 자산 관리 – 인증서, 변수, 자격 증명 및 연결을 비롯한 자산에 대해 만들기, 업데이트 및 삭제 작업을 수행할 수 있습니다.
- 속성 보기 – 속성을 보고 Hybrid Worker 그룹을 선택하여 하이브리드 작업을 실행하고 최근 실행된 10개의 작업을 볼 수 있습니다.
- 로컬로 디버그 - PowerShell 스크립트를 로컬로 디버그할 수 있습니다.
- Runbook 비교 - 로컬 Runbook을 게시된 Runbook 또는 초안 Runbook 복사본과 비교할 수 있습니다.
v1.0.8의 주요 기능
로컬 디렉터리 구성 설정 - Runbook을 로컬로 저장하려는 작업 디렉터리를 정의할 수 있습니다.
- 디렉터리 변경:기본 경로 - Visual Studio Code IDE를 다시 열 때 변경된 디렉터리 경로를 사용합니다. 명령 팔레트를 사용하여 디렉터리를 변경하려면 Ctrl+Shift+P -> 디렉터리 변경을 선택합니다. 확장 구성 설정에서 기본 경로를 변경하려면 왼쪽의 작업 표시줄에서 관리 아이콘을 선택하고 설정 > 확장 > Azure Automation > 디렉터리:기본 경로로 이동합니다.
- 디렉터리 변경:폴더 구조 - 로컬 디렉터리 폴더 구조를 vscodeAutomation/accHash에서 subscription/resourceGroup/automationAccount로 변경할 수 있습니다. 왼쪽의 작업 표시줄에서 관리 아이콘을 선택하고 설정 > 확장 > Azure Automation > 디렉터리:폴더 구조로 이동합니다. 기본 구성 설정을 vscodeAutomation/accHash에서 subscription/resourceGroupe/automationAccount 형식으로 변경할 수 있습니다.
참고 항목
자동화 계정이 소스 제어와 통합된 경우 GitHub 리포지토리의 Runbook 폴더 경로를 디렉터리 경로로 제공할 수 있습니다. 예를 들어 디렉터리를 C:\abc로 변경하면 Runbook이 C:\abc\vscodeAutomation.. 또는 C:\abc//subscriptionName//resourceGroupName//automationAccountName//runbookname.ps1에 저장됩니다.
Runbook 관리 작업 - Runbook을 만들고, 초안 Runbook을 가져오고, 게시된 Runbook을 가져오고, 편집기에서 로컬 Runbook을 열고, 로컬 Runbook을 게시된 또는 초안 Runbook 복사본과 비교하고, 초안으로 업로드하고, Runbook을 게시하고, Automation 계정에서 Runbook을 삭제할 수 있습니다.
Runbook 실행 작업 - 스크립트에 중단점을 추가할 수 있도록 하여 Automation 작업 시작, Automation 테스트 작업 시작, 작업 출력 보기 및 디버그 모드에서 PowerShell Runbook의 로컬 버전 실행과 같은 Automation 작업의 로컬 버전을 실행할 수 있습니다.
참고 항목
현재, 암호화되지 않은 자산의 경우에만
Get-AutomationVariable
과 같은 내부 cmdlet의 사용을 지원합니다.일정, 자산 및 Webhook 작업 - 일정의 속성을 보고, 일정을 삭제하고, 일정을 Runbook에 연결할 수 있습니다.
Webhook 추가 - Runbook에 Webhook를 추가할 수 있습니다.
자산의 속성 업데이트 - 확장에서 인증서, 연결, 자격 증명, 변수 및 자산 삭제와 같은 자산의 속성을 만들고, 업데이트하고, 볼 수 있습니다.
제한 사항
현재, 다음 기능은 지원되지 않습니다.
- 새 일정 만들기
- 자산에 새 인증서 추가
- 확장에서 모듈(PowerShell 및 Python) 패키지 업로드
- 로컬 Runbook을 Azure Automation 계정에 자동 동기화 Runbook 가져오기 또는 게시 작업을 수행해야 합니다.
- Hybrid Worker 그룹 관리
- 그래픽 Runbook 및 워크플로
- Python의 경우 디버그 옵션을 제공하지 않습니다. Python 스크립트에 디버거 확장을 설치하는 것이 좋습니다.
- 현재는 로컬 실행에서 암호화되지 않은 자산만 지원합니다.
다음 단계
- Runbook 관리 작업에 대해 알아보고 Runbook 및 작업을 테스트하려면 Visual Studio Code용 Azure Automation 확장 사용을 참조하세요.