명령줄을 사용하여 DevTest Labs의 가상 머신 시작 및 중지
이 문서에서는 Azure PowerShell 또는 Azure CLI 명령줄 및 스크립트를 사용하여 Azure DevTest Labs VM(가상 머신)을 시작하거나 중지하는 방법을 보여줍니다.
Azure Portal을 사용하여 DevTest Labs VM을 시작, 중지 또는 다시 시작할 수 있습니다. 포털을 사용하여 랩 VM에 대한 자동 시작 및 자동 종료 일정 및 정책을 구성할 수도 있습니다.
랩 VM에 대한 시작 또는 중지를 스크립트하거나 자동화하려면 PowerShell 또는 Azure CLI 명령을 사용합니다. 예를 들어 시작 또는 중지 명령을 사용하여 다음을 수행할 수 있습니다.
- 계층이 순서대로 시작되어야 하는 3계층 애플리케이션을 테스트합니다.
- 사용자 지정 기준을 충족하면 비용을 절약하기 위해 VM을 끕니다.
- CI/CD(연속 통합 및 지속적인 업데이트) 워크플로가 시작될 때 시작하고, 완료되면 중지합니다. 이 워크플로의 예는 Azure DevOps에서 이미지 팩터리 실행을 참조하세요.
필수 조건
- DevTest Labs의 랩 VM.
- Azure PowerShell의 경우 워크스테이션에 설치된 Az PowerShell 모듈입니다. 최신 버전이 있는지 확인합니다. 필요한 경우
Update-Module -Name Az
를 실행하여 모듈을 업데이트합니다. - Azure CLI의 경우 워크스테이션에 Azure CLI가 설치됩니다.
Azure PowerShell 스크립트
다음 PowerShell 스크립트는 Invoke-AzResourceAction을 사용하여 랩에서 VM을 시작하거나 중지합니다. ResourceId
매개 변수는 시작하거나 중지하려는 랩 VM에 대한 정규화된 ID입니다. Action
매개 변수는 필요한 작업에 따라 VM을 시작하거나 중지할지 여부를 결정합니다.
워크스테이션에서 PowerShell Connect-AzAccount cmdlet을 사용하여 Azure 계정에 로그인합니다. 여러 Azure 구독이 있는 경우
Set-AzContext
줄의 주석 처리를 제거하고 사용하려는<Subscription ID>
를 채웁니다.# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # Set-AzContext -SubscriptionId "<Subscription ID>"
<lab name>
및<VM name>
에 대한 값을 제공하고<Start or Stop>
에 대해 원하는 작업을 입력합니다.$devTestLabName = "<lab name>" $vMToStart = "<VM name>" # The action on the virtual machine (Start or Stop) $vmAction = "<Start or Stop>"
$vmAction
에 전달한 값에 따라 VM을 시작하거나 중지합니다.# Get the lab information $devTestLab = Get-AzResource -ResourceType 'Microsoft.DevTestLab/labs' -ResourceName $devTestLabName # Start or stop the VM and return a succeeded or failed status $returnStatus = Invoke-AzResourceAction ` -ResourceId "$($devTestLab.ResourceId)/virtualmachines/$vMToStart" ` -Action $vmAction ` -Force if ($returnStatus.Status -eq 'Succeeded') { Write-Output "##[section] Successfully updated DTL machine: $vMToStart, Action: $vmAction" } else { Write-Error "##[error] Failed to update DTL machine: $vMToStart, Action: $vmAction" }
Azure CLI 스크립트
다음 스크립트는 랩 VM을 시작하거나 중지하기 위한 Azure CLI 명령을 제공합니다. 이 스크립트의 변수는 명령 프롬프트와 같은 Windows 환경을 위해 사용됩니다. Bash 또는 기타 환경에는 약간의 변형이 있습니다.
수행할
<Subscription ID>
,<lab name>
,<VM name>
및<Start or Stop>
작업에 적절한 값을 제공합니다.set SUBSCRIPTIONID=<Subscription ID> set DEVTESTLABNAME=<lab name> set VMNAME=<VM name> set ACTION=<Start or Stop>
Azure 계정에 로그인합니다. Azure 구독이 여러 개인 경우 제공한 구독 ID를 사용하려면
az account set
줄의 주석 처리를 제거합니다.az login REM az account set --subscription %SUBSCRIPTIONID%
랩이 포함된 리소스 그룹의 이름을 가져옵니다.
az resource list --resource-type "Microsoft.DevTestLab/labs" --name %DEVTESTLABNAME% --query "[0].resourceGroup"
<resourceGroup>
을 이전 단계에서 얻은 값으로 바꿉니다.set RESOURCEGROUP=<resourceGroup>
명령줄을 실행하여
ACTION
에 전달한 값을 기반으로 VM을 시작하거나 중지합니다.az lab vm %ACTION% --lab-name %DEVTESTLABNAME% --name %VMNAME% --resource-group %RESOURCEGROUP%