DevTest Labs에서 랩 및 VM의 자동 종료 구성

Azure DevTest Labs 랩 소유자가 주간 또는 야간의 특정 시간에 랩의 모든 VM(가상 머신)을 종료하도록 일정을 구성할 수 있습니다. 사용되지 않는 머신의 실행 비용을 절약할 수 있습니다.

랩 사용자가 자신의 개별 VM에 대해 자동 종료 예약을 할 수 있는지를 제어하는 중앙 자동 종료 정책을 설정할 수도 있습니다. 자동 종료 정책은 VM 소유자가 VM의 종료 일정을 완전히 제어할 수 있도록 하는 것부터 일정을 제어할 수 없도록 하는 것까지 다양합니다.

이 문서에서는 DevTest Labs 랩과 개별 랩 VM에서 자동 종료 일정을 설정하는 방법을 설명합니다. 또한 랩 자동 종료 정책을 설정하는 방법과 자동 종료 알림을 구성하는 방법도 설명합니다.

랩 자동 종료 일정 구성

자동 종료는 주간 또는 야간의 특정 시간에 랩의 모든 VM을 종료하여 랩 낭비를 최소화하는 데 도움이 됩니다. 랩의 자동 종료 일정을 보거나 변경하려면 다음 단계를 따릅니다.

  1. 랩의 홈 페이지에서 구성 및 정책을 선택합니다.

  2. 왼쪽 메뉴의 일정 섹션에서 자동 종료를 선택합니다.

  3. 자동 종료 화면의 사용에서 자동 종료를 사용하려면 켜기를, 사용하지 않으려면 끄기를 선택합니다.

  4. 예약된 종료표준 시간대에서 자동 종료를 켠 경우 모든 랩 VM을 종료할 시간과 표준 시간대를 지정합니다.

  5. 자동 종료 전에 알림을 보내시겠습니까?에서 지정된 자동 종료 시간 30분 전 알림을 보내는 옵션에 대해 또는 아니요를 선택합니다.

    • 를 선택하는 경우 웹후크 URL에서 웹후크 URL 엔드포인트를 입력하거나, 알림을 게시 또는 전송할 보낼 이메일 주소에서 세미콜론으로 구분된 이메일 주소를 입력합니다. 자세한 내용은 자동 종료 알림 섹션을 참조하세요.

    Screenshot showing setting auto shutdown details for a lab.

  6. 저장을 선택합니다.

기본적으로 이 일정은 랩의 모든 VM에 적용됩니다. 정책에 따라 허용되는 경우 특정 VM에서 이 설정을 제거하려면, VM의 관리 창을 열고 해당 자동 종료 설정을 변경합니다.

참고 항목

이전에 예약된 종료 시간의 30분 이내로 랩 또는 VM의 자동 종료 일정을 업데이트하면 새 종료 시간이 그 다음날 적용됩니다.

랩 자동 종료 정책 구성

랩 소유자는 랩의 자동 종료 정책 설정을 관리하여 랩에서 비용을 제어하고 낭비를 최소화할 수 있습니다. 모든 랩 정책을 설정하는 방법을 보려면 Azure DevTest Labs에서 랩 정책 정의를 참조하세요.

Important

자동 종료 정책의 변경 사항은 랩에서 만든 새 VM에만 적용되고 기존 VM에는 적용되지 않습니다.

  1. 랩의 홈 페이지에서 구성 및 정책을 선택합니다.

  2. 왼쪽 메뉴의 일정 섹션에서 자동 종료 정책을 선택합니다.

  3. 옵션 중 하나를 선택합니다.

    Screenshot showing setting auto shutdown policy options.

    • 사용자는 일정을 설정하고 옵트아웃할 수 있음: 랩 사용자가 랩 일정을 재정의하거나 옵트아웃할 수 있습니다. 이 옵션은 VM 소유자에게 VM 자동 종료 일정을 설정할 수 있는 모든 권한을 부여합니다.

    • 사용자가 일정을 설정하지만 옵트아웃할 수는 없습니다. 랩 사용자는 랩 일정을 재정의할 수 있지만 자동 종료 정책을 옵트아웃할 수는 없습니다. 이 옵션은 모든 랩 VM이 자동 종료 일정을 따르도록 보장합니다. VM 소유자는 일정 시간을 업데이트하고 종료 알림을 설정할 수 있습니다.

    • 사용자는 랩 관리자가 설정한 일정을 제어할 수 없습니다. 랩 사용자는 랩 자동 종료 일정을 변경하거나 옵트아웃할 수 없습니다. 이 옵션을 사용하면 랩 관리자가 모든 랩 VM의 일정을 완전히 제어할 수 있습니다. 하지만 VM 소유자는 자신의 VM에 대한 자동 종료 알림을 설정할 수 있습니다.

  4. 저장을 선택합니다.

VM 자동 종료 설정 구성

자동 종료 정책에 따라 개별 랩 VM의 자동 종료 일정도 설정할 수 있습니다.

  1. VM 홈페이지의 왼쪽 메뉴에 있는 작업 섹션에서 자동 종료를 선택합니다.

  2. 자동 종료 화면의 사용에서 자동 종료를 사용하려면 켜기를, 사용하지 않으려면 끄기를 선택합니다.

  3. 예약된 종료표준 시간대에서 자동 종료를 켠 경우 모든 랩 VM을 종료할 시간과 표준 시간대를 지정합니다.

  4. 자동 종료 전에 알림을 보내시겠습니까?에서 지정된 자동 종료 시간 30분 전 알림을 보내는 옵션에 대해 또는 아니요를 선택합니다. 를 선택하는 경우 웹후크 URL에서 웹후크 URL을 입력하거나, 알림을 게시 또는 전송할 이메일 주소에서 이메일 주소를 입력합니다. 자세한 내용은 자동 종료 알림 섹션을 참조하세요.

  5. 저장을 선택합니다.

    Screenshot showing setting auto shutdown details for a virtual machine.

자동 종료 업데이트에 대한 활동 로그 보기

자동 종료 설정을 업데이트하면 VM의 활동 로그에 기록된 활동을 볼 수 있습니다.

  1. VM 홈페이지의 왼쪽 메뉴에서 활동 로그를 선택합니다.

  2. 리소스 필터를 제거하고 적절한 리소스 그룹 필터를 적용한 후 일정 추가 또는 수정 항목을 봅니다.

    Screenshot showing Add or modify schedules in the Activity log.

  3. 일정 추가 또는 수정 작업을 선택하여 작업에 대한 자세한 내용을 보여 주는 요약 페이지를 엽니다.

자동 종료 알림

자동 종료 구성에서 알림을 사용하도록 설정하면 랩 사용자는 자동 종료가 VM에 영향을 미치기 30분 전에 알림을 받습니다. 이 알림을 통해 사용자는 종료되기 전에 작업을 저장할 수 있습니다. 자동 종료 설정에서 이메일 주소를 지정하면 알림이 해당 이메일 주소로 전송됩니다. 설정에서 웹후크를 지정하면 알림이 웹후크 URL로 전송됩니다.

또한 알림은 누군가 계속 작업해야 하는 경우 각 VM에 대해 다음 작업을 허용하는 링크를 제공할 수 있습니다.

  • 이번에는 자동 종료 건너뛰기
  • 1시간 후에 자동 종료 다시 알림
  • 2시간 후에 자동 종료 다시 알림

웹후크를 사용하여 사용자 고유의 알림을 구현할 수 있습니다. 특정 이벤트를 구독하는 통합을 설정합니다. 해당 이벤트 중 하나가 발생하면 HTTP POST 페이로드가 웹후크의 URL로 전송됩니다.

Azure Logic Apps 및 Slack 같은 앱은 웹후크를 광범위하게 지원합니다. 웹후크에 응답하는 방법에 대한 자세한 내용은 Azure Functions HTTP 트리거 및 바인딩 개요 또는 Azure Logic Apps에 대한 HTTP 트리거 추가를 참조하세요.

다음 예제에는 Logic Apps를 사용하여 VM 소유자에게 이메일을 보내는 자동 종료 알림의 구성 방법이 나와 있습니다.

메일 알림을 보내는 논리 앱 생성하기

Logic Apps는 Office 365, Twitter 같은 다른 클라이언트와 서비스를 쉽게 통합할 수 있도록 많은 커넥터를 제공합니다. 논리 앱에서 이메일 알림을 설정하는 단계는 개괄적으로 다음과 같습니다.

  1. 논리 앱 만들기.
  2. 기본 제공 템플릿을 구성합니다.
  3. 이일 클라이언트와 통합합니다.
  4. 자동 종료 알림 설정에서 사용할 웹후크 URL을 가져옵니다.

시작하려면 다음 단계를 사용하여 Azure에서 논리 앱을 만듭니다.

  1. Azure Portal의 맨 위 검색 필드에 논리 앱을 입력한 다음 논리 앱을 선택합니다.

  2. 논리 앱 페이지의 맨 위에서 추가를 선택합니다.

  3. 논리 앱 만들기 페이지에서 다음을 수행합니다.

    속성
    Subscription Azure 구독을 선택합니다.
    Resource group 리소스 그룹을 선택하거나 새로 만듭니다.
    논리 앱 이름. 논리 앱을 설명하는 이름을 입력합니다.
    게시 워크플로
    지역 사용자 근처 또는 논리 앱이 액세스하는 다른 서비스 근처의 지역을 선택합니다.
    플랜 유형 소비. 사용량 플랜을 사용하면 논리 앱 디자이너를 사용하여 앱을 만들 수 있습니다.
    Windows 플랜 기본 ASP(App Service 요금제)를 수락합니다.
    요금제 기본 워크플로 표준 WS1을 수락합니다(총 ACU 210개, 메모리 3.5GB, vCPU 1개).
    영역 중복 기본값인 사용 안 함을 수락합니다.

    Screenshot showing the Create Logic App page.

  4. 검토 + 만들기를 선택하고 유효성 검사를 통과하면 만들기를 선택합니다.

  5. 배포가 완료되면 리소스로 이동을 선택합니다.

다음으로, 기본 제공 템플릿을 구성합니다.

  1. 논리 앱 페이지의 왼쪽 탐색 영역에 있는 배포 도구에서 논리 앱 디자이너를 선택합니다.

  2. 맨 위 메뉴에서 템플릿을 선택합니다.

  3. 템플릿에서 HTTP 요청/응답을 선택합니다.

    Screenshot showing the HTTP Request Response template.

  4. HTTP 요청-응답 페이지에서 이 템플릿 사용을 선택합니다.

    Screenshot showing selecting Use this template.

  5. 다음 JSON 코드를 요청 본문 JSON 스키마 섹션에 붙여넣습니다.

    Screenshot showing the Request Body JSON Schema in the designer.

    {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "properties": {
            "delayUrl120": {
                "type": "string"
            },
            "delayUrl60": {
                "type": "string"
            },
            "eventType": {
                "type": "string"
            },
            "guid": {
                "type": "string"
            },
            "labName": {
                "type": "string"
            },
            "owner": {
                "type": "string"
            },
            "resourceGroupName": {
                "type": "string"
            },
            "skipUrl": {
                "type": "string"
            },
            "subscriptionId": {
                "type": "string"
            },
            "text": {
                "type": "string"
            },
            "vmName": {
                "type": "string"
            },
            "vmUrl": {
                "type": "string"
            },
            "minutesUntilShutdown": {
                "type": "string"
            }
        },
        "required": [
            "skipUrl",
            "delayUrl60",
            "delayUrl120",
            "vmName",
            "guid",
            "owner",
            "eventType",
            "text",
            "subscriptionId",
            "resourceGroupName",
            "labName",
            "vmUrl",
            "minutesUntilShutdown"
        ],
        "type": "object"
    }
    

이제 이메일 클라이언트와 통합합니다.

  1. 디자이너에서 새 단계를 선택합니다.

    Screenshot showing New step in the designer.

  2. 작업 선택 페이지의 검색 필드에 Office 365 Outlook - 이메일 보내기를 입력한 다음 동작에서 이메일 보내기(V2)를 선택합니다.

    Screenshot showing the Send an email V2 option.

  3. 이메일 보내기(V2) 양식에서 받는 사람, 제목, 본문 필드를 입력합니다.

    동적 콘텐츠 추가를 선택하여 앱 및 커넥터에서 사용하는 값으로 알림을 자동으로 채웁니다. 예를 들어 받는 사람에는 소유자를 선택합니다. 제목vmNamelabName으로 채웁니다. skipUrldelayUrl 값과 같은 콘텐츠를 메시지 본문에 추가합니다.

    Screenshot showing shows an example notification email.

  4. 도구 모음에서 저장을 선택합니다.

  5. 이제 웹후크 URL을 복사할 수 있습니다.

    1. HTTP 요청을 받은 경우 단계를 선택한 다음 복사 단추를 선택하여 HTTP POST URL을 클립보드에 복사합니다.

      Screenshot showing copying the webhook URL.

    2. 이 웹후크 URL을 자동 종료 알림 설정에 붙여넣습니다.

      Screenshot showing pasting the webhook URL into the auto-shutdown settings.

    3. 저장을 선택합니다.

다음 단계