작업 시간 외 VM 시작/중지 개요
참고
근무 외 시간 동안 VM 시작/중지 버전 1은 2023년 9월 30일에 만료되므로 현재 마켓플레이스에서 사용할 수 없습니다. 이제 일반 공급되는 버전 2 를 사용하는 것이 좋습니다. 새 버전은 모든 기존 기능을 제공하며 단일 시작/중지 인스턴스의 다중 구독 지원과 같은 새로운 기능을 제공합니다. 버전 1 솔루션을 이미 배포한 경우 해당 기능을 계속 사용할 수 있으며 2023년 9월 30일까지 지원을 제공합니다. 발표의 세부 사항은 곧 공유됩니다.
작업 시간 외 VM 시작/중지 기능은 사용하도록 설정된 Azure VM을 시작하거나 중지합니다. 사용자 정의 일정에 따라 머신을 시작 또는 중지하고, Azure Monitor 로그를 통해 인사이트를 제공하고, 작업 그룹을 사용하여 선택적 메일을 전송합니다. 이 기능은 대부분의 시나리오에서 Azure Resource Manager 및 클래식 VM에서 사용하도록 설정할 수 있습니다.
이 기능은 Start-AzVm cmdlet을 사용하여 VM을 시작하고, Stop-AzVM을 사용하여 VM을 중지합니다.
참고
작업 시간 외 VM 시작/중지는 사용 가능한 최신 버전의 Azure 모듈을 지원하도록 업데이트되었습니다. Microsoft는 AzureRM 모듈을 Az 모듈로 마이그레이션했기 때문에 Marketplace에서 받을 수 있는 이 기능의 업데이트된 버전에서는 AzureRM 모듈을 지원하지 않습니다. Runbook은 새 Azure Az 모듈 cmdlet을 사용하도록 업데이트되었지만, AzureRM 접두사 별칭을 사용합니다.
이 기능은 VM 비용을 최적화하려는 사용자들에게 분산된 저비용 자동화 옵션을 제공합니다. 이 기능을 사용하여 다음과 같은 작업을 수행할 수 있습니다.
- VM 시작/중지 예약
- Azure Tags를 사용하여 VM이 오름차순으로 시작/중지되도록 예약 이 작업은 클래식 VM에서는 지원되지 않습니다.
- 낮은 CPU 사용량을 기준으로 VM 자동 중지
현재 기능의 제한 사항은 다음과 같습니다.
- 모든 지역의 VM을 관리하지만 Azure Automation 계정과 동일한 구독에서만 사용할 수 있습니다.
- Log Analytics 작업 영역, Azure Automation 계정 및 경고를 지원하는 Azure 및 Azure Government의 모든 지역에서 사용할 수 있습니다. Azure Government 지역에서는 현재 메일 기능을 지원하지 않습니다.
사용 권한
VM에서 작업 시간 외 VM 시작/중지 기능을 사용하도록 설정하려면 특정 권한이 있어야 합니다. 필요한 권한은 이 기능에서 미리 생성된 Automation 계정과 Log Analytics 작업 영역을 사용하는지 아니면 새 계정과 작업 영역을 사용하는지에 따라 달라집니다.
구독의 기여자이고 Azure AD(Active Directory) 테넌트의 전역 관리자인 경우에는 권한을 구성할 필요가 없습니다. 이러한 권한이 없거나 사용자 지정 역할을 구성해야 하는 경우에는 다음과 같은 권한이 필요합니다.
기존 Automation 계정 및 Log Analytics 작업 영역에 대한 권한
VM에서 기존 Automation 계정 및 Log Analytics 작업 영역을 사용하여 작업 시간 외 VM 시작/중지 기능을 사용하도록 설정하려면 리소스 그룹 범위에서 다음과 같은 권한이 필요합니다. 역할에 대해 자세히 알아보려면 Azure 사용자 지정 역할을 참조하세요.
사용 권한 | 범위 |
---|---|
Microsoft.Automation/automationAccounts/read | 리소스 그룹 |
Microsoft.Automation/automationAccounts/variables/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/schedules/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/runbooks/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/connections/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/certificates/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/modules/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/modules/read | 리소스 그룹 |
Microsoft.automation/automationAccounts/jobSchedules/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/jobs/write | 리소스 그룹 |
Microsoft.Automation/automationAccounts/jobs/read | 리소스 그룹 |
Microsoft.OperationsManagement/solutions/write | 리소스 그룹 |
Microsoft.OperationalInsights/workspaces/* | 리소스 그룹 |
Microsoft.Insights/diagnosticSettings/write | 리소스 그룹 |
Microsoft.Insights/ActionGroups/Write | 리소스 그룹 |
Microsoft.Insights/ActionGroups/read | 리소스 그룹 |
Microsoft.Resources/subscriptions/resourceGroups/read | 리소스 그룹 |
Microsoft.Resources/deployments/* | 리소스 그룹 |
버전 1의 구성 요소
작업 시간 외 VM 시작/중지 기능에는 미리 구성된 Runbook, 일정 및 Azure Monitor 로그와의 통합이 포함됩니다. 이러한 요소를 사용하여 비즈니스 요구 사항에 맞게 VM의 시작 및 중지를 맞춤 설정할 수 있습니다.
버전 1용 Runbook
다음 표에는 Automation 계정에 대한 배포를 포함하는 Runbook이 나와 있습니다. Runbook 코드를 변경하지 마세요. 대신, 새 기능에 대한 고유한 Runbook을 작성할 수는 있습니다.
중요
이름 뒤에 child가 붙은 Runbook은 직접 실행하지 마세요.
모든 부모 Runbook에는 WhatIf
매개 변수가 포함됩니다. 이 매개 변수가 True로 설정되면 이 매개 변수 없이 실행될 때 Runbook이 수행하는 정확한 동작에 대한 자세한 설명을 지원하며, 올바른 VM이 대상으로 지정되었는지 확인합니다. Runbook은 WhatIf
매개 변수가 False로 설정된 경우에만 정의된 작업을 수행합니다.
Runbook | 매개 변수 | Description |
---|---|---|
AutoStop_CreateAlert_Child | VMObject AlertAction WebHookURI |
부모 Runbook에서 호출됩니다. 이 Runbook은 AutoStop 시나리오에서 리소스 기준으로 경고를 만듭니다. |
AutoStop_CreateAlert_Parent | VMList WhatIf: True 또는 False |
대상 구독 또는 리소스 그룹에서 VM에 대해 Azure 경고 규칙을 만들거나 업데이트합니다. VMList 은(는) 쉼표로 구분된 VM 목록(공백 없음)입니다(예: vm1,vm2,vm3 ).WhatIf 는 Runbook 논리를 실행하지 않고 유효성을 검사합니다. |
AutoStop_Disable | None | AutoStop 경고 및 기본 일정을 사용하지 않도록 설정합니다. |
AutoStop_VM_Child | WebHookData | 부모 Runbook에서 호출됩니다. 경고 규칙은 이 Runbook을 호출하여 클래식 VM을 중지합니다. |
AutoStop_VM_Child_ARM | WebHookData | 부모 Runbook에서 호출됩니다. 경고 규칙은 이 Runbook을 호출하여 VM을 중지합니다. |
ScheduledStartStop_Base_Classic | CloudServiceName 작업: 시작 또는 중지 VMList |
클래식 VM 그룹에서 Cloud Services에 의해 작업 시작 또는 중지를 수행합니다. |
ScheduledStartStop_Child | VMName 작업: 시작 또는 중지 ResourceGroupName |
부모 Runbook에서 호출됩니다. 예약된 중지에서 시작 또는 중지 작업을 실행합니다. |
ScheduledStartStop_Child_Classic | VMName 작업: 시작 또는 중지 ResourceGroupName |
부모 Runbook에서 호출됩니다. 클래식 VM의 예약된 중지에서 시작 또는 중지 작업을 실행합니다. |
ScheduledStartStop_Parent | 작업: 시작 또는 중지 VMList WhatIf: True 또는 False |
구독의 모든 VM을 시작 또는 중지합니다. 이러한 대상이 지정된 리소스 그룹에서만 실행되도록 하려면 변수 External_Start_ResourceGroupNames 및 External_Stop_ResourceGroupNames 를 편집합니다. External_ExcludeVMNames 변수를 업데이트하여 특정 VM을 제외할 수도 있습니다. |
SequencedStartStop_Parent | 작업: 시작 또는 중지 WhatIf: True 또는 False VMList |
시작/중지 작업을 시퀀스하려는 각 VM에서 sequencestart 및 sequencestop이라는 태그를 만듭니다. 이 태그 이름은 대/소문자를 구분합니다. 태그 값은 시작하거나 중지하려는 순서에 해당하는 양의 정수 목록(예: 1,2,3 )이어야 합니다. 참고: VM은 External_Start_ResourceGroupNames , External_Stop_ResourceGroupNames , External_ExcludeVMNames 변수에 정의된 리소스 그룹에 있어야 합니다. 작업이 적용되려면 적절한 태그가 있어야 합니다. |
버전 1의 변수
다음 표에는 Automation 계정에서 만든 변수가 나열되어 있습니다. External
접두사가 붙은 변수만 수정하세요. Internal
접두사가 붙은 변수를 수정하면 원치 않는 결과가 발생합니다.
참고
VM 이름 및 리소스 그룹에 적용되는 제한 사항은 주로 변수 크기로 인한 것입니다. Azure Automation에서 변수 관리를 참조하세요.
참고
변수 External_WaitTimeForVMRetryInSeconds
의 기본값이 600에서 2100으로 업데이트되었습니다.
AutoStop_CreateAlert_Parent, SequencedStartStop_Parent 및 ScheduledStartStop_Parent Runbook의 쉼표로 구분된 VM 목록을 제외하고, 모든 시나리오에서 VM을 대상으로 지정하려면 External_Start_ResourceGroupNames
, External_Stop_ResourceGroupNames
및 External_ExcludeVMNames
변수가 필요합니다. 즉, 시작 및 중지 작업이 진행되려면 VM이 대상 리소스 그룹에 있어야 합니다. 이 논리는 구독 또는 리소스 그룹을 대상으로 지정할 수 있고 새로 만든 VM에서 작업이 상속된다는 측면에서 Azure Policy와 유사하게 작동합니다. 이 방법을 사용하면 모든 VM에 대해 별도 일정을 유지하고 시작 및 중지를 전체적으로 관리할 필요가 없습니다.
버전 1에 대한 일정
참고
이 문서는 Log Analytics 대신 Azure Monitor 로그라는 용어를 사용하도록 최근에 업데이트되었습니다. 로그 데이터는 여전히 Log Analytics 작업 영역에 저장되며 동일한 Log Analytics 서비스에 의해 계속 수집 및 분석됩니다. Azure Monitor에서 로그의 역할을 보다 잘 반영하기 위해 용어를 업데이트하고 있습니다. 자세한 내용은 Azure Monitor 용어 변경을 참조하세요.
버전 1에 대한 기능 보기
다음 메커니즘 중 하나를 사용하여 사용하도록 설정된 기능에 액세스합니다.
Automation 계정의 관련 리소스 아래에서 VM 시작/중지를 선택합니다. VM 시작/중지 페이지의 VM 시작/중지 솔루션 관리 아래에서 솔루션 관리를 선택합니다.
Automation 계정에 연결된 Log Analytics 작업 영역으로 이동합니다. 작업 영역을 선택한 다음 왼쪽 창에서 솔루션을 선택합니다. 솔루션 페이지의 목록에서 Start-Stop-VM[workspace] 를 선택합니다.
기능을 선택하면 Start-Stop-VM[workspace] 페이지가 표시됩니다. 여기에서 StartStopVM 타일에 있는 정보와 같은 중요한 세부 정보를 검토할 수 있습니다. Log Analytics 작업 영역에서와 마찬가지로 이 타일에는 성공적으로 시작되고 완료된 기능에 대한 Runbook 작업의 수와 그래픽 표현이 나타납니다.
도넛형 타일을 클릭하면 작업 레코드의 추가 분석을 수행할 수 있습니다. 대시보드에는 작업 기록 및 미리 정의된 로그 검색 쿼리가 표시됩니다. 검색 쿼리를 기반으로 검색하려면 Log Analytics 고급 포털로 전환합니다.
다음 단계
사용자 환경에 있는 VM에서 이 기능을 사용하도록 설정하려면 작업 시간 외 VM 시작/중지 사용을 참조하세요.